จากประสบการณ์ของฉันก่อนที่คุณจะเริ่มทำงานกับ บริษัท คุณไม่มีโอกาสได้ดู code-base (ฉันถามและด้วยเหตุผลของการรักษาความลับทุกคนมักจะบอกว่าไม่ฉันคิดว่ามันยุติธรรม) ดังนั้นระหว่างการสัมภาษณ์ คุณคิดว่าเป็นคำถามที่สำคัญที่สุดในการขอให้ตรวจสอบว่ารหัสอยู่ในสถานะใด (หลังจากทั้งหมดถ้าเป็นสุนัขคุณจะต้องอยู่ในกลุ่มผู้โชคร้ายที่ต้องเดินทุกวัน)?
UPDATE:
รายการตรวจสอบ: ถาม;
- สิ่งที่พวกเขาคิดเกี่ยวกับ codebase และเมื่อคุณทำอย่างนั้นให้ใส่ใจกับการแสดงออกทางสีหน้าและเวลาที่พวกเขาต้องตอบ [อานนท์]
- ระดับ CMM ของ บริษัท คืออะไร [DPD] (และถ้าคุณได้ยินระดับ 5 ให้ใช้วิธีอื่น [Doug T])
- วงจรชีวิตใดที่พวกเขาใช้ [DPD] (และถ้าคุณได้ยิน "Agile" นั่นคือเมื่อคุณเริ่มถามคำถามเจาะเพื่อลองคิดดูว่าโดย "Agile" พวกเขาหมายถึง "Agile หรือ" Cowboy coding "[Carson63000]
- เครื่องมือใดที่พวกเขาใช้เพื่อประเมินคุณภาพโค้ด [DPD]
- เครื่องมืออะไรที่พวกเขาใช้สำหรับการพัฒนา [DPD] (ค้นหาเครื่องมือ refactoring และเซิร์ฟเวอร์บิลด์ต่อเนื่อง)
- ระบบที่ใช้ซอร์สโค้ด (การควบคุมเวอร์ชัน) คืออะไรและการติดตามที่ดีคือการถามว่าทำไมจึงใช้ [Zachary K]
- ขั้นตอนการทดสอบของพวกเขาเป็นอย่างไร? [Karl Bielefeldt] (มองโดยเฉพาะอย่างยิ่งสำหรับทีมที่ใช้กรอบการเยาะเย้ยและให้ความสำคัญกับการทดสอบหน่วยอัตโนมัติอย่างละเอียดผ่านกรอบการทำงานที่กำหนดเช่น NUnit / JUnit อย่าถูกเลื่อนออกไปโดยทีมที่ไม่ได้ใช้การทดสอบขับเคลื่อนการพัฒนา TDD ระวังหากพวกเขาไม่พิจารณาการทดสอบว่าเป็นส่วนสำคัญและเป็นรากฐานสำคัญของการพัฒนาซอฟต์แวร์ที่มั่นคงมองหาทีมที่มีผู้ทดสอบที่ทุ่มเท)
- การมอบหมายประเภทใดให้นักพัฒนาใหม่? เพื่อนักพัฒนาที่มีประสบการณ์? [Karl Bielefeldt]
- มีคนทำงานในโครงการกี่คน [Karl Bielefeldt]
- อนุญาตให้ทำการเปลี่ยนใหม่หรือไม่ ได้รับการสนับสนุน? [Karl Bielefeldt]
- กระบวนการที่เกี่ยวข้องกับคุณภาพหรือการเปลี่ยนแปลงสถาปัตยกรรมใดที่อยู่ระหว่างการพิจารณาหรือเพิ่งทำไปเมื่อเร็ว ๆ นี้ [Karl Bielefeldt]
- บุคคลมีอิสระในการปกครองตนเองมากน้อยแค่ไหนในโมดูล [Karl Bielefeldt]
- คุณจะพัฒนาโครงการใหม่ (การพัฒนากรีนฟิลด์) หรือโครงการดั้งเดิม (การพัฒนาบราวน์ฟิลด์) หรือไม่? (การพัฒนากรีนฟิลด์เป็นเรื่องสนุกมากขึ้นและมีปัญหาน้อยลงเนื่องจากคุณไม่ได้ทำความเข้าใจกับความผิดพลาดของคนอื่น)
- อัตราการลาออกของพนักงานสูงในองค์กรหรือในทีมหรือไม่? (ซึ่งมักจะบ่งบอกถึงคุณภาพของรหัสที่ต่ำกว่า) [M.Sameer]
- ปัญหาการเขียนโปรแกรมบางอย่างของคุณเอง; แต่หลีกเลี่ยงการดูเหมือนกระตุก [สปาร์ก]
- นักพัฒนาทำงานร่วมกันได้อย่างไรและมีการแบ่งปันความรู้ระหว่างทีมอย่างไร (สิ่งนี้ควรตรงกับบุคลิกของคุณฉันจะบอกว่าการผสมผสานระหว่างงานเดี่ยวและงานคู่น่าจะดีที่สุดโดยมีอัตราส่วนที่ตรงกับความต้องการทางสังคมของคุณ)
- วิธีปิดฐานข้อมูลของพวกเขาคือแบบฟอร์มปกติที่ 3 (3NF) และถ้ามันเบี่ยงเบนที่ไหนและทำไม (หากพวกเขาพูดว่า "3NF ???" ออกไปถ้าไม่และอาจมีเหตุผลที่ดีสำหรับสิ่งนั้นไม่ให้ค้นหาสิ่งที่พวกเขาเป็น)
หมายเหตุ: ฉันยอมรับคำตอบของอานนท์เพราะหลังจากผ่านไปประมาณหนึ่งสัปดาห์ชุมชนคิดว่าเป็นคำตอบที่ดีที่สุด - ฉันคิดว่าสิ่งนี้ชี้ให้เห็นว่ามันเป็นสิ่งที่คุณต้องการพัฒนาความรู้สึกที่หก แต่ฉันคิดว่าทุกคนมีสิ่งที่มีค่าที่จะพูด