I applied through linkedin and received the test link within 24 hrs of applying.
Screening Online Test: It was a hackerrank test with medium-hard coding questions. There were two questions one was leetcode medium difficulty and one was leetcode hard. I am not sure of the cutoff as I was able to pass all the test cases for both the questions.
Onsites: All of these rounds happened on the same day.
Round-1: Coding round [1hr] [Level: Medium Difficulty] : Questions were of leetcode medium difficulty level, you are expected to write working solution for both the questions, they test the solution on the coding platform with hidden test cases.
Was able to complete both the questions.*
Round-2: Coding round [1hr] [Level: Medium Difficulty]: Same as round 1. 2 questions were asked of leetcode medium difficulty. Was able to solve one question completely and for 2-3 test cases were not passing due to some out of bounds error in integer and long.
Round 3: System Design[1hr][Level: Medium Difficulty]: One open ended problem statement was given and it was not same as the standard system design problems which we watch in general YouTube videos. First 30 mins we discussed the low level design with Proper Class definitions[Including data members and member functions], Interfaces and Interactions among classes for discussed functional requirements. Then in the next 30 mins we moved to the high level design of the system and discussed different approaches. Time management is very important for this round as we have to discuss both low level and high level design in 1 hr.
Round 4: Managerial [1hr] [Level: Medium Difficulty]: Past work experiences were discussed in detail, system design questions related to e-commerce domain since I have worked with e-commerce company. General HM round questions. It was a mix of technical and managerial 60% technical 40% managerial.
Tips: Leetcode Medium and Hard questions would be suffice to clear coding rounds. Striver SDE sheet was very helpful for quick revision of major concepts before interview.
Low level design: https://lnkd.in/ditJeBVd
High level design: https://lnkd.in/dFu_Wc8n
For low level design practice is very important as you have to finish in time. Be thorough with Core Java and multithreading concepts.
For high level design read blogs of companies like uber, Netflix. Youtube videos of high level design are good for revision but for in depth knowledge reading blogs and real life experiences would help.