แพลตฟอร์มใดใช้สัมภาษณ์เขียนโค้ด และแตกต่างกันอย่างไร?
โดย Aaron Cao · อัปเดตเมื่อ
การสัมภาษณ์เขียนโค้ดส่วนใหญ่ใช้โปรแกรมแก้ไขร่วมแบบสด (CoderPad, CodeSignal, HackerRank Interview หรือเอกสารร่วมทั่วไป) แบบทดสอบออนไลน์จับเวลา (HackerRank, Codility, CodeSignal) หรือผู้ให้บริการสัมภาษณ์ เช่น Karat ความแตกต่างสำคัญคือเป็นแบบสดหรือทำภายหลังได้ โค้ดรันได้หรือไม่ และมีการคุมสอบหรือไม่
คุณจะพบแพลตฟอร์มใดบ้าง?
อีเมลเชิญมักระบุชื่อแพลตฟอร์ม และชื่อนั้นบอกได้เกือบทั้งหมดว่าเซสชันจะเป็นอย่างไร แพลตฟอร์มแบ่งเป็นสี่กลุ่ม
- โปรแกรมแก้ไขร่วมแบบสด CoderPad, โหมดสัมภาษณ์ของ CodeSignal, HackerRank Interview (เดิมชื่อ CodePair) และกระดานลักษณะเดียวกันจะเปิดเอกสารที่ทั้งคุณและผู้สัมภาษณ์แก้ไขได้ ส่วนใหญ่รันโค้ดได้ในภาษาจำนวนหนึ่ง แต่นายจ้างบางรายจงใจปิดการรันเพื่อให้คุณใช้เหตุผลแทนการลองผิดลองถูก
- เอกสารร่วมทั่วไป บางทีมยังคงส่ง Google Doc หรือกระดานข้อความว่างผ่าน Zoom หรือ Google Meet ไม่มีการเน้นไวยากรณ์ ไม่มีปุ่มรัน และไม่มีชุดทดสอบ ผู้สัมภาษณ์จะอ่านโค้ดของคุณเหมือนผู้ตรวจทานโค้ด
- แบบทดสอบออนไลน์จับเวลา HackerRank, Codility และ CodeSignal จัดชุดโจทย์ตายตัวพร้อมนาฬิกาและระบบตรวจอัตโนมัติ ไม่มีใครอยู่ในสาย แพลตฟอร์มจะบันทึกเซสชันของคุณและให้คะแนนจากกรณีทดสอบที่ซ่อนไว้
- ผู้ให้บริการสัมภาษณ์ Karat และผู้ให้บริการที่คล้ายกันจัดหาวิศวกรที่ผ่านการฝึกอบรมมาดำเนินการสัมภาษณ์ทางเทคนิคแบบสดบนกระดานของผู้ให้บริการเอง และเขียนรายงานให้นายจ้างอ่าน รูปแบบเป็นแบบสด แต่คนที่อยู่ปลายสายไม่ใช่เพื่อนร่วมงานในอนาคตของคุณ
นายจ้างมักผสมหลายรูปแบบ กระบวนการทั่วไปเริ่มจากแบบทดสอบ ต่อด้วยการสัมภาษณ์บนกระดานสดหนึ่งหรือสองรอบ และจบด้วยการสนทนาเรื่องการออกแบบผ่านเครื่องมือไวท์บอร์ดหรือการโทรทั่วไป หัวข้อการตรวจสอบแพลตฟอร์ม อธิบายผู้ให้บริการแต่ละรายอย่างละเอียดกว่า
แพลตฟอร์มเหล่านี้ต่างกันอย่างไรในจุดสำคัญ?
คุณสมบัติห้าประการกำหนดว่าเซสชันจะดำเนินไปอย่างไร และคุณสมบัติเหล่านี้แตกต่างกันระหว่างแพลตฟอร์มมากกว่าระดับความยากของโจทย์เสียอีก
- แบบสดหรือทำภายหลังได้ กระดานสดคือการสนทนา คุณถามเรื่องข้อจำกัดและรับคำใบ้ได้ ส่วนแบบทดสอบคือข้อสอบเงียบ คำชี้แจงมีเพียงข้อความโจทย์เท่านั้น
- การรันโค้ด กระดานที่มีปุ่มรันช่วยให้คุณตรวจสอบกรณีหนึ่งได้ก่อนยืนยันว่าโค้ดทำงาน เอกสารทั่วไปและกระดานที่ปิดการรันทำให้คุณต้องจำลองการทำงานของโค้ดเอง จึงควรอธิบายว่าแต่ละบรรทัดทำอะไร
- การมองเห็นสิ่งที่คุณพิมพ์ บนกระดานสด ผู้สัมภาษณ์เห็นทุกการกดแป้น การหยุด และการลบทันทีที่เกิดขึ้น การเขียนฟังก์ชันใหม่สามครั้งย่อมมองเห็นได้ ซึ่งไม่จำเป็นต้องเป็นเรื่องแย่ แต่การเงียบขณะทำเช่นนั้นเป็นเรื่องแย่
- ภาษาและเครื่องมือ กระดานส่วนใหญ่รองรับภาษายอดนิยม แต่การเข้าถึงไลบรารี การเติมข้อความอัตโนมัติ และดีบักเกอร์แตกต่างกัน แบบทดสอบมักจำกัดให้ใช้เฉพาะภาษาที่ระบบตรวจรองรับ
- การบันทึกและการคุมสอบ รอบสัมภาษณ์สดมักได้รับการบันทึกไว้เพื่อสรุปผลภายหลัง แพลตฟอร์มแบบทดสอบมีตัวเลือกการคุมสอบ ซึ่งอาจหมายถึงภาพถ่ายจากเว็บแคม บันทึกการสลับแท็บในเบราว์เซอร์ หรือการแจ้งเตือนการคัดลอกและวาง นายจ้างเป็นผู้ตัดสินใจว่าจะเปิดใช้หรือไม่ และคำเชิญแทบไม่เคยระบุไว้
คุณสมบัติข้อสุดท้ายคือสิ่งที่ต้องวางแผนเผื่อไว้ ให้ปฏิบัติต่อแบบทดสอบจับเวลาทุกครั้งเสมือนเปิดการคุมสอบอยู่ เว้นแต่คำแนะนำจะระบุเป็นอย่างอื่น
ควรเตรียมตัวสำหรับแต่ละรูปแบบอย่างไร?
เป็นเรื่องสมเหตุสมผลที่จะกังวลว่าการฝึกบนแพลตฟอร์มหนึ่งอาจใช้กับอีกแพลตฟอร์มไม่ได้ ส่วนนี้เสนอแนวทางเตรียมตัวสำหรับแต่ละรูปแบบ โดยสรุปคือทักษะการเขียนโค้ดถ่ายโอนได้ แต่นิสัยระหว่างเซสชันถ่ายโอนไม่ได้ ดังนั้นจงตั้งใจซ้อมนิสัยเหล่านั้น
- สำหรับกระดานสด: ฝึกในโปรแกรมแก้ไขบนเบราว์เซอร์ที่ไม่มีการเติมข้อความอัตโนมัติ พูดขณะพิมพ์ และเขียนกรณีทดสอบเล็กๆ หนึ่งกรณีด้วยมือก่อนรันสิ่งใด หากกระดานมีปุ่มรัน ให้ใช้หลังจากอธิบายแนวทางแล้ว ไม่ใช่ใช้แทนการอธิบาย
- สำหรับเอกสารทั่วไป: ฝึกเขียนโค้ดที่ถูกต้องโดยไม่มีคอมไพเลอร์ การเยื้องที่สม่ำเสมอและฟังก์ชันสั้นมีความสำคัญ เพราะผู้สัมภาษณ์เป็นผู้อ่าน ไม่ใช่ผู้รัน
- สำหรับแบบทดสอบจับเวลา: ฝึกภายใต้เวลาจำกัดโดยคำนึงถึงกรณีทดสอบที่ซ่อนอยู่ รองรับอินพุตว่าง ค่าซ้ำ และขนาดใหญ่ที่สุดที่อนุญาต อ่านโจทย์ทั้งชุดก่อน แล้วเรียงโจทย์ตามความพยายามที่คาดว่าจะใช้
- สำหรับการสัมภาษณ์โดยผู้ให้บริการ: เตรียมพบเกณฑ์การให้คะแนนมาตรฐาน ผู้สัมภาษณ์จากผู้ให้บริการแบบ Karat ให้คะแนนการสื่อสารและการแยกปัญหาอย่างชัดเจน ดังนั้นให้บอกแผนก่อนเริ่มเขียนโค้ด
วิศวกรแบ็กเอนด์ที่สมัครตำแหน่งอาวุโสในบริษัทชำระเงินได้รับคำเชิญที่แตกต่างกันสามรายการในหนึ่งสัปดาห์ ได้แก่ แบบทดสอบ CodeSignal รอบ CoderPad ที่เปิดการรัน และรอบสุดท้ายในเอกสารร่วม เธอซ้อมแต่ละรูปแบบหนึ่งครั้ง และสิ่งเดียวที่เปลี่ยนระหว่างแต่ละรูปแบบคือระดับการอธิบายออกเสียง เครื่องมือ สัมภาษณ์จำลอง บน SubcueAI เป็นวิธีที่สะดวกในการซ้อมอธิบายออกเสียง
ผู้ช่วย AI สำหรับการสัมภาษณ์ช่วยบนแพลตฟอร์มเหล่านี้ได้หรือไม่?
ช่วยได้เฉพาะรูปแบบที่มีคนกำลังพูดกับคุณ แอปเดสก์ท็อปแบบเนทีฟสำหรับ macOS และ Windows ของ SubcueAI บันทึกทั้งเสียงระบบและไมโครโฟนของคุณ จึงได้ยินคำถามของผู้สัมภาษณ์บน Zoom, Google Meet หรือ Microsoft Teams และแสดงคำแนะนำในโอเวอร์เลย์ลอยที่ปรากฏเฉพาะบนหน้าจอของคุณเอง ส่วน Side Panel ของส่วนขยายเบราว์เซอร์ทำงานแบบเดียวกันสำหรับสายที่เปิดในแท็บเบราว์เซอร์บน Chrome หรือ Edge โดยบันทึกเฉพาะเสียงจากแท็บการประชุม จึงได้ยินผู้สัมภาษณ์และไม่ถอดเสียงของคุณ ทั้งสองรูปแบบไม่เข้าร่วมสายเป็นบอตหรือแทรกสิ่งใดลงในหน้าการประชุมหรือกระดานเขียนโค้ด ส่วนส่วนขยายเวอร์ชัน Firefox รองรับเฉพาะการฝึกจำลอง
ขอบเขตนี้มีข้อจำกัดชัดเจน แบบทดสอบจับเวลาไม่มีการสนทนา ผู้ช่วยที่คอยฟังจึงไม่มีข้อมูลให้ทำงานด้วย และแบบทดสอบที่มีการคุมสอบด้วยการบันทึกแท็บหรือเฝ้าดูเว็บแคมอยู่นอกขอบเขตการใช้งานของ SubcueAI บนกระดานสด การแชร์ทั้งหน้าจอจะทำให้โอเวอร์เลย์ปรากฏในภาพที่แชร์ ให้แชร์เฉพาะหน้าต่างของกระดานหรือไม่แชร์เลย รอบที่มีการบันทึกและอุปกรณ์ที่นายจ้างจัดการก็อยู่นอกขอบเขตเช่นกัน Aaron Cao ผู้ก่อตั้ง SubcueAI ออกแบบโอเวอร์เลย์ให้เป็นหน้าต่างในเครื่องแทนการเป็นผู้เข้าร่วมการประชุมด้วยเหตุผลนี้โดยเฉพาะ กล่าวคือมันไม่ควรกลายเป็นส่วนหนึ่งของสิ่งที่แพลตฟอร์มบันทึกไว้ ขั้นตอนการตั้งค่าสำหรับแต่ละรูปแบบอยู่ใน หน้าบทแนะนำ และ หน้าความปลอดภัย อธิบายว่าสิ่งใดถูกบันทึกและสิ่งใดไม่ถูกบันทึก