Round 1
Questions:
- Given a String "Hello Epam, how are you ?", print the frequency of each word using streams only.
- Rotate a linked list by K spots.
- Groups anagrams together // [eat, tea, tan, ate, nat, bat].
Working code expected for all of them.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2
Questions:
- Big Integer multiplication, given number as String multiply them and store the result as string and return. Consider edge cases such as multiplication with "-0" etc.
Follow-up questions included:
- Questions on design patterns: Singleton, Builder, Factory, Strategy, Observer, etc.
- Circuit breaker design pattern.
- Questions from the candidate's resume.
- Questions on Spring Boot.
Candidate's Approach
The candidate was able to solve the Big Integer multiplication question within 35 minutes, after which the interviewer asked a variety of questions due to having extra time.
Interviewer's Feedback
The interviewer seemed happy with the candidate's answers, indicating a positive impression.
Round 3
Questions:
- Microservices architecture.
- Responsibilities in the current project.
- CQRS design pattern.
- How to improve the resiliency of a service.
- Difference between map and flatmap.
- Are Java streams lazy? If yes, please explain how.
- Questions on SQL vs NoSQL.
This round was full of theory-based questions.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Compensation details: 23 fixed + 2 Joining Bonus.
Outcome: Rejected the offer (no scope of negotiations).
Candidate's Note: If you are grilling so much then at least come up with good numbers.