First round: technical interview. The interviewer was based in China.
The interview leaned toward backend fundamentals, databases, middleware, and web protocols, followed by one algorithm problem.
- Deep dive into resume projects
The interviewer asked about past projects on my resume, focusing on project architecture, the reasons for technical choices, and implementation details from the business logic.
- Middleware: Kafka and Message Queues
I was asked about Kafka and the principles and characteristics of message queues.
- MySQL indexes
The questions covered the leftmost-prefix principle for composite indexes and why a covering index can improve query speed, including how it works underneath.
- Cache problems
I was asked about cache breakdown: what it is, why it happens, and how to solve it.
- Web protocols
I had to introduce RESTful APIs, their design conventions, and their basic form, then compare WebSocket with server-sent events. There was also a project-scenario question: when building an AI agent runtime, why did I choose ordinary web calls instead of WebSocket? This tested whether the technology choice fit the business scenario.
- Database architecture migration
The scenario was a migration from MySQL to MongoDB. Why would we make that move? How did the architectures compare, what benefits did the migration bring, and how much did performance improve?
I did not answer this well. I did not understand the applicable scenarios and architectural differences between the two databases well enough, so I still needed to strengthen my understanding of SQL versus NoSQL selection.
- Algorithm problem
Most of the interview time went into my resume. At the end, there was a token LeetCode-style question: reconstruct a binary tree from its preorder and postorder traversals using depth-first search.
Discussion
Loading comments…