แม้ว่าโดยทั่วไปจะเป็นข้อกังวล แต่ฉันคิดว่าปัญหานี้ไม่มีอยู่เนื่องจากการตั้งค่า
ผู้สมัครส่งรหัสต้นฉบับมาให้คุณ มันเกิดขึ้นได้อย่างไรหรือทำไม?
เห็นได้ชัดว่ามีเพียงสามความเป็นไปได้:
- คุณให้ผู้สมัครได้รับมอบหมายเพื่อแก้ปัญหาเฉพาะ (ที่กำหนดไว้อย่างดี) เพื่อประเมินทักษะของเขา
- ผู้สมัครต้องการอวดสิ่งที่เขาเขียน
- ผู้ยื่นคำขอเป็นกระตุกหรือเป็นสายลับหรือบุคคลที่เป็นอันตรายและไม่สนใจที่จะได้รับการว่าจ้าง สิ่งที่เขาหวังคือคุณจะโง่พอที่จะเรียกใช้รหัสของเขา
ประมาณ 2) และ 3)
ความเสี่ยงหลักคือความแตกต่างระหว่าง 2) และ 3) โอกาสสูงว่าถ้าสิ่งที่เขาเขียนนั้นดูน่าสนใจมันเป็นสิ่งที่คุณสามารถได้รับซอร์สโค้ดสำหรับออนไลน์ (จากแหล่ง "เป็นกลาง") และคุณอาจคุ้นเคยกับมันอยู่แล้วหรือเป็นสิ่งที่คุณสวมใส่จริง ๆ ไม่ต้องการดูเพราะคุณจะละเมิดทรัพย์สินทางปัญญาของคู่แข่ง (อดีตนายจ้าง) คนหลังจะหมายความว่าคุณไม่ต้องการจ้างคนนั้นอยู่ดี
หากคุณสามารถรับแหล่งที่มาออนไลน์ทำเช่นนั้น หากคุณสามารถตรวจสอบผลงานของผู้สมัครกับซอฟต์แวร์ที่รู้จักกันดี (รวมถึงซอฟต์แวร์ที่เป็นกรรมสิทธิ์) โดยใช้ชื่อของเขาในเครดิตให้ทำเช่นนั้น
ในกรณีอื่น ๆ เพียงเพิกเฉยสิ่งที่เขาส่งมาให้คุณ มันอาจไม่คุ้มค่าที่จะดูหรือผิดกฎหมายหรือมีความเสี่ยงสูง
ประมาณ 1)
ผู้สมัครส่งบางอย่างให้คุณเพราะคุณมอบหมายงานให้เขา หากคุณมีความสามารถใด ๆ (ซึ่งฉันคิดว่าคุณทำ!) จากนั้นสำหรับการมอบหมายการเขียนโปรแกรมทั่วไป (... ที่คุณเลือกด้วยตัวเอง!) คุณจะสามารถบอกได้ว่ามันเป็นวิธีการแก้ปัญหาที่เป็นไปได้ โดยการดูซอร์สโค้ดน้อยกว่า 30 วินาที (น่าจะมากกว่า 10 วินาที)
หากคุณไม่สามารถบอกได้ว่าโปรแกรมนั้นอาจใช้งานได้ (หรือสิ่งที่กำลังทำอยู่) ภายใน 30 วินาทีผู้ที่เขียนมันไม่ใช่คนที่คุณต้องการจ้าง fullstop คุณต้องการคนที่เขียนโค้ดที่คนอื่นสามารถเข้าใจและรักษาได้ คุณไม่ต้องการให้ใครบางคนที่พยายามทำให้สมาร์ทมาหาคุณหรือคนที่ชนะการประกวด C ที่สับสนอย่างสม่ำเสมอ มันไม่สำคัญว่าโปรแกรมจะทำงานหรือไม่ ทันทีที่บุคคลอื่นไม่เข้าใจโค้ดมันจะไม่ "ทำงาน"
หากโปรแกรมดูเหมือนว่ามันอาจจะใช้งานได้ แต่คุณจะพบสิ่งใดที่มีลักษณะ "แปลก" (เช่น Java unicode escape sequences, สตริงตัวอักษรสตริง C ++ ดิบ, สิ่งที่ดูเหมือน trigraphs, อะไรก็ตาม) ให้ถือว่าการมอบหมายเป็น "ล้มเหลว", ย้าย ไปยังผู้สมัครต่อไป ไม่จำเป็นต้องรวมสิ่งที่ชอบไว้ใน 99% ของโปรแกรมทั้งหมด (และแน่นอนว่าไม่ใช่ในการมอบหมายของคุณ - ฉันควรหวัง) ดังนั้นหากคุณพบสิ่งที่ "แปลก" เช่นนั้นผู้สมัครไม่ใช่คนที่คุณต้องการจ้าง
หากรหัสผ่านการทดสอบครั้งแรกนั้นคุณอาจต้องใช้เวลาอีก 2-3 นาทีเพื่อดูให้ละเอียดยิ่งขึ้น หากคุณยังคงพอใจกับสิ่งที่คุณเห็นหลังจากนั้นคุณอาจเรียกใช้งานผ่านตัววิเคราะห์แบบคงที่และรวบรวมในเครื่องเสมือนในระดับการเตือนที่สูง
สิ่งนี้จะทำให้เกิดปัญหาที่คุณอาจพลาดขณะอ่านแหล่งที่มา (เช่นการเรียกใช้พฤติกรรมที่ไม่ได้กำหนดหรือการแปลงให้แคบลง)
การคอมไพล์ก่อนอื่นจะบอกคุณว่าผู้สมัครมีความขยันและใส่ใจในรายละเอียดหรือไม่ไม่มากนักว่าเขามีทักษะการเขียนโปรแกรมหรือไม่ เช่นเดียวกับการเขียนชื่อนายจ้างอย่างถูกต้องในใบสมัครของคุณและตรวจสอบ CV ของคุณก่อนที่จะส่งมอบให้คุณควรตรวจสอบให้แน่ใจว่าซอร์สโค้ดที่คุณส่งมานั้นคอมไพล์โดยไม่มีข้อผิดพลาด (และดีกว่าโดยไม่มีคำเตือน) หากมีคนล้มเหลวในการทำเช่นนั้นคุณไม่ต้องการจ้างเขา
ความเสี่ยงของสิ่งชั่วร้ายที่เกิดขึ้น ณ จุดนี้ (การใช้ประโยชน์จากคอมไพเลอร์และการแตกออกจาก VM) เป็นสิ่งที่ไม่ควรพิจารณาเนื่องจากคุณได้ทำการตรวจสอบความน่าเชื่อถือผ่านโค้ดแล้ว จะไม่เกิดขึ้น