Round 1
Questions:
- Asked to code in JAVA only (though I have work experience in Java, I prefer cpp stl for coding).
- Asked to code in notepad.
- Find sum of elements in tree, by adding sum=leftsum+rightsum+currsum.
- Insert linkedlist2 at nth position linkedlist1 (Handle all edge cases).
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2
Questions:
-
Design your own library which can invoke REST calls to external systems.
Functional requirements:
- Provide clients to invoke POST and GET calls.
- Ability to select choice of implementation during the invocation -> Spring Rest Template / Apache HttpClient / OkHttpClient, etc.
Non-functional requirements:
- Design should adhere to OOPs and SOLID principles.
- Ease of adding new choice of implementation.
- Code should be unit testable.
-
Questions faced on my design:
- Which pattern should you use?
- Why factory? Why not strategy? Can composite pattern be used?
- When do we use factory and when strategy?
- There is an interface which has 3 abstract methods. Now already there is a production running code which has 2 concrete implementations implementing this interface. Now I have a new implementation which has to just implement 2 abstract methods in the interface, how to handle this?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 3
Questions:
- Where do you see yourself in the next 5 years?
- What do you do when a friend doesn't cooperate?
- Explain the complete architecture of your feature in your work.
- Unit test cases for it.
- How do you scale from 100 to 1M requests?
- Why SQL for your feature?
- How to rate limit?
- How would you design error messages and automatic alerts?
- How would you check for bugs?
- How do you maintain code reviews?
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 4
Questions:
- Basic HR questions.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.