บัฟเฟอร์โอเวอร์โฟลว์เป็นที่ยอมรับจากนักพัฒนาบัณฑิตหรือไม่? เราตั้งค่าแถบสูงเกินไปหรือไม่ ความสามารถที่คาดหวังของวิศวกรระดับบัณฑิตศึกษา / รุ่นจูเนียร์คืออะไร?
บริบท:
ขณะนี้เรากำลังสรรหาตำแหน่งผู้พัฒนารุ่นใหม่ซึ่งทำงานใน C บน Linux เป็นหลัก
เป็นส่วนหนึ่งของกระบวนการเราต้องการผู้สมัครเพื่อทำการทดสอบรหัสให้สมบูรณ์ในช่วงเวลาว่างใน C
จนถึงตอนนี้เราได้ปฏิเสธผู้สมัครสองคนบนพื้นฐานที่รหัสของพวกเขาแม้ว่าจะอ่านได้และในกรณีหนึ่งค่อนข้างเป็นสำนวน แต่ได้รับความเดือดร้อนจากข้อผิดพลาดบัฟเฟอร์ล้นเนื่องจากการเขียนบัฟเฟอร์ไม่มากมาย
[แก้ไข]:
- เราขอรหัสตรวจสอบข้อผิดพลาดรหัสคุณภาพการผลิตอย่างชัดเจน
- เราจัดทำกรอบการทดสอบและสร้างสำหรับผู้สมัคร
[Update]:
จากหัวข้อนี้และการสนทนาที่เรามีกับนักพัฒนาคนอื่น ๆ ด้วยตนเองเรากำลังเปลี่ยนวิธีการทดสอบโค้ดและเรากำหนดเป้าหมายด้วยการสรรหาบุคลากรของเรา
เราตัดสินใจว่าผู้สมัครที่ไม่สามารถแก้ไขหรือเข้าใจบัฟเฟอร์ล้นได้หมายความว่าเขาจะไม่เหมาะสมกับงานที่เราดำเนินการโดยเฉพาะอย่างยิ่งเขาจะให้คำปรึกษามากกว่าที่เราพอใจ ดังนั้นเราจะยังคงปฏิเสธผู้สมัครที่ไม่สามารถส่งตัวอย่างรหัสที่มีประสิทธิภาพได้ในที่สุด
อย่างไรก็ตามเราได้กำหนดมาตรการบางอย่างเพื่อให้กระบวนการสรรหามีประสิทธิผลมากขึ้นสำหรับเราและผู้สมัคร
โดยเฉพาะอย่างยิ่ง:
- เราทำให้ความคาดหวังของเราชัดเจนยิ่งขึ้นพร้อมคำอธิบายที่ชัดเจนเกี่ยวกับสิ่งที่เราหมายถึงโดยคุณภาพการผลิตและคำเตือนว่ารหัสนั้นคาดว่าจะแข็งแกร่งเมื่อเทียบกับอินพุตและข้อผิดพลาด
- ตอนนี้เราเชื่อมโยงผู้สมัครเข้ากับแหล่งข้อมูลเกี่ยวกับการตั้งโปรแกรมป้องกันและห้องสมุดมาตรฐาน C ในคำอธิบายของการทดสอบรหัส
- เราเปลี่ยนผู้ชมเป้าหมายจากนักพัฒนารุ่นเยาว์และผู้จบการศึกษาเป็นกลุ่มเป้าหมายที่มีประสบการณ์ที่เกี่ยวข้อง
- ในกรณีที่รหัสที่ส่งมาล้มเหลวในบางกรณี แต่อาจจะได้รับการยอมรับเป็นอย่างอื่นเราได้เตรียมกรณีทดสอบขั้นต่ำที่ทำให้เกิดข้อผิดพลาดและให้โอกาสผู้สมัครแก้ไขข้อผิดพลาดของพวกเขา (เว้นแต่รหัสถูกปฏิเสธด้วยเหตุผลอื่น) นอกจากนี้เราจะชี้ให้เห็นเส้น / ฟังก์ชั่นที่มีปัญหาตามความเหมาะสม
- เป้าหมายของการทดสอบตอนนี้เปลี่ยนไปเล็กน้อยจากตัวกรองส่วนหน้าไปเป็นโอกาสในการสร้างภาพที่ดีขึ้นของผู้สมัครโดยเฉพาะอย่างยิ่งมันจะแจ้งการสนทนาทางโทรศัพท์ของเรา ที่กล่าวว่าเรายังยินดีที่จะปฏิเสธตามรหัสเท่านั้น
[อัพเดต 2015-07-09]: Andy Davis จาก Nujob ได้เขียนบทความที่น่าสนใจและเกี่ยวข้องในการใช้การทดสอบโค้ดจากมุมมองของผู้สมัครและบทความนั้นคุ้มค่าที่จะดู พบว่ามันนี่