บริษัท ที่ฉันทำงานด้วยขอให้ฉันทำการคัดกรองผู้สมัครทางโทรศัพท์เพื่อให้แน่ใจว่าพวกเขาจะไม่ได้อายอย่างสมบูรณ์เมื่อส่งใครบางคนไปยังลูกค้าที่มีศักยภาพ
ปรากฎว่ามีผู้ใช้จำนวนพอสมควรสำหรับบทบาทผู้พัฒนา C ++ ฉันไม่ได้ใช้เวลามากในภาษา C ++ แต่ฉันได้ทำโครงการเล็ก ๆ น้อย ๆ และไม่เกี่ยวกับภาษา ฉันคิดว่า "อธิบายสำนวน RAII" จะเป็นคำถามซอฟต์บอลที่ผู้พัฒนา C ++ ส่วนใหญ่สามารถตอบได้ในขณะที่หลับครึ่งและจะทำให้ฉันสามารถถามคำถามที่น่าสนใจเกี่ยวกับประสบการณ์ได้ แต่กลับกลายเป็นว่าคนที่มีประสบการณ์ในการใช้งาน C ++ มากกว่า 10 ปีไม่รู้จักคำศัพท์นี้แม้ว่าฉันจะขยายคำย่อไปที่ "การได้มาซึ่งทรัพยากรเป็นการเริ่มต้น" ผู้สมัครคนหนึ่งบอกว่าเขารู้สึกว่าการใช้เทคนิคในการพัฒนา Windows ไม่ได้ใช้งานได้จริงเสมอไปซึ่งฉันคิดว่าเป็นความรู้สึกแปลก ๆ แต่ฉันเห็นตัวอย่างสองสามตัวอย่างที่สนับสนุนแนวความคิดนั้น)
แม้แต่นักพัฒนาซอฟต์แวร์ C ++ สองคนฉันก็รู้ดีพอที่จะตัดสินความสามารถของตนว่าพวกเขาไม่รู้จักคำศัพท์ แต่เมื่ออ่านบทสรุปของเทคนิคกล่าวว่า "โอ้ใช่ฉันไม่รู้ว่ามีชื่อฉันแค่ คิดว่าสิ่งเหล่านั้นเป็นสิ่งที่คุณต้องทำ " ฉันจำคำศัพท์ได้จากหนังสือ Stroustrup ฉบับที่สองถึงแม้ว่าผลกระทบอย่างสมบูรณ์ไม่ได้เกิดขึ้นในขณะนั้น
ดังนั้น "คุณสามารถอธิบายสำนวน RAII ให้ฉันได้ไหม" คำถามคัดกรองที่เป็นธรรม? มันสมเหตุสมผลหรือไม่ที่จะคาดหวังให้นักพัฒนา C ++ ที่มีความสามารถเข้าใจ? เป็นคำที่ลึกลับกว่าที่ฉันคิดหรือไม่? สมมติว่าผู้สมัครไม่ทราบคำว่ามีคำถามติดตามที่สามารถช่วยฉันแซวว่าอย่างน้อยพวกเขามีแนวทางปฏิบัติภายในที่ทำให้ RAII ทำงานอย่างน้อยที่สุด? มีคำถาม "weeder" ทางเลือกที่ดีกว่าที่ให้ผู้สมัครละติจูดในการตอบและช่วยให้ผู้สมัครแสดงความเข้าใจในการพัฒนา C ++ หรือไม่?
การแก้ไขเพื่อเพิ่ม : เพื่อชี้แจงฉันไม่ได้เป็นผู้สัมภาษณ์ที่ตัดสิทธิ์คนเพราะพวกเขาไม่รู้จัก buzzwords และตัวย่อ อย่างไรก็ตามฉันคิดว่ามันสมเหตุสมผลที่จะคาดหวังว่าโปรแกรมเมอร์ C ++ ที่มีประสบการณ์มีแนวทางปฏิบัติที่ดีสำหรับการจัดการทรัพยากร ฉันคิดว่ามันเป็นสิ่งสำคัญที่จะตรวจสอบว่าผู้สมัครเข้าใจ "พื้นฐาน" บางอย่างเกี่ยวกับเทคโนโลยีที่พวกเขาอ้างถึงความเชี่ยวชาญก่อนที่จะย้ายไปยังคำถามที่น่าสนใจเกี่ยวกับการออกแบบการแก้ปัญหา ฯลฯ ฉันคิดว่าสิ่งที่ฉันมองหาเป็นวิธีที่ดี เพื่อถามคำถามปลายเปิดเหมาะสำหรับใช้ในการคัดกรองโทรศัพท์สั้น ๆ ที่ฉันสามารถใช้เพื่อตัดสินความเข้าใจพื้นฐานของผู้สมัครเกี่ยวกับการจัดการทรัพยากรที่ดีใน C ++ ก่อนที่ฉันจะถามคำถาม "ยาก"