Top 30 Câu Hỏi Phỏng Vấn Backend 2026
Hãy giải thích các loại index và cách tối ưu query khi database bị chậm.
Vì sao query vẫn chậm dù đã có index? Bạn debug thế nào?
N+1 query problem là gì và cách xử lý?
OFFSET vs cursor pagination — nên chọn khi nào?
Khi nào nên dùng SQL vs NoSQL? Trade-off?
Normalization vs denormalization — đánh đổi điều gì?
Làm sao xử lý nhiều request cùng cập nhật một resource? (ví dụ chỉ còn 1 sản phẩm)
Optimistic vs pessimistic locking — chọn thế nào?
Transaction isolation levels ảnh hưởng gì đến data consistency?
Deadlock là gì và cách phòng tránh?
Idempotency là gì? Làm sao ngăn double charge / double order?
Bạn sẽ scale hệ thống từ nghìn lên triệu user như thế nào?
Làm sao xác định bottleneck trong một hệ thống backend?
Vertical vs horizontal scaling — khi nào dùng mỗi loại?
Thiết kế caching strategy hiệu quả gồm những gì? Cache nên đặt ở đâu?
Cache invalidation là gì và vì sao nó khó?
Khi nào cache gây hại thay vì giúp tăng performance?
Hãy design một URL shortener có thể scale lớn.
Design hệ thống gửi email / notification hàng loạt.
Design một rate limiter để chống abuse.
Làm sao đảm bảo high availability và fault tolerance?
Circuit breaker là gì? Khi nào cần dùng?
Làm sao export hoặc xử lý hàng triệu records mà không làm crash server?
Streaming vs buffering — khác nhau ra sao và dùng khi nào?
Message queue giải quyết vấn đề gì? Khi nào nên dùng event-driven architecture?
Hãy thiết kế một hệ thống Authentication & Authorization an toàn — JWT hoạt động thế nào, khi nào không nên dùng JWT, và password nên được hash ra sao?
REST vs GraphQL — ưu nhược điểm và khi nào nên chọn mỗi loại?
Thiết kế API versioning thế nào để không phá vỡ client?
PUT vs PATCH khác nhau ra sao? Retry và timeout nên thiết kế thế nào?
Một endpoint đột nhiên latency tăng cao hoặc server CPU 100% — bạn sẽ điều tra và xử lý theo thứ tự nào?









