Round 1
Questions:
- Questions from resume and project, and explanation of my project and its architecture.
- How will you design a REST API? Expected in-depth explanation, best practices.
- Touched upon Richardson maturity model and HATEOS, but not in-depth; just asked whether I am aware of it.
- Java 8 features.
- Question on streams using flatMap on a list of objects; just wanted to test whether I am aware of flatMap and how to use it. This small snippet he asked me to code on the laptop.
- Microservices patterns - I told I didn't work on patterns, and he left the topic.
- Questions on best practices, code review, SonarQube, and how we do it in our current project.
- Questions on SOLID principles, specifically asked me to explain the Liskov Substitution Principle, and an overview of others.
- Questions on Design patterns, asked about scenarios where Builder and Strategy are used and their explanation.
Candidate's Approach
The interviewer focused on the candidate's existing knowledge, probing deeply into areas where the candidate was confident. The candidate explained their project architecture and discussed REST API design principles, Java 8 features, and provided a coding snippet using flatMap. They also touched on best practices in code reviews and SOLID principles, particularly the Liskov Substitution Principle.
Interviewer's Feedback
The interviewer primarily focused on assessing the depth of knowledge in areas the candidate was familiar with, rather than penalizing them for gaps in knowledge. The candidate was able to demonstrate a strong understanding of the topics discussed.