Những ưu và nhược điểm đối với người sử dụng các câu hỏi về mã trong một cuộc phỏng vấn là gì? [đóng cửa]


16

Câu hỏi Joel Test # 11 là: "Các ứng viên mới có viết mã trong cuộc phỏng vấn của họ không?". Lập luận và chống lại để yêu cầu các ứng viên mới viết mã trong cuộc phỏng vấn và đưa ra quyết định về nó là gì?


Viết mã như trong vật lý viết nó bằng bút chì và bàn tay của bạn hoặc viết như mã loại trên máy?
Chris

Con lừa chính là hỏi những câu hỏi ngu ngốc hoặc vô dụng và nghĩ rằng bạn đã làm đúng. Chẳng hạn như ai đó nhận xét về việc được yêu cầu viết một link_list.

Câu trả lời:


13

Tôi không thấy khuyết điểm. Một cuộc phỏng vấn có nhiều phần, và một ứng cử viên nên được chứng thực 'lên chuỗi' một vài lần.

Tôi phỏng vấn ~ 10 người hàng tuần. Tôi thực sự, thực sự, THỰC SỰ đánh giá cao thực tế rằng nhân sự đã thực hiện tất cả các công việc nền và trình bày cho tôi rất nhiều ghi chú. Vào thời điểm họ đến với tôi, đã đến lúc tôi chấm điểm các bài kiểm tra của họ.

Các xét nghiệm phụ thuộc hoàn toàn vào vị trí. Nói chung, tôi cố gắng thăm dò:

  • Kỹ năng lập trình chung. Bạn có thể sử dụng các nhà khai thác hiệu quả? Bạn có thể hình dung một hệ thống số có cơ số không phải là 10 không?

  • Bạn có biết làm thế nào để chúng tôi thuê bạn làm gì không?

  • Đánh giá các đóng góp của bạn cho bất kỳ dự án nguồn mở nào mà bạn đã liệt kê

Tôi cố gắng để giữ cho nó ngắn, và vui vẻ. Khi tôi đi vào văn phòng, tôi lấy các câu trả lời, xem qua và sau đó tiến hành một cuộc phỏng vấn thứ cấp. Để được tuyển dụng, bạn thường phải trải qua ba cuộc phỏng vấn.

Tôi cũng đánh giá mức độ bạn sẽ hòa nhập với đội sẽ tiếp nhận bạn. Đội đó trông cậy vào tôi để làm điều đó một cách hiệu quả.

Đó là một điều để trả lời các câu hỏi ở dạng meta, đó là một điều khác để thực sự sản xuất mã. Nếu tôi sẽ thuê bạn, tôi thực sự cần phải thấy bạn sản xuất mã.


Hmmm ... tôi coi mình là một nhà phát triển có trình độ. Trong ba cuộc phỏng vấn gần đây nhất của tôi, khi tôi được hỏi về một cái gì đó như "phương pháp cụ thể làm gì", hoặc một điều tương tự, tôi quyết định từ bỏ nó. Vì tôi không bao giờ tìm kiếm một công việc, nơi tôi sẽ có ý định làm một cái gì đó tôi biết rất rõ. Nó không thú vị. Như ông chủ cũ của tôi đã nói: "Tái sử dụng? Các lập trình viên nên sử dụng lại, các chương trình - có thể".
Duros

@duros Tôi rất tiếc khi nghe điều đó. Một người phỏng vấn giỏi sẽ có thể làm cho quá trình trở nên thú vị .. và nên nhận ra rằng các lập trình viên khác ghét các bài kiểm tra.
Tim Post

không phải là tôi không cảm thấy thoải mái khi được thử nghiệm. Tôi chỉ nhận ra những cơ hội nào để học và thử một thứ gì đó mới mà tôi sẽ có, nếu họ sẽ thuê tôi làm lập trình viên ... Trong lần cuối cùng tôi đã gửi người phỏng vấn để đọc javadocs ...: - Có lẽ, tôi ' m sai ...
duros

10
Tôi đã từng được yêu cầu trong một cuộc phỏng vấn để viết những người truy cập cho một danh sách liên kết trong Perl. Trong 8 năm tôi làm việc với Perl, tôi không gặp phải một chương trình sản xuất nào sử dụng các danh sách được liên kết. Tất nhiên, tôi đã nhầm lẫn và sản xuất, trên giấy, chèn các phương thức () và remove () và một đối tượng dựa trên hàm băm mà tôi nghĩ sẽ thực hiện công việc. Điều đầu tiên người phỏng vấn nói khi nhìn vào tờ giấy là "Bạn đang thiếu một vài dấu chấm phẩy"
leed25d

1
đó là một cái khác để thực sự sản xuất mã - điều này là như vậy, vì vậy, đúng. Tôi đã nhiều lần ngạc nhiên bởi những người mô tả một thuật toán hợp lý nhưng thậm chí không thể bắt đầu giảm nó thành mã. Điều đó, hoặc họ đã trượt qua một số bước phi thuật toán không thể tránh được khi bạn viết mã.
poolie

34

Với lời xin lỗi đến Scott Whitlock:

Nhược điểm:

  • không ai

Ưu điểm:

  • Tiết kiệm rất nhiều thời gian và đau khổ trên đường nếu bạn không thuê người không thể lập trình
  • Yêu cầu bạn phải có một người kỹ thuật trong cuộc phỏng vấn

"Yêu cầu bạn phải có một người kỹ thuật trong cuộc phỏng vấn" có thể được coi là một kẻ lừa đảo không?
Yeikel

1
Nó phụ thuộc vào việc bạn đang cố gắng lấp đầy vai trò hay chỉ lấp đầy một chiếc ghế, tôi đoán vậy. Nhưng IMO không, nó không thể được coi là một kẻ lừa đảo.
Armand

19

Nếu bạn định thuê một người tung hứng, bạn sẽ không điên khi không để anh ta tung hứng cho bạn. Hoặc một nhạc sĩ bạn sẽ có buổi thử giọng. Nếu không, bạn nhận được những thứ như K-strass yo-yo tuyệt vời .

Đi qua một cái gì đó trên bảng trắng là các lập trình viên tương đương với một bản demo thử nghiệm nhanh.


+1 cho liên kết. Tôi vẫn nghĩ rằng việc tung hứng không phải là ghi nhớ những thứ như chữ ký phương thức, hoặc tương tự, mà chỉ có thể suy nghĩ và giải quyết các vấn đề bạn chưa từng gặp trước đây ...
duros

4
Ngoại trừ việc tung hứng là một kỹ năng ngay lập tức chỉ với một vài biến thể, thường được thực hiện trước khán giả. Lập trình là một nhiệm vụ sâu sắc, sâu sắc, hiếm khi được thực hiện như vậy. Nó cũng kém năng suất hơn nhiều trên giấy hoặc bảng trắng. Điều đó nói rằng, kiểm tra mã giả (hoặc bỏ qua các lỗi trung bình tầm thường) có thể rất hữu ích.
Bruce Alderson

10

Tôi nghĩ nó rất hữu ích và tôi luôn làm điều đó, nhưng vì lợi ích đã được bảo vệ rất tốt nên tôi sẽ chỉ thảo luận về những tiêu cực (rõ ràng).

Tôi nghĩ rằng các bài kiểm tra mã khá khó có thể cung cấp cho bạn các kết quả dương tính giả: tỷ lệ cược thấp mà một người thực sự không thể viết mã sẽ quản lý để giả mạo nó trong một cuộc phỏng vấn, ít nhất là nếu bạn có một mức độ khó về câu hỏi. (Có lẽ kịch bản rất có thể là họ gian lận bằng cách hỏi một người bạn, nếu đó không phải là một cuộc phỏng vấn trực tiếp.)

Các vấn đề nằm ở phía âm tính giả: các bài kiểm tra mã sẽ khiến bạn từ chối người thực sự là ứng cử viên tốt nhất?

Sự sợ khi đứng trước khán giả

Bạn có thể có ai đó thực sự là một nhà phát triển thực sự giỏi, nhưng họ rất lo lắng về cuộc phỏng vấn này, và họ thực sự cảm thấy sợ hãi. Thực hiện dưới áp lực rất quan trọng ở một mức độ nào đó, nhưng đối phó với sợ hãi giai đoạn không phải là một phần quan trọng của việc trở thành một lập trình viên (so với các ngành nghề khác), và thật không may khi từ chối một người chịu đựng điều đó. Điều này có thể kết hợp: nếu người đó không thể trả lời một câu hỏi mà họ biết họ nên trả lời, họ có thể trở nên chặt chẽ hơn. Hoặc, như trong câu hỏi này , họ cảm thấy họ không thể nói và viết mã cùng một lúc.

giảm thiểu: Bắt đầu với một số câu hỏi tìm hiểu về nền tảng, mục tiêu của họ, v.v., trước khi bạn nhảy vào câu hỏi kỹ thuật. Có lẽ bắt đầu với một số câu hỏi kỹ thuật dễ dàng hơn để họ có được một số động lực. Đừng là một kẻ tinh ranh trong cuộc phỏng vấn (ngụy biện về dấu chấm phẩy, v.v.).

Đó là một biện pháp ồn ào

Các câu hỏi mã thú vị có thể có nhiều hơn một câu trả lời đúng. Nếu một người viết một câu trả lời đúng, và một người khác viết một câu trả lời đúng và hiệu quả hơn, bạn nên đặt bao nhiêu cân?

Ở một mức độ nào đó, đây giống như vấn đề với một số câu hỏi "câu đố": người đó có cái nhìn sâu sắc hay không và bạn nhận được kết quả gần như nhị phân. Trí thông minh có thể ảnh hưởng đến xác suất có được cái nhìn sâu sắc đó, nhưng việc lấy mẫu chỉ một vài lần mang lại cho bạn một biện pháp thô thiển.

Điều này làm phiền tôi về các câu hỏi về mã (mặc dù tôi vẫn sử dụng chúng.) Sự giảm thiểu tốt nhất tôi có thể nghĩ đến là có càng nhiều giải pháp khả thi: ít nhất người đó có thể viết một câu trả lời thô bạo, hoặc một câu trả lời cho một phần của vấn đề Nhận ra điều đó tốt hơn không có gì là một dấu hiệu tốt. Sau đó, nếu họ khám phá nhiều hơn, họ có thể làm cho mã hiệu quả hơn hoặc thanh lịch hơn. Càng nhiều càng tốt, tránh đặt câu hỏi nhận được phản hồi nhị phân.

Nó không thực sự đại diện

Lập trình không phải là một công việc giải quyết các vấn đề thuật toán mười phút lần lượt: có rất nhiều công việc về hiểu biết và thiết kế các hệ thống lớn hơn và tập trung trong thời gian dài, không nói gì đến các kỹ năng giao tiếp. Mã câu hỏi không thực sự kiểm tra điều này.

Nhưng, các câu hỏi về mã không phải là những câu hỏi duy nhất bạn sẽ hỏi: bạn có thể xem lý lịch của họ, tài liệu tham khảo của họ, công việc nguồn mở của họ (nếu có), để tìm bằng chứng về nỗ lực bền bỉ, sáng tạo, kỹ năng giao tiếp.

Biết cách giải quyết các vấn đề thuật toán nhỏ và cách giảm chúng thành mã là điều kiện cần nhưng chưa đủ: nếu bạn không thể giải quyết các vấn đề nhỏ và bạn không thể viết mã không cần thiết thì tất cả những suy nghĩ về bức tranh lớn trên thế giới không phải là sẽ làm cho bạn một nhà phát triển năng suất.

Bất cứ ai cũng có thể giải quyết điều đó

Không, rõ ràng là không. Như bài đăng nổi tiếng của FizzBuzz chỉ ra, những vấn đề bạn có thể nghĩ là những cái bẫy tầm thường không chỉ những sinh viên mới tốt nghiệp mà cả những người có nhiều năm kinh nghiệm trong ngành. Tôi không biết tại sao. Kiểm tra mã là một biện pháp kém (có thể, mặc dù tôi nghĩ là không thể) hoặc họ không đóng góp nhiều cho các dự án trong hồ sơ của họ, hoặc họ đã làm được rất nhiều bằng cách sao chép và dán không mã thuật toán (có thể.)

Thật đáng để thừa nhận rằng bạn thực sự có thể làm được rất nhiều việc mà không cần viết bất kỳ mã thuật toán nào. Mọi người kiếm được rất nhiều tiền cho các ứng dụng có giá trị nằm ở đồ họa hoặc logic kinh doanh không nằm trong cái mà bạn có thể gọi là "lập trình", và điều đó tốt. Nhưng, nếu bạn thực sự cần lập trình viên, nó không phù hợp.

Nó có thể không được hiệu chỉnh tốt

Nếu bạn đưa ra một câu hỏi, câu trả lời rất có thể dễ dàng đối với bạn. Tuy nhiên, nếu bạn được hỏi bất kỳ câu hỏi nào khác có thể so sánh được với màu xanh hoặc câu hỏi không bị lệch về sở thích và nền tảng cụ thể của riêng bạn, điều đó có thể khó hơn nhiều.

giảm thiểu: Chạy thử nghiệm trên một số nhà phát triển mà bạn đã biết và xem cách họ thực hiện. Có lẽ ai đó đã ở trong nhóm của bạn, người mà bạn biết là rất thông minh, sẽ gặp rắc rối với một trong số họ và bạn có thể xem xét điều chỉnh nó. Có lẽ họ sẽ nghĩ về một câu trả lời tốt hơn hoặc khác nhau.

Nó quá giống những chuyện vặt vãnh

Tôi nghĩ rằng các câu hỏi về mã chắc chắn có thể đi vào những câu đố, nếu bạn khăng khăng mọi người biết các API tối nghĩa hoặc có được cú pháp hoàn hảo hoặc nhớ định nghĩa chính xác của thuật toán không cần thiết. Tất cả đều hợp lý khi dựa vào tài liệu, tìm kiếm trên web hoặc lỗi trình biên dịch để nhận và có ít mối tương quan với chuyên môn thực sự. Thậm chí không biết khả năng của API ở đâu có lẽ là đầu mối mà người này đã sử dụng gần đây, nhưng đó không hẳn là vấn đề miễn là họ không nói dối về lý lịch của họ.

Vì vậy, câu trả lời cho điều này khá đơn giản: đừng hỏi những câu hỏi tầm thường và đừng bị treo lên vì những sai lầm tầm thường. Nhắc nhở ứng viên những gì API được gọi hoặc để họ tra cứu nó; sửa lỗi cú pháp; không kiểm tra cho mọi người ghi nhớ định nghĩa cấu trúc dữ liệu.

Làm thế nào để bạn so sánh?

Nếu bạn có hai ứng cử viên và cả hai đều trả lời tốt các câu hỏi, làm thế nào để bạn chọn giữa họ? Bạn có thể chọn người hoàn thành nhanh nhất, nhưng có lẽ ở đó bạn bắt đầu chọn thỏ rừng trên rùa. Bạn có thể làm một vòng khác và hỏi những câu hỏi khó hơn nhiều nhưng tôi cũng không chắc về điều đó. Có lẽ bạn chỉ cần cung cấp cho họ cả A + và cố gắng chọn giữa họ theo các tiêu chí khác (hoặc cố gắng tìm tiền để thuê cả hai.)


7

Một điều tôi có thể nghĩ đến là thật khó để "mã hóa thành tiếng" trước mặt người khác. Tôi thấy khó khăn ngay cả khi gõ với ai đó nhìn qua vai tôi, và tôi không cô đơn. Tôi nhận thấy khi ai đó gọi tôi đến máy trạm của họ để giúp đỡ một cái gì đó, họ đột nhiên bắt đầu mắc lỗi chính tả, chọn sai hoàn thành mã, thậm chí mắc lỗi hoàn toàn - không ai trong số họ có thể làm được nếu tôi không ngồi ngay đó. Chết tiệt, tôi đã thấy mọi người bắt đầu sử dụng menu cho các thao tác cắt và dán, chỉ vì họ đang bị theo dõi. Đây không phải là hành vi bình thường và các lập trình viên mà tôi đang nói đến là những lập trình viên xuất sắc và khá thông minh bên cạnh đó.

Gần đây tôi đã có một cuộc phỏng vấn trong đó người phỏng vấn hỏi tôi làm thế nào tôi sẽ viết mã cho một hoạt động cụ thể và anh ta nói, "Chỉ cho tôi xem toán học." Chà, tôi đã phải suy nghĩ về vấn đề này trước khi đến với toán học của nó, vì vậy điều đó đã khiến tôi phải lục đục và hawing. Những gì tôi đặt xuống bảng trắng lúc đầu thật xấu hổ, và tôi cảm thấy mình đã thua ở điểm đó. Cuối cùng tôi cũng có được khoảnh khắc A-ha và tìm thấy câu trả lời (thực ra khi cuối cùng nó cũng xảy ra với tôi anh ấy là ai thực sự hỏi), nhưng "mớ hỗn độn" tôi đã làm trước khi đến đó khiến tôi cảm thấy rất khó chịu. Tuy nhiên, tôi đã nhận được công việc, nhưng nếu người phỏng vấn ít kiên nhẫn hơn thì tôi có thể không có.

Tôi nghĩ rằng nếu bạn cho người được phỏng vấn một nhiệm vụ mã hóa, hãy cho họ một chút thời gian để làm việc đó trên máy tính, thậm chí có thể trong một IDE mà họ quen thuộc. Hãy để họ viết mã cho bạn và sau đó nói về nó. Hỏi họ tại sao họ làm mọi thứ theo một cách nhất định, và liệu cách khác có thể không tốt hơn. Bạn sẽ tìm hiểu nhiều hơn từ quy trình đó hơn là yêu cầu họ (nói theo nghĩa bóng) đi vào một cái cốc ngay trước mặt bạn.


4
Mặc dù vậy cũng được. Mục tiêu của câu hỏi phỏng vấn mã hóa không phải là kiểm tra khả năng đánh máy hoặc thậm chí là kiến ​​thức hoàn hảo về API. Typose và whatnot có thể được bỏ qua và thay vào đó bạn tập trung vào quá trình suy nghĩ và làm quen với các nền tảng lập trình. Ví dụ, tôi đã từng là một phần của một cuộc phỏng vấn cho thấy ứng viên hoàn toàn không có khả năng suy nghĩ trước một vài bước (họ sẽ khắc phục một vấn đề nhỏ, nhận ra rằng đã tạo ra một vấn đề khác, v.v.).
Adam Lear

2
Thật khó "viết mã trước mặt người khác"? Khỏe. Tôi chỉ thuê những người có thể làm những việc khó khăn. Một trong số họ có thể thảo luận về mã (tức là chương trình) với (trước mặt) người khác.
kevin cline

1
@kevin cline: Bạn nhớ quan điểm của tôi. Bạn có quan tâm làm thế nào mọi người có được kết quả, hoặc bạn chỉ muốn họ nhận được kết quả theo ý thích của bạn? Rất nhiều người có thể viết mã tốt trong môi trường nhóm, nhưng cần "thời gian một mình" để tạo ra hiệu quả cao nhất. Bạn có vẻ như kiểu người sẽ không thuê Mark Zuckerberg vì anh ta cần phải "kết nối" để có năng suất tối đa.
Robusto

1
@Robusto: Tôi không đặt câu hỏi sâu trong một cuộc phỏng vấn. Tôi chỉ cần thấy ai đó giải quyết một vấn đề đơn giản trong vài phút. Và tôi cần những người có thể làm việc trong một nhóm. Điều này có nghĩa là một khả năng và sự sẵn sàng để nói về mã. Chắc chắn, tôi có thể bỏ lỡ một lập trình viên tuyệt vời, người không thể xử lý áp lực của một cuộc phỏng vấn. Vậy là được rồi. Nhưng một thuê xấu là thảm họa.
kevin cline

6

Nhược điểm: Không có. Bất cứ lúc nào bạn dành để thiết lập PC, thiết kế kiểm tra mã và xem xét nó sẽ tiết kiệm được những cơn đau đầu chưa từng thấy trong tương lai.

Ưu điểm: "Tin tưởng, nhưng xác minh" - Ronald Regan. Vì vậy, nhiều lần tôi đã thấy và nghe nói về những người cuối cùng đã rời khỏi một vị trí, trong đó trong cuộc phỏng vấn bạn nghĩ rằng bạn đang nhận được một ngôi sao nhạc rock. Bằng chứng là trong pudding; Tôi muốn xem những gì họ có thể làm. Nó sẽ đại diện cho những gì xảy ra khi bạn đầu tư thời gian và tiền bạc để thuê ai đó và thực hiện một dự án mới trước mặt họ.


4

Nhược điểm:

  • Yêu cầu bạn phải có một người kỹ thuật trong cuộc phỏng vấn

Ưu điểm:

  • Tiết kiệm rất nhiều thời gian và đau khổ trên đường nếu bạn không thuê người không thể lập trình

25
Nếu bạn đang phỏng vấn các nhà phát triển mà không có người kỹ thuật tham gia, dù sao bạn cũng sẽ phải chịu số phận.
David Thornley

@David: Tôi đồng ý, tôi nghĩ rằng những ưu điểm ở đây vượt xa những nhược điểm, nhưng đó là "con" duy nhất tôi có thể nghĩ ra.
Scott Whitlock

4

Khi tôi phỏng vấn cho công việc hiện tại của mình, tôi đã được cung cấp một danh sách các câu hỏi để viết mã cho nhà tuyển dụng. Tôi đã rất ấn tượng bởi vì các câu hỏi rõ ràng được viết bởi một người có kiến ​​thức sâu về SQL, vì vậy nó hoạt động theo cả hai cách.


2

Bạn thực sự muốn nhờ người viết mã trong cuộc phỏng vấn - thậm chí tốt hơn, hãy nhờ họ ghép chương trình với một thành viên trong nhóm của bạn trong khoảng thời gian X (bất cứ điều gì bạn có thể thoải mái chi trả về thời gian / nhân lực).

Đó là một trong những cách duy nhất bạn có thể biết nếu người đó có thể viết mã hay không.

Tôi hơi thích lập trình cặp vì nó sẽ cho thấy nhóm của họ làm việc, cung cấp cho họ một IDE thực sự để làm việc và cho phép họ giải quyết vấn đề 'thực' (người khác trong cặp có thể hướng dẫn họ qua bất kỳ chi tiết cụ thể nào về môi trường mà người được phỏng vấn không bao giờ có thể biết một cách hợp lý).

Chúng tôi đã bắt đầu sử dụng chính sách tuyển dụng này và chúng tôi thực sự hài lòng với kết quả này.


+1 để kiểm tra cặp: chứng minh cả khả năng làm việc với đồng đội / và / khả năng viết mã.
Bruce Alderson

2

Bạn đánh giá một con chim bằng lông của nó và một lập trình viên bằng mã của nó.

Khi tôi bắt đầu với công ty hiện tại tôi đang làm việc cho họ, họ đã yêu cầu tôi viết một số mã C tạo hoặc kiểm tra bit chẵn lẻ của một số đầu vào nhị phân (tùy thuộc vào việc bạn đang mã hóa hay giải mã). Đây là một câu hỏi phỏng vấn chính xác bởi vì những loại vấn đề được giải quyết trong quá trình làm việc. Tất nhiên tôi đang nghĩ đến việc không kiểm tra chẵn lẻ mà là làm việc ở cấp độ thấp.


2

Tất cả các câu trả lời cho đến nay (mà tôi đã đọc) không đề cập đến thực tế rằng Joel Test KHÔNG phải (chỉ) một danh sách thực hành tốt nhất cho các doanh nhân mà là một danh sách kiểm tra để dễ dàng đánh giá của bạn về một nhà tuyển dụng tiềm năng .

Vấn đề là ... nếu họ kiểm tra kỹ lưỡng kẹo của họ thì có lẽ họ thuê những người biết công cụ của họ ... điều đó có nghĩa là với bạn

  1. bớt đau đầu và cũng
  2. tăng cơ hội học hỏi điều gì đó từ đồng nghiệp của bạn

thay vì sửa lỗi sau chúng ...


1

Tôi sẽ nói:

Ưu

  • Chứng tỏ ứng viên có ít nhất một kiến ​​thức về lập trình, vì sơ yếu lý lịch có thể được chế tạo / tôn tạo
  • Nếu người phỏng vấn thảo luận về mã với ứng viên, trái ngược với nó giống như một bài kiểm tra viết, có thể là một chỉ báo tốt về cách bạn "chia lưới" về mặt xã hội và liệu ứng viên có phù hợp với công ty / công ty và nhóm hay không phù hợp với ứng viên

Nhược điểm

  • Có thể xúc phạm đến các ứng viên nếu các câu hỏi là vô nghĩa / tầm thường sẽ không bao giờ xuất hiện trong công việc (ví dụ: "Viết một loại bong bóng" khi tất cả các khung hiện đại mà một người sẽ sử dụng trong công việc được sắp xếp sẵn, "Đảo ngược một chuỗi "khi có một Reversephương thức tích hợp hoặc tương tự, hoặc để kiểm tra bằng văn bản những thứ như" Đối số của Foophương thức của Barlớp "là gì, khi bất kỳ kẻ ngốc nào cũng có thể Google sử dụng tài liệu đó) trái ngược với các câu hỏi về kiến ​​trúc / thiết kế hiển thị ứng viên có thể hoàn thành công việcgiải quyết các vấn đề kinh doanh .

1
Tôi nghĩ rằng "Đảo ngược một chuỗi" là một câu hỏi khởi đầu tuyệt vời trong một cuộc phỏng vấn mã hóa. Nếu họ không biết bắt đầu từ đâu (và một số lượng người đáng kinh ngạc thì không), có lẽ bạn không muốn thuê họ. Nếu họ sử dụng phương pháp tích hợp sẵn, điều đó tốt - nó cho bạn biết rằng họ sẽ không thử tự chế tạo bánh xe của mình nếu được cung cấp - nhưng sau đó đưa ra một tình huống giả định trong đó phương pháp tích hợp có lỗi nên họ cần phải viết riêng của họ. Sau đó, bạn có thể sử dụng mã của họ làm điểm bắt đầu để hỏi các câu hỏi khác như cách sửa bất kỳ lỗi nào, sử dụng bộ nhớ, thời gian chạy, v.v.
Gabe

0

Một pro là nó cho thấy ai đó có kiến ​​thức cơ bản về lập trình hoặc bất cứ điều gì (lần cuối cùng tôi gặp điều đó, tôi đã ngạc nhiên về câu hỏi SQL cơ bản như thế nào). Nó cũng có thể làm cơ sở cho một cuộc thảo luận kỹ thuật, hỏi tại sao ứng cử viên lại làm như vậy và như vậy, và làm thế nào để cải thiện nó.

Nó mất thời gian trong cuộc phỏng vấn, có thể được sử dụng cho những thứ khác. Hơn nữa, viết mã trên bảng trắng không phải là môi trường tự nhiên và một số người sẽ gặp nhiều vấn đề nghiêm trọng hơn với nó. Nó có thể khiến bạn bỏ lỡ một nhà phát triển chỉ lo lắng mà không có các công cụ hoặc tài liệu tham khảo thông thường.


3
Điều làm bạn ngạc nhiên hơn nữa là có bao nhiêu người không thể trả lời câu hỏi cơ bản đó hơn ai có thể.
HLGEM

0

Lập trình là một kỹ năng kỹ thuật cao với một loạt các "sản phẩm" rõ ràng. Một ứng cử viên có thể hoặc không thể cung cấp chúng. Vì vậy, không có "khuyết điểm" để đặt câu hỏi kỹ thuật. Điều đó hoàn toàn có thể nói, "hiển thị cho tôi một số mã cho ứng dụng này hoặc" hiển thị cho tôi mã cho ứng dụng mà bạn đã viết. "

KHÔNG làm như vậy có thể dẫn đến một kết quả như sau: Một người đàn ông giàu có đã phỏng vấn một gia sư để dạy con mình chơi cờ vua (như một bài tập mở rộng tâm trí). Gia sư đã mở một bảng rô và bắt đầu nói về 64 ô vuông nhưng không chạm vào một quân cờ. Bị ép thời gian, dù sao bố cũng thuê gia sư. Và gia sư đã dạy các em chơi KIỂM TRA.


Điều đó chỉ cho thấy một ví dụ về một người phỏng vấn bất tài, không cần thiết phải thực sự chơi cờ trong một cuộc phỏng vấn. Người đàn ông giàu có thể vừa hỏi 'giải thích Castling' cho tôi, hoặc một cái gì đó tương tự, và ngay lập tức có một ý tưởng về những gì gia sư biết.
GrandmasterB
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.