Câu hỏi phỏng vấn thử cho kỹ sư phần mềm
Bởi Aaron Cao · Cập nhật
Luyện tập bốn nhóm: câu hỏi mở đầu và động lực mà mọi vòng đều bắt đầu bằng, tìm hiểu sâu về dự án với các câu hỏi tiếp theo hóc búa, câu hỏi kỹ thuật đặc thù của vai trò, và những câu chuyện về hợp tác và thất bại mà các vòng hành vi thường xoay quanh. Câu hỏi tiếp theo quan trọng hơn câu hỏi chính; hãy luyện tập vượt qua chúng.
Câu mở đầu và động lực: những câu hỏi mọi vòng đều bắt đầu
Buổi phỏng vấn kỹ thuật phần mềm mở đầu như mọi buổi phỏng vấn khác, và các kỹ sư liên tục thiếu luyện tập phần này vì nó không có vẻ kỹ thuật. Nhưng nó vẫn được chấm điểm. Luyện tập những câu này cho đến khi câu trả lời kéo dài 60 đến 90 giây mà không lạc đề:
- Hãy giới thiệu về bản thân và kể cho tôi nghe về lý lịch của bạn.
- Tại sao bạn rời vị trí hiện tại, hoặc tại sao công ty này?
- Trong 2 năm nữa bạn muốn làm công việc gì?
- Trong 2 phút, dự án nào bạn tự hào nhất?
Cái bẫy trong nhóm này là tiểu sử: đọc lại CV theo thứ tự thay vì lập luận về sự phù hợp. Phần mở đầu mạnh mẽ chọn 2 hoặc 3 sự thật phù hợp với mô tả công việc và kết thúc ở lý do tại sao vai trò này là bước tiếp theo hợp lý. Câu trả lời về dự án tự hào nhất cũng đóng vai trò dẫn dắt vào nhóm tìm hiểu sâu phía dưới, vì vậy hãy chọn một dự án có thể chịu được 10 phút câu hỏi tiếp theo, không chỉ là một bản tóm tắt 2 phút được đánh bóng.
Tìm hiểu sâu về dự án: nơi buổi phỏng vấn SWE thực sự được quyết định
Phần cốt lõi của hầu hết các vòng kỹ thuật là một trong những dự án của bạn dưới sự đặt câu hỏi liên tục, và đây là nhóm mà luyện tập thử đem lại lợi nhuận cao nhất vì các câu hỏi tiếp theo rất khó ứng phó tức hứng. Bắt đầu với các câu hỏi như sau:
- Hãy dẫn tôi qua kiến trúc của hệ thống bạn đã xây dựng. Tại sao thiết kế đó?
- Quyết định kỹ thuật khó khăn nhất trong dự án đó là gì, và có những giải pháp thay thế nào?
- Điều gì đã hỏng trong môi trường sản xuất, và bạn đã làm gì?
- Nếu xây dựng lại ngày hôm nay, bạn sẽ thiết kế lại điều gì?
Sau đó luyện tập các câu hỏi tiếp theo mà người phỏng vấn giỏi thường chắc chắn sẽ hỏi: tại sao không chọn giải pháp thay thế rõ ràng, con số thực tế là gì, độ trễ, quy mô, chi phí, phần nào là của bạn chứ không phải của nhóm, và điều gì xảy ra sau khi bạn triển khai. Câu trả lời không có số liệu được đọc như quan sát chứ không phải quyền sở hữu; câu trả lời nói rằng các yêu cầu giảm từ 800 mili giây xuống 90 có trọng lượng khác so với câu nói rằng nó nhanh hơn.
Một dự án tìm hiểu sâu trung thực, được luyện tập cho đến khi câu hỏi tiếp theo thứ ba không còn gây đau, vượt trội hơn năm dự án mà bạn chỉ có thể mô tả ở mức tóm tắt.
Câu hỏi kỹ thuật và thiết kế hệ thống, điều chỉnh theo vòng phỏng vấn
Bản thân việc viết code trực tiếp được luyện tập tốt nhất trong trình soạn thảo, nhưng lớp kỹ thuật bằng lời nói xung quanh nó thuộc về buổi phỏng vấn thử: kể về cách tiếp cận, bảo vệ một nhận định về độ phức tạp, lý luận về thiết kế bằng lời nói. Các câu hỏi tiêu biểu:
- Bạn sẽ thiết kế URL shortener, rate limiter, hoặc dịch vụ thông báo như thế nào?
- Bạn cần lưu trữ 100 triệu sự kiện mỗi ngày và truy vấn theo người dùng. Hãy dẫn tôi qua các lựa chọn lưu trữ.
- Khi nào bạn chọn hàng đợi thay vì lệnh gọi đồng bộ giữa các dịch vụ?
- Giải thích một chiến lược bộ nhớ đệm mà bạn đã thực sự dùng và nơi nó gặp vấn đề.
Với các vai trò junior, hãy mong đợi câu hỏi nghiêng về kiến thức cơ bản: lựa chọn cấu trúc dữ liệu, gỡ lỗi endpoint chậm, giải thích điều gì xảy ra khi một URL được nhập vào trình duyệt. Với các vai trò senior, hãy mong đợi áp lực đánh đổi: chi phí so với độ trễ, tính nhất quán so với tính khả dụng, và câu hỏi tiếp theo bạn có 2 tuần và 1 kỹ sư, bạn cắt gì. Luyện tập phần kể chuyện quan trọng vì kỹ năng thực sự được chấm điểm là lập luận rõ ràng dưới áp lực thời gian, không phải đến một kiến trúc đã thuộc lòng.
Câu chuyện hành vi và cách biến ngân hàng câu hỏi này thành luyện tập thực sự
Các vòng hành vi kỹ thuật xoay quanh một tập hợp có thể dự đoán: xung đột với đồng nghiệp bạn tôn trọng, thời hạn bạn đã bỏ lỡ, quyết định bạn đã sai, lần bạn không đồng ý với một hướng kỹ thuật và bạn đã làm gì, lần bạn hướng dẫn ai đó hoặc được hướng dẫn. Chuẩn bị 4 đến 6 câu chuyện thật, mỗi câu chuyện bao phủ 2 hoặc 3 câu hỏi trong số này, với tình huống, hành động của bạn và kết quả cụ thể; kể lại cùng một câu chuyện từ các góc độ khác nhau là bình thường và được mong đợi.
Sau đó biến ngân hàng câu hỏi thành luyện tập thay vì tài liệu đọc. Đọc câu hỏi thầm lặng huấn luyện nhận biết, không phải tạo ra; phương pháp hiệu quả là trả lời to, dưới các câu hỏi tiếp theo mà bạn không có kịch bản. Trợ lý phỏng vấn thử của SubcueAI chạy chính xác vòng lặp này cho kỹ sư: nó tạo ra câu hỏi từ CV và mô tả công việc cụ thể, đặt câu hỏi qua người phỏng vấn nói, đẩy câu hỏi tiếp theo dựa trên những gì bạn thực sự nói, và chấm điểm buổi kết thúc, vì vậy ngân hàng chung chung ở trên tự động trở thành ngân hàng riêng cho vai trò.
Các câu hỏi phương pháp — bao nhiêu vòng, khoảng cách, các lựa chọn thay thế một mình — được tổng hợp trong câu trả lời về phỏng vấn thử và luyện tập; cho chính buổi trò chuyện trực tiếp, ứng dụng desktop bao gồm các bối cảnh phỏng vấn thực được phép.