Họ đang đo gì
Bạn có xử lý được câu hỏi mở không. Đề bài cố tình mơ hồ — im lặng vẽ ngay là đã trượt một phần.
Trả lời ngắn~30 giây
Bốn phút làm rõ yêu cầu: ai dùng, chức năng nào bắt buộc, cái gì rõ ràng nằm ngoài phạm vi. Rồi ước lượng con số: bao nhiêu người dùng hoạt động, tỷ lệ đọc/ghi, kích thước dữ liệu — vì chính con số quyết định thiết kế. Sau đó mới vẽ đường đi của một request từ đầu tới cuối, thiết kế mô hình dữ liệu, rồi mới nói tới mở rộng. Cuối cùng dành năm phút cho phần thất bại: cái gì hỏng trước, và bạn phát hiện bằng cách nào.
Giải thích sâu
Lý do làm rõ yêu cầu được chấm cao là vì nó mô phỏng đúng công việc thật: không ai đưa bạn một đặc tả đầy đủ. Câu hỏi tốt nghe rất bình thường — “có cần hỗ trợ chỉnh sửa sau khi đăng không?”, “dữ liệu cũ có phải giữ mãi không?” — và mỗi câu loại bỏ một nhánh thiết kế lớn. Người phỏng vấn thường có sẵn ràng buộc trong đầu và chờ bạn hỏi ra.
Về ước lượng, không cần chính xác — cần đúng bậc. 1 triệu người dùng hoạt động hằng ngày, mỗi người 10 hành động là 10 triệu sự kiện/ngày, chia cho 86.400 giây ra khoảng 120/giây trung bình, và đỉnh thường gấp 3–5 lần. Con số đó nói ngay rằng đây KHÔNG phải bài toán cần Kafka. Rất nhiều ứng viên bỏ qua bước này rồi thiết kế cho quy mô lớn hơn thực tế trăm lần.
Phần thất bại là thứ phân biệt junior với senior rõ nhất. Ai cũng vẽ được đường đi thành công. Nói được “nếu cache chết thì database nhận gấp mười lần lưu lượng, nên cần circuit breaker và giới hạn đồng thời” là một tín hiệu hoàn toàn khác. Nếu sắp hết giờ, hãy chủ động nói ra phần này thay vì để nó rơi.
Câu hỏi tiếp theo họ sẽ hỏi
?Không biết một thành phần thì nên làm gì?
Nói thẳng, rồi mô tả bằng thứ bạn biết: “mình chưa dùng Cassandra, nhưng thứ mình cần ở đây là ghi cao và truy vấn theo khoá phân mảnh — nếu Cassandra làm được thì nó hợp”. Điều đó vẫn ghi điểm; đoán bừa thuật ngữ thì mất điểm gấp đôi.
Trả lời thế này là mất điểm
- Vẽ ngay hộp và mũi tên trong hai phút đầu. Bạn đang trả lời một câu hỏi mà chưa ai đặt ra.
- Nhét mọi công nghệ nghe tên vào sơ đồ. Mỗi hộp bạn vẽ là một hộp bạn phải bảo vệ được.