คุณพบคำถามอะไรที่มีคุณค่าเป็นพิเศษในการสัมภาษณ์ผู้พัฒนาซอฟต์แวร์ เกี่ยวกับคำถามที่ทำให้มีประโยชน์เป็นพิเศษคืออะไร
ฉันกำลังมองหาคำถามเฉพาะที่คุณต้องการถามไม่ใช่แค่วิธีการสัมภาษณ์เช่น "ทำให้พวกเขาเขียนโค้ด"
คุณพบคำถามอะไรที่มีคุณค่าเป็นพิเศษในการสัมภาษณ์ผู้พัฒนาซอฟต์แวร์ เกี่ยวกับคำถามที่ทำให้มีประโยชน์เป็นพิเศษคืออะไร
ฉันกำลังมองหาคำถามเฉพาะที่คุณต้องการถามไม่ใช่แค่วิธีการสัมภาษณ์เช่น "ทำให้พวกเขาเขียนโค้ด"
คำตอบ:
นี่เป็นสถานการณ์ที่เฉพาะเจาะจงสำหรับฉันเล็กน้อย แต่ฉันคิดว่ามันเป็นคำถามที่ยอดเยี่ยมกระนั้น:
ดังนั้นคุณพูดที่นี่ว่าคุณไม่เคยสัมผัส C # หรือ. NET มาก่อนใช่มั้ย ตกลงดังนั้นนี่เป็นเวิร์กสเตชัน กำหนดวิธีการเขียนโปรแกรมที่สอบถามฐานข้อมูลนี้ที่นี่และพิมพ์รายชื่อลูกค้าพร้อมคำสั่งซื้อเรียงตามชื่อลูกค้า คุณสามารถใช้ทรัพยากรใดก็ได้ที่คุณต้องการ
คำถามเดียวที่ฉันเคยทดสอบความสามารถในการเรียนรู้ของฉัน
นี่ไม่ใช่คำถามรหัส แต่เป็นพฤติกรรม:
บอกฉันสักครั้งเมื่อคุณไม่สามารถทำงานให้เสร็จตามกำหนดเวลา คุณทำอะไรลงไป? ผลลัพธ์คืออะไร
คุณเข้าโปรแกรมได้อย่างไร
เป็นวิธีที่ดีในการดูว่าบุคคลนั้นมีความหลงใหลในการเขียนโปรแกรมและทำลายน้ำแข็งหรือไม่
เมื่อสัมภาษณ์คนที่อ้างว่ามีประสบการณ์ Java ที่ไม่น่ารำคาญฉันก็ถามพวกเขาเกี่ยวกับhashcode()
และequals()
ความสัมพันธ์ระหว่างพวกเขา มันเป็นไปไม่ได้จริงๆที่จะได้รับประสบการณ์ Java ที่สำคัญโดยไม่ได้ตระหนักถึงข้อผิดพลาดที่อาจเกิดขึ้นและใครก็ตามที่ไม่รู้เรื่องนี้จะเพิ่มข้อผิดพลาดที่หายากในโครงการของฉัน
ฉันจะถามเกี่ยวกับArrayList
และLinkedList
และข้อดีข้อเสีย หวังว่านี่จะพิสูจน์ได้ว่าอย่างน้อยพวกเขาก็รู้และคิดถึงความหมายของประสิทธิภาพของรหัสที่พวกเขาเขียน
ฉันต้องการให้พวกเขาแสดงความคิดเห็นในหัวข้อทางเทคนิคบางอย่าง (ประโยชน์หรืออย่างอื่นของ Maven, การตรวจสอบกับข้อยกเว้นที่ไม่ได้ตรวจสอบ, ฯลฯ ) แล้วเล่นผู้สนับสนุนของปีศาจเพื่อดูว่าพวกเขาสามารถโต้แย้งประเด็นของพวกเขาได้ดีเพียงใด
"หนังสือด้านเทคนิคเล่มล่าสุดที่คุณอ่านคืออะไร"
หรือโดยทั่วไปแล้ว:
"คุณปรับปรุงความรู้ของคุณให้ทันสมัยได้อย่างไร"
เป็นเรื่องที่น่าอัศจรรย์ว่ามีคนกี่คนที่ไม่เคยอ่านหนังสือเทคนิคตั้งแต่เรียนจบ และถ้าคุณไม่เคยอ่านหนังสือตั้งแต่คุณเรียนจบและเรียนจบเมื่อสิบปีที่แล้วคุณอาจไม่เคยได้ยินเรื่องต่าง ๆ เช่นแบบทดสอบหน่วยรูปแบบการออกแบบหลักการของ SOLID ...
การตอบสนองต่อความคิดเห็น :
คุณสามารถโหวตฉันได้ถ้าคุณชอบ แต่นี่เป็นคำถามสัมภาษณ์ที่ฉันโปรดปราน บล็อกวิกิพีเดียดังนั้นจึงเป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับข่าวเทคโนโลยีชั้นสูงล่าสุด แต่ฉันไม่คิดว่าคุณจะสามารถเรียนรู้วิชาที่ซับซ้อนจริง ๆ (เช่นสิ่งที่คุณพบในหนังสือของ Knuth) ในเชิงลึกโดยการอ่านบล็อก
ถ้าฉันต้องเลือกระหว่างนักพัฒนาสองคนที่หนึ่งแสดงให้เห็นถึงความเต็มใจที่จะเรียนรู้วิชาที่ซับซ้อนใหม่และอื่น ๆ ไม่ได้ฉันจะจ้างคนแรก แม้ว่าเขาหรือเธอต้องการเงินมากขึ้น มันจะจ่ายออกในระยะยาว
ย้อนกลับรายการที่เชื่อมโยงนี้ ตอนนี้ทำในเวลาเชิงเส้น ตอนนี้ทำในเวลาเชิงเส้นและพื้นที่คงที่
คุณคิดว่าตัวเองเป็นคนโชคดีหรือไม่?
ฉันอ่านสิ่งนี้ในการสัมภาษณ์หนึ่งในสมาชิกผู้ก่อตั้งของ Bruel & Kjaer และมันทำให้ฉันรู้สึกคอร์ด คนที่ประสบความสำเร็จมีโอกาสสูงที่จะคิดว่าตัวเองโชคดี พวกเขาเห็นความพ่ายแพ้เป็นโอกาสในการปรับปรุงและมีแนวโน้มที่จะแบ่งปันความสำเร็จ (โชค) กับผู้คนรอบตัวพวกเขา - คนที่โชคดีนำโชคมากขึ้น *
คนที่เห็นว่าตัวเองโชคร้ายมีแนวโน้มที่จะเป็นแอปเปิ้ลที่ไม่ดีในทีมของคุณ
* ในบริบทนี้โชคควรอ่านเป็นโอกาสเตรียมการประชุมไม่ใช่โคลเวอร์สี่ใบ
อันที่เหมาะกับฉันเสมอ ...
"บอกฉันเกี่ยวกับโครงการก่อนหน้านี้ของคุณ"
จากนั้นใช้คำตอบเป็นจุดกระโดดเพื่อถามพวกเขาเกี่ยวกับบทบาทของพวกเขาในโครงการและทำไมพวกเขาถึงตัดสินใจ แทนที่จะทำการสัมภาษณ์ใน SAT ของฉันฉันเพียงแค่พูดคุยกับพวกเขา นั่นเป็นมากกว่าเพียงพอที่จะตัดสินว่านักพัฒนาซอฟต์แวร์นั้นเหมาะสมกับตำแหน่งหรือไม่
ฉันเคยได้รับการว่าจ้างให้ทำงานที่ฉันรู้ภาษาที่ใช้อยู่แล้วดังนั้นคำถามที่เจาะจงไม่ได้มีค่ามากสำหรับฉัน ฉันเองก็ไม่ค่อยสนใจเรื่องไวยากรณ์เท่าไหร่ ( คุณจะทำลูกอมฝ้ายอย่างไรในขณะที่ติดอยู่ในคอกที่เต็มไปด้วย Zebras ที่หิวโหย? ) และ gotcha คำถามดังนั้นฉันจึงไม่เคยถามคำถามแบบนั้น
หากคุณสามารถมีงานใด ๆ ในโลกมันจะเป็นอย่างไร
ฉันแค่กำลังมองหาสิ่งหนึ่งเท่านั้น: ความพยายามอย่างจริงจังที่จะตอบมัน คำตอบเดียวที่ผิดมันหัวเราะแล้วบอกผู้สัมภาษณ์ว่าเป็นคำถามสัมภาษณ์ที่น่าเบื่อที่สุดในโลก (ฉันไม่ลงคะแนนจ้าง)
มันเป็นการตั้งค่าสำหรับคำถามโปรดตลอดเวลาของฉัน :
หากคุณต้องการเป็น [Rock Star] ทำไมคุณสมัครเป็น [Internet Development Engineer III] ที่ [HugeCorp]
มันจะทำงานได้ดีที่สุดหากพวกเขาให้คำตอบที่น่ายินดี พวกเขาไม่ค่อยเห็นว่ามันจะมาและนี่เป็นเพียงโอกาสสำหรับคนที่จะเปล่งประกายด้วยการพูดอะไรบางอย่างเช่น "ชั่วโมงที่นี่ดีกว่า" หรือ "อาชีพของฉันที่นี่จะยาวนานกว่าร็อคสตาร์ทั่วไป"
ฉันโกหกว่าไม่มีคำตอบที่ผิดสำหรับคำถามแรก หากคุณไม่ได้สัมภาษณ์งานในฝันที่น่ากลัวโดยสิ้นเชิงงานที่พวกเขาสัมภาษณ์นั้นเป็นคำตอบที่ผิด และถ้าคุณสัมภาษณ์งานในฝันและยังไม่มีมันคุณควรถามตัวเองว่าทำไมคุณถึงไม่สมัครงาน
ในการสัมภาษณ์ c # ฉันชอบถามว่า "คุณจัดการกับข้อผิดพลาดได้อย่างไร"? หากฉันได้รับคำตอบที่ดีสำหรับคำถามนั้นฉันถามว่า "คุณจะติดตั้งข้อผิดพลาดในเว็บแอปพลิเคชันได้อย่างไร"
ฉันประหลาดใจอยู่เสมอที่นักพัฒนาจำนวนมากไม่มีปัญหากับคำถามแรกและไม่มีเงื่อนงำในวินาที ฉันเคยสัมภาษณ์หลายคนที่ไม่สามารถอธิบายได้ว่ามีการจัดการข้อผิดพลาดในโครงการปัจจุบันอย่างไร
บางสิ่งเช่นนี้
คูณค่า 7 โดยไม่ต้องใช้*
, /
และ+
การดำเนินงาน :)
(x << 3) - x
เหรอ?
x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
คล้ายกับของ David แต่ต่างกันเล็กน้อย:
ดูรหัสการผลิตจริงที่ยุ่งเหยิงจากเวอร์ชั่นก่อนหน้าซึ่งเราได้แก้ไขและปรับปรุงในภายหลัง บอกฉันว่ามันทำอะไร บอกฉันทีว่าปัญหาอยู่ตรงไหน (ความถูกต้องและสไตล์) บอกฉันว่าคุณจะแก้ไขและปรับปรุงอย่างไร
สิ่งนี้ช่วยแยกความแตกต่างของคนที่สามารถเขียนโค้ดใหม่และคนที่สามารถรับมือกับความเป็นจริงของฐานรหัสเดิม
ฉันประหลาดใจที่จำนวนคำตอบที่ล้มเหลวสำหรับคำถามนี้:
คุณจะค้นหารายการในรายการที่ไม่เรียงลำดับอย่างไร
คำถามที่ฉันชอบคือ:
(น่าจะเป็นส่วนผสมของ Java / C # และ pseudocode)
ใช้คอนเทนเนอร์ที่ไม่แปลกใหม่ออกแบบคลาสที่จะทำหน้าที่เป็นพจนานุกรมที่มีประสิทธิภาพเท่าที่จะเป็นไปได้ซึ่งช่วยให้คุณสามารถแจกแจงคีย์ต่าง ๆ ที่ไม่ได้อยู่ในลำดับ "สุ่ม" แต่ตามลำดับคีย์เหล่านี้ถูกเพิ่มลงในพจนานุกรม ถูกสร้างขึ้นครั้งแรก