Những tiêu chuẩn có thể được mong đợi từ các kỹ sư tốt nghiệp / cơ sở? [đóng cửa]


38

Là bộ đệm tràn được chấp nhận từ một nhà phát triển tốt nghiệp? Có phải chúng ta đặt thanh quá cao? Khả năng mong đợi của các kỹ sư tốt nghiệp / cơ sở là gì?

Bối cảnh:

Chúng tôi hiện đang tuyển dụng cho vị trí Nhà phát triển Junior làm việc chủ yếu trong C trên Linux.

Là một phần của quy trình, chúng tôi yêu cầu các ứng viên hoàn thành bài kiểm tra mã khi rảnh rỗi trong C.

Cho đến nay, chúng tôi đã từ chối hai ứng cử viên trên cơ sở rằng mã của họ, mặc dù có thể đọc được và trong một trường hợp khá thành ngữ, bị lỗi tràn bộ đệm do ghi bộ đệm không bị chặn.

[Chỉnh sửa]:

  • Chúng tôi rõ ràng yêu cầu kiểm tra lỗi, mã chất lượng sản xuất.
  • Chúng tôi cung cấp một khung kiểm tra và xây dựng cho các ứng cử viên

[Cập nhật]:

Do kết quả của chủ đề này và những cuộc trò chuyện mà chúng tôi đã có với các nhà phát triển khác, chúng tôi đang thay đổi cách chúng tôi thực hiện kiểm tra mã và những người chúng tôi nhắm mục tiêu với việc tuyển dụng của chúng tôi.

Chúng tôi đã quyết định rằng một ứng cử viên không thể sửa chữa hoặc hiểu được lỗi tràn bộ đệm có nghĩa là anh ta sẽ không phù hợp với công việc chúng tôi thực hiện, đặc biệt là anh ta sẽ cố vấn nhiều hơn chúng tôi cảm thấy thoải mái. Do đó, chúng tôi vẫn sẽ từ chối các ứng cử viên cuối cùng không thể gửi mẫu mã mạnh mẽ.

Tuy nhiên, chúng tôi đã đưa ra một số biện pháp để làm cho quá trình tuyển dụng hiệu quả hơn cho cả chúng tôi và các ứng viên.

Đặc biệt:

  • Chúng tôi làm cho kỳ vọng của chúng tôi rõ ràng hơn, với lời giải thích rõ ràng về ý nghĩa của chất lượng sản xuất và cảnh báo rằng mã được dự kiến ​​sẽ mạnh mẽ đối với đầu vào và lỗi.
  • Bây giờ chúng tôi liên kết các ứng cử viên với các tài nguyên về lập trình phòng thủ và thư viện chuẩn C trong phần mô tả kiểm tra mã.
  • Chúng tôi đã thay đổi đối tượng mục tiêu từ các nhà phát triển và sinh viên tốt nghiệp Junior để nhắm mục tiêu đến những người có một số kinh nghiệm có liên quan.
  • Trong trường hợp mã được gửi không thành công theo một cách nào đó nhưng sẽ được chấp nhận, chúng tôi hiện cung cấp một trường hợp thử nghiệm tối thiểu gây ra tình trạng lỗi và cho các ứng viên cơ hội sửa lỗi của họ (trừ khi mã bị từ chối vì một số lý do khác). Chúng tôi cũng sẽ chỉ ra các dòng / chức năng có vấn đề nếu thích hợp.
  • Mục tiêu của các bài kiểm tra hiện đã thay đổi một chút từ bộ lọc giao diện người dùng sang cơ hội xây dựng hình ảnh tốt hơn về ứng viên, đặc biệt là nó sẽ thông báo thảo luận qua điện thoại của chúng tôi. Điều đó nói rằng, chúng tôi vẫn sẵn sàng từ chối chỉ dựa trên mã.

[Cập nhật 2015-07-09]: Andy Davis từ Nujob đã viết một bài viết thú vị và có liên quan về việc sử dụng bài kiểm tra mã theo quan điểm của ứng viên, và bài viết này rất đáng để xem. Tìm nó ở đây .


29
Có lẽ...? Xem xét rằng dường như nhiều người trong trường bây giờ có nhiều kinh nghiệm về Java hơn ở C. Nếu các ứng viên mới ra trường và 2/3 tiếp xúc với mã hóa của họ là Java, C của họ có thể không đủ mạnh để vượt qua bạn kiểm tra. NHƯNG ... nếu họ cởi mở và sẵn sàng học hỏi, bạn sẽ nói gì? Rốt cuộc, đây là một vị trí Junior ...
Thất vọngWithFormsDesigner

4
Đó cũng là mã được viết trong một cuộc phỏng vấn, có lẽ có thể tha thứ cho những hạn chế về thời gian. Ít nhất tôi chắc chắn phải đề cập với họ rằng mã của họ cần không bị tràn bộ đệm.
Mansfield

4
Tôi thứ hai @FrustratedWithFormsDesigner. Tôi là một nhà phát triển cơ sở và lần duy nhất tôi phải đối phó với C là một vài bài tập trong một lớp về kiến ​​trúc CPU. Trong khi đó, tôi cho rằng bản thân mình khá ổn tại C #, Java và Ruby.
Kevin - Hồi phục lại

4
Và khung kiểm tra có bao gồm kiểm tra gây ra lỗi tràn bộ đệm không?
Thất vọngWithFormsDesigner

44
Tôi không thể nói rằng bạn đang làm gì sai, nhưng sau khi phỏng vấn hàng chục sinh viên tốt nghiệp đại học CS trong vài năm qua, tôi thấy rằng hầu hết không có khái niệm gì về "mã chất lượng sản xuất". Tôi không nghĩ rằng hầu hết các giảng viên CS quan tâm đến việc viết mã để người khác sử dụng.
Jim ở Texas

Câu trả lời:


109

Tôi không nghĩ bạn đã đặt thanh quá cao, tôi nghĩ bạn có thể cần một thanh khác.

Tôi nghĩ rằng các bài kiểm tra mã là hữu ích để xác định năng lực của một ứng cử viên, nhưng họ không nên vượt qua / thất bại. Bạn nên sử dụng kết quả kiểm tra mã để bắt đầu một hộp thoại với ứng viên.

Nếu bạn thấy những lỗi mà họ đã mắc phải (đặc biệt là nếu họ là nhà phát triển cơ sở) chỉ ra và hỏi họ những gì họ làm khác đi hoặc nếu họ hiểu tại sao có vấn đề.


1
+1 đó là sự thật và đó là một gợi ý hay. Trên thực tế, chúng tôi đã yêu cầu các ứng viên xem xét mã của họ để tìm lỗi, cho họ nhiều thời gian để làm như vậy, nhưng họ đã quay lại với loại sửa sai, trong một số trường hợp làm cho mã xấu hơn, mà không sửa lỗi gây ra lỗi tràn ở nơi đầu tiên
brice

15
@brice Khá nhiều minh chứng chắc chắn rằng họ thực sự là những nhà phát triển cơ sở. Tránh những sai lầm dường như rõ ràng đi kèm với thực hành và kinh nghiệm.
Tombatron

34
@brice: anh ấy đã nói để thảo luận về các lỗi cụ thể với họ; đừng nói có lỗi và yêu cầu họ quay lại với bạn. Thảo luận về các lỗi trong thời gian thực - cung cấp cho họ một gợi ý (số dòng hoặc có thể mô tả và chức năng và yêu cầu họ cung cấp cho bạn số dòng), sau đó hỏi làm thế nào nó có thể được ngăn chặn. Mục tiêu không phải là mã kiểm tra không có lỗi, nhưng hiểu rõ về điểm mạnh và điểm yếu của người nộp đơn.
jmoreno

6
Nếu nhà phát triển cơ sở có thể nhìn thấy vấn đề, họ sẽ sửa vấn đề. Nếu là tôi, tôi sẽ kiểm tra khả năng làm việc với bạn. Nói cho họ biết vấn đề là gì và có thể tìm thấy nó ở đâu, đưa ra cách đối xử tương tự mà bạn dành cho đồng nghiệp thực tế của mình và xem họ phản ứng như thế nào. Nếu làm việc với họ là một việc vặt, họ không phù hợp với vị trí này. Nếu làm việc với họ là một niềm vui, sau đó thuê họ.
zzzzBov

67

Tôi nghĩ rằng vòng loại cơ sở là những gì làm cho tất cả sự khác biệt ở đây. Người cao niên không nên được kiểm tra năng lực, họ nên được kiểm tra khả năng học hỏi, sự tò mò, niềm đam mê, đạo đức và sự khiêm tốn. Giả định với một thiếu niên nên là họ không đủ năng lực , đó là công việc của bạn với tư cách là cấp cao để khiến họ trở nên như vậy.

Rõ ràng là họ sẽ có thể viết mã cơ bản như fizzbuzz và có kiến ​​thức chung về các khái niệm; nếu bạn chỉ ra cho họ và họ thậm chí không biết tràn bộ đệm là gì, thì tôi sẽ nói là không nên, nhưng tôi không mong đợi một thiếu niên viết hơn 5 dòng mã mà không có lỗi.

Ngày bạn tin tưởng vào năng lực của đàn em là ngày bạn nên đặt câu hỏi, đàn em nên được đối xử với rất nhiều cố vấn và một liều "tin tưởng nhưng xác minh" lành mạnh. Tôi đã là một thiếu niên một lần, và với tất cả những người ở đó vào thời điểm đó: tôi xin lỗi. Hãy nhớ những điều khủng khiếp mà bạn đã làm khi còn nhỏ? (Xin đừng nói với tôi rằng đó chỉ là tôi; bạn sẽ cho tôi một phức tạp ..)


1
Tôi chính thức vẫn là một 'Kỹ sư phần mềm cơ sở' với toàn bộ 2 năm kinh nghiệm! Nền tảng của tôi không thuộc về Kỹ thuật CS hay SW (Đó là về Vật lý). Tôi sẽ không sẵn sàng nộp mã phân tách trên bất kỳ đầu vào nào, ngay bây giờ hoặc khi tôi được tuyển dụng.
brice

31
sửa chữa, bạn sẽ không cố ý đưa mã phân tách vào bất kỳ đầu vào nào. Nếu bạn chỉ tuyên bố rằng bạn không bao giờ viết lỗi, thì xin lỗi đã làm phiền bạn John Carmack.
Jimmy Hoffa

Hầm! ủng hộ! Đó chắc chắn không phải là yêu cầu của tôi. Tôi đã phát hành mã lỗi, một số tồi tệ hơn những mã khác. Nhưng không ai giống như ví dụ đầu tiên về những việc không nên làm khi bạn google cho "tràn bộ đệm"
brice

Chúng tôi thậm chí cung cấp một khung kiểm tra cho mã, bao gồm các thử nghiệm đã kích hoạt tràn!
brice

@brice Khi bạn nói rằng bạn đã cung cấp khung kiểm tra, bạn đã cung cấp một công cụ như valgrind để kiểm tra các vấn đề về bộ nhớ chưa?
BЈовић

15

Tôi thấy một vài vấn đề ở đây.

Đầu tiên là giả sử rằng một sinh viên tốt nghiệp khoa học máy tính trung bình biết, tốt, bất cứ điều gì. Họ không. Thẳng thắn mà nói, tôi rất ngạc nhiên khi thấy một sinh viên tốt nghiệp ngành khoa học máy tính biết cách cài đặt và thiết lập Visual Studio . Heck, gần đây tôi đã làm việc với một anh chàng tuyên bố đã có hơn năm năm kinh nghiệm về Microsoft stack viết mã .NET mà không thể tìm ra TFS là gì hoặc làm thế nào để kết nối.

Thứ hai là hồ bơi rất hạn chế của bạn. Chúng tôi cũng có các ứng cử viên làm một bài kiểm tra lập trình. Có năm "chương trình" riêng biệt họ phải viết. Họ làm điều đó ở nhà và gửi mã qua. Các thử nghiệm cực kỳ đơn giản (không có cơ sở dữ liệu, không phụ thuộc bên ngoài) và có thể dễ dàng thực hiện bằng phiên bản Express của Visual Studio. Các bài kiểm tra dễ dàng được hoàn thành bởi một anh chàng cao cấp trong khoảng 30 phút. Lưu ý rằng chúng tôi thường chỉ làm những việc này cho sinh viên tốt nghiệp gần đây trong tối đa ba năm kinh nghiệm làm việc có thể kiểm chứng.

Những gì chúng tôi đã định lượng là khoảng 70% những người được kiểm tra đơn giản là không bao giờ quay lại với chúng tôi. Khoảng 15% biến thành những thứ không được biên dịch, thường là do lỗi cú pháp trắng trợn (ví dụ, thiếu ;). 10% biên dịch khác nhưng không thực hiện các hành động cần thiết.

Điều này để lại một con số khổng lồ 5%. Tại thời điểm này, chúng tôi thậm chí không xem xét các điều kiện như nhập ký tự alpha làm đầu vào khi cần số. Đó hoàn toàn là một bộ X rất hạn chế khi đầu vào ứng dụng thực hiện đầu ra thích hợp. Ngoài ra, những con số này đến từ khoảng 500 ứng cử viên trong bốn năm qua: chúng tôi giữ số liệu thống kê vì chúng tôi muốn biết.

Nếu chúng ta xem xét nhiều hơn về cấu trúc mã và các kỹ thuật mã hóa phòng thủ như xử lý đúng cách các tài nguyên không được quản lý hoặc sử dụng các try .. catchcâu lệnh thì hầu như không ai sẽ vượt qua.

Câu hỏi, tất nhiên, là tại sao?

Tại sao một đứa trẻ có bằng cấp trong lĩnh vực này từ một trường đại học bốn năm hoàn thành các nhiệm vụ lập trình đơn giản là gì? Câu trả lời là các trường đại học hoàn toàn mất liên lạc với nhu cầu kinh doanh và tụt hậu nhiều năm so với những gì chúng ta coi là hiện đại. 10 năm trước, các tiêu chuẩn mã hóa là bảo mật là thứ bạn đã làm sau khi thực tế; và các bài kiểm tra đơn vị thậm chí không thịnh hành. Trong khi đó ngày nay bảo mật tốt hơn luôn đi đầu trong tâm trí của bạn với mọi tính năng hoặc cải tiến. Chỉ cần nhớ: hầu hết các giáo sư chưa bao giờ thực sự làm việc trong lĩnh vực này HOẶC đã không làm việc trong đó trong một thời gian dài. Một khi bạn biết điều đó, sau đó bạn bắt đầu hiểu lý do tại sao họ lại ở phía sau rất xa. Tồi tệ hơn, một số giáo sư dành quá nhiều thời gian cho một công nghệ cụ thể ( Java , PHP, bất cứ điều gì) và không thảo luận về các vấn đề cơ bản nghiêm trọng như cấu trúc mã hoặc các phương pháp có thể chấp nhận (và TẠI SAO!).

Chỉ là một ví dụ phụ. Một sinh viên tốt nghiệp gần đây đã kể cho tôi nghe về một số kinh nghiệm của anh ấy khi viết HĐH di động cho một trong các lớp của anh ấy, nhưng anh ấy không thể giải thích, ngay cả về mặt cơ bản, cách một máy chủ web hoạt động. Anh chỉ đơn giản là không biết. 15 hoặc 20 năm trước có lẽ là thời điểm thích hợp để hiểu cách tạo ra một hệ điều hành. Hôm nay ... không nhiều lắm. Tuy nhiên, đây là một lớp bắt buộc khi một lớp về lập trình phòng thủ sẽ hữu ích hơn nhiều đối với họ VÀ thế giới bên ngoài.

Vậy, chúng ta làm gì?

Trong số 5% đó, chúng tôi sẽ phỏng vấn thêm một chút để có ý tưởng về tính cách và sự phù hợp của họ. Sau đó, chúng tôi chọn những người "tốt nhất" với kiến ​​thức đầy đủ mà chúng tôi sẽ dành khoảng sáu tháng để "lập trình lại" cho họ để thoát khỏi những lời nhảm nhí mà các giáo sư của họ đã lấp đầy.


2
Hoàn toàn đồng ý ở đây, tôi đã học được nhiều hơn trong 2 năm rưỡi của mình trong ngành sau đó tôi đã học được ở trường đại học. Tôi đã học được điều này một cách đau đớn sau khi tôi thực tập đầu tiên với tư cách là một nhà phát triển web khi còn đi học.
Ryan

5
Bây giờ tôi muốn thử kiểm tra lập trình của bạn ..
Akash

1
Có thật không? Kinh nghiệm cài đặt các phần mềm cụ thể và khả năng cung cấp phiên bản đơn giản hóa cho những gì máy chủ web thực hiện là những gì bạn đang tìm kiếm? Nếu ai đó có thể đối phó với việc viết một hệ điều hành di động, họ có thể tìm hiểu cách hoạt động của máy chủ web.
Michael Shaw

@MichaelShaw: Nếu ai đó đang viết HĐH, nhưng chưa được dạy các hoạt động cơ bản của loại máy chủ phổ biến nhất thì điều đó cho thấy trường học của anh ta đã bỏ qua các lĩnh vực giáo dục lớn (và có liên quan cao). Câu hỏi sau đó trở thành cái gì khác đã bị bỏ qua?
NotMe

2
@ChrisLively: Tôi không thấy một trong những điều đó là một vấn đề lớn như thế nào. Nó không giống như chúng ta có một lĩnh vực nhỏ di chuyển chậm. Học trong công việc sẽ xảy ra. Tôi nghĩ rằng bạn có thể có một điểm cơ bản tốt ở đây, nhưng các ví dụ không thuyết phục. Nếu có vấn đề với chương trình giảng dạy CS, việc thêm "Cách cài đặt Visual Studio 101" và "Khái niệm cơ bản về máy chủ web 101" sẽ không khắc phục được. (Tôi thích ý tưởng của lớp "Lập trình phòng thủ".)
Michael Shaw

5

Tôi nghĩ rằng bạn đang nhìn vấn đề sai cách. Điều bạn nên tự hỏi mình là đây: Chúng ta yêu cầu gì từ một ứng viên để họ có thể thực hiện công việc? Bạn nên đánh giá đúng vị trí và những gì nó đòi hỏi. Dưới đây là một số gợi ý về thời điểm thuê một nhà phát triển cơ sở và khi nào không.

Khi nào nên thuê một nhà phát triển cơ sở: - Nếu có quá nhiều công việc dễ dàng được thực hiện, điều đó sẽ gây lãng phí thời gian cho một nhà phát triển cao cấp hơn. - Nếu bạn sẵn sàng cố vấn và đào tạo người này trong vài năm tới. - Nếu bạn đang cố gắng phát triển công ty và muốn một người sẽ ở lại lâu dài. Một nhà phát triển cơ sở chỉ ở lại một năm sẽ lãng phí tài nguyên của công ty, họ sẽ làm rất ít để sản xuất bất cứ thứ gì, và hầu hết các kết quả sẽ là trong sự phát triển cá nhân của chính họ. - Khi bạn cảm thấy muốn chi tiền cho sự phát triển của ai đó. Vì một lần nữa, hầu hết các lợi ích sẽ là những gì họ học được.

Khi không thuê một nhà phát triển cơ sở. - Khi công việc quá phức tạp. Trong trường hợp này, nó chỉ là ra khỏi giải đấu của họ. - Khi bạn muốn tiết kiệm tiền. Một nhà phát triển cao cấp nên hoàn thành các nhiệm vụ tương tự trong một phần nhỏ thời gian với kết quả chất lượng tốt hơn và do đó sẽ luôn rẻ hơn. - Khi công việc có khả năng thuê ngoài hoặc không đủ để khiến nhân viên bận rộn. Trong những trường hợp như vậy, tốt hơn là giảm tải một số công việc cho một nhà thầu tư nhân.

Một điểm quan trọng cuối cùng. Đừng thuê một nhà phát triển cơ sở vì "đó là tất cả những gì chúng ta có thể chi trả" hoặc "đó là tất cả những gì chúng ta sẵn sàng chi tiêu" khi họ không phù hợp với công việc. Cuối cùng, tất cả những gì bạn sẽ làm là xả tiền xuống nhà vệ sinh. Bên cạnh đó, một khi họ có được những kỹ năng đó, họ sẽ yêu cầu số tiền lớn bằng mọi giá.

Về tôi:

  • Bằng cấp về vật lý với hầu như không được đào tạo chính thức.
  • Hai năm kinh nghiệm làm việc. Vì vậy, tôi biết những gì quá trình học tập là tất cả về.
  • Bắt đầu phát triển phần mềm. Tôi đã làm công việc rất đòi hỏi và đã thấy tất cả các cấp độ kỹ năng khác nhau từ các cá nhân khác nhau. Nhiều người trong số họ không thể xử lý nhiều việc tôi làm.

4

Như những người khác đã đề cập, các vị trí cấp dưới có thể có ít kinh nghiệm với C. Cá nhân tôi chỉ được dạy ngắn gọn về lỗi tràn bộ đệm trong C và ngay cả khi tôi có thể coi chừng họ, có khả năng tôi vẫn sẽ giới thiệu một số (đặc biệt là nếu được giao nhiệm vụ cho vay chính nó để tạo ra tràn bộ đệm). Có khả năng, nhiều nhà phát triển cơ sở sẽ là một tình huống tương tự khi họ có thể biết về lỗi tràn bộ đệm, nhưng họ chưa được chuẩn bị để xác định và xử lý chúng theo bất kỳ cách rộng rãi nào.

Với điều này, tôi sẽ nghĩ rằng câu trả lời thích hợp là đưa ra vấn đề trong lần tương tác có thể tiếp theo và hỏi họ những gì họ biết về tràn bộ đệm để kiểm tra kiến ​​thức tổng thể của họ. Sau đó, nói với họ rằng bạn đã tìm thấy một trong mã sẵn sàng sản xuất của họ. Điều này sẽ cung cấp cho bạn một cửa sổ tốt để đánh giá cách họ sẽ phản ứng với sự điều chỉnh và chỉ dẫn.

Không phải suy nghĩ phổ biến rằng một nhà phát triển cơ sở ít biết nhưng sẵn sàng và có thể học hỏi và cải thiện có giá trị hơn một nhà phát triển cơ sở biết nhiều hơn nhưng ai không thể hoặc sẽ không cải thiện?

Điều đó đang được nói, trong một trong những bình luận của bạn, bạn đã đề cập đến việc bạn đã đưa cho họ các bài kiểm tra có thể chỉ ra lỗi tràn bộ đệm trong mã của họ nếu họ đã sử dụng chúng. Vì vậy, có lẽ câu hỏi lớn hơn là tại sao họ không chạy thử nghiệm (nếu họ đã làm, tại sao họ lại chuyển sang mã lỗi)?


3

Một tràn bộ đệm là tuyệt đối không đi. Bạn có thể có một câu hỏi mã tương ứng. Trong trường hợp tất cả đều sai (có thể sai) với đoạn mã này, ứng viên sẽ có thể xác định chính xác vấn đề. Câu hỏi là, liệu vấn đề có liên quan hay không, vì dù sao bạn cũng đang chạy clint.

Tuy nhiên, trong một thử nghiệm mã dạng tự do nhân tạo, tôi sẽ bị vi phạm nhẹ như chạy nước rút. Quá ít thời gian (giả định), tâm trí hiếu động, quá lớn thôi thúc trình bày một cái gì đó hoạt động.


10
Tôi gần như đã viết chính xác câu trả lời cho đến khi tôi nhận thấy anh ấy đang đề cập đến một "đàn em", hãy ghi nhớ điều đó .. Tôi đã thấy một số đàn em sắc sảo, nhưng thậm chí họ vẫn làm những điều ngu ngốc mà không nhận ra, phần lớn kỹ thuật phần mềm chỉ có thể được dạy theo kinh nghiệm
Jimmy Hoffa

@JimmyHoffa có, chỉ cần đọc dòng đầu tiên của bạn, đã sửa lỗi "tuyệt đối không đi" của tôi. Quan điểm của bạn là đáng xem xét. Cho đến bây giờ tôi có thể sử dụng và ước tính mọi lập trình viên, nhưng một trường hợp ngoại cảm và một "kẻ nói dối".
Eggen

@JoopEggen: Tôi khá chắc chắn "nhà ngoại cảm" không phải là từ bạn đang tìm kiếm. Nếu không thì họ đã có thể đọc được suy nghĩ của bạn ...;)
NotMe

2

Tôi nghĩ bạn đang hỏi sai câu hỏi. Không có thanh mục tiêu để trở thành một lập trình viên chuyên nghiệp. Nếu có, sẽ có một bài kiểm tra lập trình tiêu chuẩn, nhưng không có. Thanh cá nhân của bạn chỉ cần được thiết lập dựa trên mức độ bạn có thể đủ khả năng chi trả, bạn có thể trả bao nhiêu tiền, bao nhiêu phần mềm của bạn có thể chấp nhận và bao nhiêu thời gian bạn có thể dành cho việc giảng dạy.

Trong trường hợp này, tôi đoán rằng lỗi tràn bộ đệm có thể có nghĩa là mã này, mà ứng viên trình bày dưới dạng mẫu của công việc mẫu mực, gặp sự cố với lỗi phân đoạn thay vì làm những gì bạn yêu cầu. Vì vậy, bạn có nên chấp nhận một lập trình viên viết mã bị lỗi với lỗi phân đoạn thay vì làm những gì bạn yêu cầu không? Hỏi:

  • Là tổ chức của bạn có khả năng thu hút bất cứ ai có thể viết mã làm việc?

  • Quá trình phát triển của bạn có đủ mạnh để một người gần như có thể viết mã có thể viết mã làm việc với sự trợ giúp của đánh giá ngang hàng và hỗ trợ thử nghiệm không?

  • Bạn có khả năng dạy các lập trình viên cách trở thành lập trình viên không, và bạn có sẵn sàng bỏ ra công sức đó và chờ đợi một vài năm và hy vọng rằng tài năng bên trong của ứng viên sẽ thành hiện thực?

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.