After applying online after seeing job posting on Indeed.
1) Initial phone screening. Generic hi-hello, how much you know about this technology etc. kind of stuff.
2) HackerRank online coding test for 1.5 hours. The entire test of 7 questions, it had 5 multiple choice questions, 1 problem testing OOP knowledge and 1 Cracking The Code Book type problem. The last question was the toughest and took almost an hour to solve with 3-4 test cases failing. The last two questions have the most weightage. Final score is never disclosed but every successful test case adds to the score.
3) Technical phone interview with hiring manager/development manager for about 30-45 minutes.
4) On-site interview which went on for approximately 4.5 hours with different people.
-- 1st round with two senior development managers, covering my background, what I knew about the company and product, open-ended questions, questions regarding past projects and work, mobile apps, database indexing, spring, java, what I liked in some other languages that I would like to see in Java. Some behavioral questions like what the most challenging thing you have ever done, what do you do in pass time, why you want to leave your current company.
-- 2nd round with 3 engineers from the team, basic background questions, some questions about Spring framework and past projects. One system design question.
-- 3rd round with HR. General behavioral, salary expectations, visa, company culture etc.
-- 4th round a pair-programming coding challenge with a developer in the team and the manager as a product owner. They look at the approach, communication and surely the solution.
5) Final phone interview with a manager sitting in California. Discussed about career, goals, climate change, Elon Musk, books, different languages and cultures, Honeywell principles, and my background.
Very satisfied with the entire process, people are very helpful.