Có nghiên cứu chính thức nào về Hiệu quả Câu hỏi của FizzBuzz không? [đóng cửa]


23

Sau khi thấy câu hỏi này ngày hôm nay về sự thay đổi của câu hỏi phỏng vấn FizzBuzz, cũng như thấy các câu hỏi khác liên quan đến nó, tôi phải hỏi: có nghiên cứu chính thức nào về hiệu quả của kỹ thuật phỏng vấn này không? Có rất nhiều người nói rằng nó lọc ra một số phần trăm ứng viên nghe có vẻ điên rồ (95% + trong một số trường hợp) nhưng làm thế nào tốt cho việc tìm kiếm các lập trình viên / nhà phát triển giỏi?

Đã có một số nghiên cứu chỉ ra rằng kỹ năng mềm có thể là chỉ số tốt hơn kỹ năng cứng để chọn ứng viên tốt cho vai trò công việc. Đồng thời, có thể có một số lý do trung gian cho rất nhiều thí sinh trượt bài kiểm tra này (hồi hộp, nghĩ rằng "đó là một mánh khóe", v.v.).


Dựa trên các ý kiến ​​cho đến nay, có vẻ như ý tưởng đằng sau các câu hỏi của FizzBuzz là xác định xem người đó có kỹ năng mã hóa tốt (đủ) để được xem xét thêm hay không. Tôi không hoàn toàn bị thuyết phục FizzBuzz thực sự làm điều này. Ngoài ra, hãy nhớ rằng FizzBuzz lọc một tỷ lệ rất lớn các ứng viên từ rất sớm trong quá trình tuyển dụng, điều đó có thể có nghĩa là một số lượng đáng kể các ứng cử viên tốt đang bị loại bỏ sớm vì họ không thể giải quyết vấn đề ngớ ngẩn đủ nhanh.

Ngoài ra, tôi sẽ chỉ ra rằng nhìn vào hiệu quả của FizzBuzz là điều hoàn toàn có thể được thực hiện theo cách định lượng. Điều này không giống như nhìn vào "sự phù hợp" hay "niềm đam mê" rất khác nhau và không khoa học (nhưng vẫn khá quan trọng đối với các quyết định tuyển dụng mới).



16
Tôi sẽ không muốn thuê một ứng cử viên không thể mã hóa FizzBuzz trong khi lo lắng.
Eric Wilson

Đó không phải là những gì bài viết bạn liên kết quá chỉ ra. Nó chỉ ra rằng những người được thuê có tỷ lệ bỏ học cao. Nhưng nó hoàn toàn không có dữ liệu về những cái đã bị từ chối. Đối với tôi điều này cho thấy các công ty có thể đang làm rất tốt trong việc loại bỏ những người không có kỹ thuật (vì đó là trọng tâm của các cuộc phỏng vấn của họ) không thể thực hiện được công việc, nhưng họ cần lọc thêm cho những người không chịu học hoặc từ chối cư xử tốt như những người ghi nhớ nhóm
Martin York

2
@JMG: Bạn cần phải chính xác hơn (chính xác những gì chính xác). Nếu họ không thể làm phần kỹ thuật của công việc (Kỹ năng cứng) thì tại sao bạn nghĩ họ có bất kỳ cơ hội nào. Nếu bạn thuê những người mà theo định nghĩa không thể làm công việc họ được thuê vì bạn không nghĩ tỷ lệ bỏ học sẽ là 100%. Trong các quy trình phỏng vấn của chúng tôi, chúng tôi có một phần cụ thể để xem ứng viên có phù hợp với nhóm và công ty hay không. Nhưng cho dù chúng ta có thích cá nhân họ đến mức nào đi chăng nữa, không có lý do gì để thuê một người không có kỹ năng mã hóa.
Martin York

3
Vì vậy, như là một câu trả lời cho if their hard skills was weighted more evenly with their soft skills. Không . Các kỹ năng cứng sẽ là một bộ lọc. Các kỹ năng mềm là một bộ lọc bổ sung. Nó không phải là một trường hợp bạn có thể có A or Bbạn phải có A and B. Đó là cách tôi đọc bài viết bạn liên kết. Họ đã lọc cho A Họ vừa thực hiện một công việc tồi tệ trong việc lọc cho B.
Martin York

Câu trả lời:


14

Đã lâu rồi tôi mới đọc nghiên cứu phỏng vấn xin việc, (vì vậy tôi không thể xin lỗi cụ thể về trang web, mà tôi xin lỗi) nhưng quy tắc chung là mọi người thuê trên cơ sở kỹ năng mềm nhưng không có mối tương quan giữa điều đó và hiệu suất. Kiểm tra các kỹ năng cụ thể có thể hoạt động, đối với tính cách thì không (theo dữ liệu đo được).

Hầu hết mọi người đều tin rằng các kỹ thuật phỏng vấn đặc biệt của họ hoạt động, dữ liệu nói rằng có lẽ bạn không nên bận tâm đến việc phỏng vấn (phần "nói cho tôi biết về bản thân bạn", trái với kiểm tra khách quan) vì các ứng viên được người phỏng vấn lựa chọn không tốt hơn nhưng người phỏng vấn cho thấy thiên vị đối với người hướng ngoại, những người tương tự như người phỏng vấn, người cao, người hấp dẫn, v.v. (Có thể cho rằng bạn nên thuê những người làm tốt bài kiểm tra và không tốt trong phần còn lại của cuộc phỏng vấn, vì họ rõ ràng cũng giỏi trong công việc nhưng có thể thấy khó khăn hơn khi rời khỏi công ty của bạn).

Tôi mong muốn được bùng cháy vì điều này, thường là bất cứ ai tôi nói điều này để nói "nhưng chúng tôi sử dụng phương pháp X và nó thực sự hiệu quả với chúng tôi", nhưng trừ khi bạn

  1. thuê một số người không vượt qua quá trình phỏng vấn của bạn,

  2. đừng nói với đồng nghiệp của họ đã vượt qua và ai không, và

  3. so sánh hiệu suất của những người đã vượt qua với những người không sử dụng, sử dụng các tiêu chí khách quan đã thống nhất trước đó

bạn thực sự có rất ít ý tưởng cho dù quá trình của bạn hoạt động. Thật không may, hiệu quả của cuộc phỏng vấn vốn đã khó đánh giá.

Nếu bạn đang tự hỏi, các thí nghiệm làm những việc như yêu cầu mọi người đánh giá ứng viên dựa trên bảng điểm phỏng vấn, từ những ứng viên thực sự đã được tuyển dụng (trong số nhiều kỹ thuật khác). Những người thử nghiệm lý tưởng sẽ có người thực hiện phỏng vấn, chọn ứng viên, xóa trí nhớ của người phỏng vấn, chọn ngẫu nhiên người thuê trong số các ứng viên và so sánh hiệu suất của ứng viên bằng cách sử dụng tiêu chí chính xác, khách quan so với xếp hạng của người phỏng vấn, nhưng thử nghiệm đó là khó kéo ra.

Vì vậy, mặc dù tôi chưa thấy nghiên cứu cụ thể của FizzBuzz, nhưng đây là loại điều có thể cho thấy hiệu quả trong thử nghiệm khoa học. Nếu nó sàng lọc 95% ứng viên thì tôi sẽ tò mò tại sao - nó được phát minh ra dễ đến mức vô lý đến nỗi chỉ một lập trình viên bất tài mới có thể không vượt qua nó, và thật khó để biết cách làm cho FizzBuzz bị câm. Tôi tự hỏi bao nhiêu phần trăm vượt qua bài kiểm tra "Hello world"? Bài kiểm tra "làm cho máy tính làm gì, làm gì"?


+1 Đó là lý do tại sao tôi đặt câu hỏi: Việc tuyển dụng vốn dĩ rất không khoa học, nhưng hiệu quả của FizzBuzz ít nhất có thể được kiểm tra khá định lượng.
joshin4colours

@psr: Theo kinh nghiệm của tôi khi phỏng vấn sinh viên mới tốt nghiệp ở Mỹ, BSCS hoặc MSCS, khoảng 90% trong số họ không thể lập trình. Tại sao? Bởi vì các tổ chức có một động lực tài chính để giữ họ trong chương trình trả học phí.
kevin cline

1
@kevin cline: Loại bỏ chủ đề, nhưng trong MSCS của tôi, tôi không nghĩ rằng họ tập trung vào điểm mấu chốt. Tuy nhiên, họ cực kỳ quan tâm đến việc phân biệt mình là một chương trình học thuật so với một trường thương mại, và rất nhiều giáo sư đã xem thường một chút về lập trình đơn thuần, trái ngược với, chứng minh những điều thực sự nhỏ về máy Turing.
psr

Tôi nghĩ rằng bạn đang nhìn vào thực tế rằng mục tiêu của những người làm thuê không phải là quá nhiều để tìm ra kết quả tốt nhất có thể, vì chỉ cố gắng tránh thảm họa. Ngay cả trong thời kỳ kinh tế tốt, những người cung cấp công việc bị bỏ rơi với những người nộp đơn, nhiều người trong số họ vô vọng không đủ tiêu chuẩn. Bạn chỉ cần có một số loại bộ lọc nhanh để giảm số lượng người đăng ký xuống một số có thể quản lý được. Điểm ban đầu của thử nghiệm fizbuzz là thực hiện nó như một phần của màn hình điện thoại. Nếu nhóm người vượt qua Fizzbuzz thậm chí còn được làm giàu một chút cho những người thực sự có thể viết mã, thì đó là một sự trợ giúp.
Charles E. Grant

@Charles E. Grant - Tôi hiểu FizzBuzz - Tôi thực sự sử dụng các câu hỏi như thế khi phỏng vấn (hầu hết mọi người đều vượt qua). Tôi chủ yếu trả lời "kỹ năng mềm có thể là chỉ số hơn kỹ năng cứng" (sic), mà tôi đã đọc nghiên cứu có liên quan, và trong nghiên cứu kỹ năng mềm đã giúp trong một cuộc phỏng vấn, nhưng không thể hiển thị để giúp đỡ trong công việc. Hay chính xác hơn, người phỏng vấn không thể xác định ứng viên sẽ có hiệu quả trong công việc, nếu họ cố gắng xác định họ dựa trên các kỹ năng mềm.
psr

33

Mục đích của fizzbuzz không phải là tìm kiếm những lập trình viên giỏi, mà là tìm một lớp lập trình viên xấu nhất định, đó là những người không thể thực hiện một thuật toán đơn giản. Câu hỏi của bạn giống như hỏi có bao nhiêu nhà vô địch Nreb được xác định trong các kỳ thi bằng lái xe của họ. Có rất nhiều mối quan hệ giữa người mà bạn chắc chắn không muốn thuê và người mà bạn chắc chắn làm.

Có những lớp lập trình viên "xấu" khác yêu cầu các phương pháp nhận dạng khác nhau, như những người không thành thạo một ngôn ngữ nhất định hoặc có vấn đề về hành vi. Tuy nhiên, các lập trình viên "fizzbuzz-bad" hầu như không mong muốn trên toàn cầu, đó là lý do tại sao bài kiểm tra thường được đề xuất. Việc một lập trình viên có quá nhiều lãnh thổ hay một người cần chuyển các kỹ năng sang một ngôn ngữ mới là "tốt" hay "xấu" phụ thuộc nhiều vào nhu cầu và sở thích của từng chủ nhân.


2
Nhưng điều gì làm nên một lập trình viên "xấu"? Bạn có muốn ai đó là một lập trình viên tuyệt vời nhưng xóa mọi chỉnh sửa đã đăng ký thành mã "của anh ấy" trong một dự án không? Hoặc ai đó có thể cần một chút trợ giúp đi từ C sang Java nhưng sẽ cống hiến hết mình trong dự án?
joshin4colours

4
@JMG: Có một trường phái suy nghĩ cho chúng tôi biết "Bạn cũng không muốn". Nếu họ có một số thói quen bất hợp tác như sau này, thì "Không thuê"; nếu họ không có những kỹ năng thông thường nhưng cần thiết "Không thuê". Nếu có điều gì đó về ứng viên khiến bạn ngần ngại về việc thuê họ cho dự án này "Không thuê"
SingleNegationElimination

@TokenMacGuy Tôi đoán rằng trường học mặc dù nên được gọi là trường "Gần thời gian và tài nguyên vô hạn" :)
joshin4colours

@Karl bạn có thể kết hợp lại câu trả lời của bạn không?

5

FizzBuzz không phải là về việc xác định các lập trình viên giỏi, đó là về việc loại bỏ những người xấu / kẻ giả mạo. Nếu một ứng viên không thể vượt qua bài kiểm tra FizzBuzz thì họ không biết cách lập trình và không nên ứng tuyển vào vị trí lập trình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.