A Summary of 12 Questions I Got in the Final Interview (Backend)
I didn't get the job, but I'm writing this down for future interviews. Organized by category, it looks like this.
1. If you assume a situation where a lot of traffic hits the project, how would you resolve DB lock contention?
2. How did you maintain data consistency when applying Redis cache?
3. How would you solve INSERT performance degradation in a table with many indexes?
4. If there are 20 servers, what structure would be good for log collection?
5. Explain a case where Docker layer cache breaks.
6. Have you ever actually applied the event sourcing pattern?
7. What percentage test coverage do you aim for?
8. What do you consider the most important criteria in code review?
9. How would you react if a colleague criticized your code?
10. Where do you see yourself in this company a year from now?
11. What do you consider important when negotiating salary?
12. Any final questions you'd like to ask?
I failed because I couldn't answer the first four properly. Even though I knew the concepts, I panicked when asked how to apply them in real situations. I realized again that I need to be able to answer why I used Redis in my project.
4 answers
The first four can be quite baffling without operations experience lol, but it's still good to keep a record.
I'll save this. I'll refer to it later when I'm preparing for interviews too.
Question 7 about test coverage is also ambiguous. I usually said I aim for 80% coverage on core logic only, and it's fine if the rest is lower. But for question 9, honestly, it would have been better to answer that it's 'feedback' rather than 'criticism', since it's a question where the interviewer assesses your tendencies.
Well, this just lists the questions, so it probably won't be much help. Follow-up questions are what really matter in interviews. Especially for #2, answering 'maintained' makes it look shallow. You need to be able to explain the trade-offs and how you ensured consistency, but that's missing here.