Một công ty mà tôi làm việc cùng đã yêu cầu tôi thực hiện sàng lọc điện thoại cho ứng viên để đảm bảo họ không hoàn toàn xấu hổ khi gửi ai đó đến một khách hàng tiềm năng.
Nó chỉ ra rằng một số lượng lớn người đã được đặt cho vai trò nhà phát triển C ++. Tôi không dành nhiều thời gian cho C ++, nhưng tôi đã thực hiện một vài dự án tầm thường và không tầm thường bằng ngôn ngữ. Tôi hình dung rằng "Giải thích thành ngữ RAII" sẽ là một câu hỏi bóng mềm hay mà hầu hết các nhà phát triển C ++ nghiêm túc có thể trả lời trong khi ngủ, và sẽ cho phép tôi chuyển sang những câu hỏi thú vị hơn về trải nghiệm. Nhưng hóa ra những người có hơn 10 năm kinh nghiệm C ++ không nhận ra thuật ngữ này, ngay cả khi tôi mở rộng từ viết tắt thành "Thu nhận tài nguyên là khởi tạo". Một ứng cử viên đã đi xa đến mức nói rằng anh ta cảm thấy không thực tế khi áp dụng kỹ thuật phát triển Windows, điều mà tôi nghĩ là một tình cảm kỳ quặc, nhưng tôi có thể thấy một vài ví dụ có thể hỗ trợ cho dòng suy nghĩ đó.).
Ngay cả một vài nhà phát triển C ++ mà tôi biết đủ để đánh giá năng lực của họ nói rằng họ không nhận ra thuật ngữ này, nhưng khi đọc một bản tóm tắt về kỹ thuật này, nói "Ồ, vâng, tôi không biết rằng có tên. Tôi chỉ biết nghĩ về những điều đó như một việc bạn phải làm . " Tôi nhớ thuật ngữ từ ấn bản thứ hai của cuốn sách Stroustrup, mặc dù tác động đầy đủ không chìm vào thời điểm đó.
Vì vậy, là "Bạn có thể giải thích thành ngữ RAII cho tôi?" một câu hỏi sàng lọc công bằng? Có hợp lý không khi mong đợi tất cả các nhà phát triển C ++ có thẩm quyền hiểu nó? Là thuật ngữ bí truyền hơn tôi nghĩ? Giả sử một ứng cử viên không biết thuật ngữ này, liệu có câu hỏi tiếp theo nào có thể giúp tôi trêu chọc liệu họ ít nhất đã nội tâm hóa các thực tiễn làm cho RAII hoạt động không? Có câu hỏi "cỏ dại" thay thế nào tốt hơn để trả lời cho ứng viên một số độ trễ trong việc trả lời và giúp ứng viên thể hiện sự hiểu biết của họ về phát triển C ++ không?
Chỉnh sửa để thêm : Để làm rõ, tôi không phải là loại người phỏng vấn không đủ tiêu chuẩn vì họ không biết từ thông dụng và từ viết tắt. Tuy nhiên, tôi nghĩ thật hợp lý khi hy vọng rằng một lập trình viên C ++ có kinh nghiệm đã nội tâm hóa các thực tiễn tốt để quản lý tài nguyên. Tôi cũng nghĩ rằng điều quan trọng là phải xác minh rằng một ứng viên hiểu một số "điều cơ bản" về công nghệ mà họ yêu cầu chuyên môn trước khi chuyển sang các câu hỏi thú vị hơn về thiết kế, giải quyết vấn đề, v.v. Tôi nghĩ rằng những gì tôi đang tìm kiếm là một cách tốt để hỏi một câu hỏi mở, phù hợp để sử dụng trong sàng lọc điện thoại ngắn, mà tôi có thể sử dụng để đánh giá sự hiểu biết cơ bản của ứng viên về thực hành quản lý tài nguyên tốt trong C ++, trước khi tôi đặt câu hỏi "khó".