สัมภาษณ์ Pair Programming: ควรรู้อะไรบ้างและเตรียมตัวอย่างไร
โดย Aaron Cao · อัปเดตเมื่อ

ในการสัมภาษณ์ Pair Programming คุณจะเขียนโค้ดจริงร่วมกับวิศวกรคนหนึ่ง มักจะอยู่ในเอดิเตอร์ที่แชร์ร่วมกันหรือ IDE ของคุณเองผ่านการแชร์หน้าจอ โดยส่วนใหญ่เป็นฟีเจอร์เล็ก ๆ หรือบั๊กในโค้ดเบสที่สมจริง ผู้สัมภาษณ์จะประเมินการทำงานร่วมกัน การสื่อสาร และนิสัยอย่างการเขียนเทสต์ ไม่ใช่แค่ว่าคุณทำเสร็จหรือไม่
สัมภาษณ์ Pair Programming ต่างจากการทดสอบโค้ดอย่างไร
ถ้าคุณเตรียมตัวส่วนใหญ่ด้วยโจทย์อัลกอริทึม รอบ Pair Programming อาจให้ความรู้สึกไม่คุ้นเคย ส่วนนี้จะอธิบายว่ามันต่างกันอย่างไร และสิ่งนั้นเปลี่ยนการเตรียมตัวของคุณอย่างไร คำตอบสั้น ๆ คือคุณกำลังถูกประเมินในฐานะเพื่อนร่วมทีมในอนาคต ไม่ใช่คนแก้โจทย์ปริศนา
เซสชันมักจะเป็นหนึ่งในสามรูปแบบ ได้แก่ เอดิเตอร์ที่แชร์ร่วมกันบนเบราว์เซอร์ IDE ของคุณเองขณะแชร์หน้าจอ หรือส่วนต่อขยายจากโปรเจกต์ take-home ที่คุณทำเสร็จไปแล้ว งานมักมีลักษณะใกล้เคียงกับงานประจำวัน เช่น การเพิ่มกฎการตรวจสอบความถูกต้อง การแก้เทสต์ที่ล้มเหลว หรือการรีแฟกเตอร์ฟังก์ชัน บางบริษัทจะสลับบทบาท ทำให้คุณใช้เวลาส่วนหนึ่งของเซสชันเป็น “driver” ที่พิมพ์โค้ด และอีกส่วนเป็น “navigator” ที่คอยชี้นำ
ผู้สัมภาษณ์ให้คะแนนอะไรบ้าง
- คำถามเพื่อความชัดเจน คุณยืนยันความต้องการและความหมายของ “เสร็จ” ก่อนเขียนโค้ดหรือไม่
- การคิดออกมาดัง ๆ คู่ของคุณตามแผนของคุณทันโดยไม่ต้องถามซ้ำหรือไม่
- ความคืบหน้าทีละขั้น ก้าวเล็ก ๆ ที่ใช้งานได้ แทนการเปลี่ยนแปลงใหญ่ครั้งเดียวตอนท้าย
- การเขียนเทสต์ คุณเขียนหรือรันเทสต์เพื่อพิสูจน์ว่าการเปลี่ยนแปลงใช้ได้จริงหรือไม่
- การอ่านโค้ด คุณหาทางในโค้ดที่ไม่ได้เขียนเองได้เร็วแค่ไหน
- การรับฟังความเห็น คุณตอบสนองต่อคำใบ้หรือไอเดียที่ต่างออกไปจากคู่ของคุณอย่างไร
รูปแบบการสัมภาษณ์โค้ดแบบอื่น ๆ รวมถึงไวท์บอร์ด take-home และรอบอัลกอริทึมสด ถูกเปรียบเทียบไว้ในหน้ารวมประเภทการสัมภาษณ์
เซสชัน Pair Programming ที่ดีมีหน้าตาแบบไหน
วิศวกรแบ็กเอนด์คนหนึ่งที่กำลังสัมภาษณ์ตำแหน่งระดับกลางในสตาร์ทอัพด้านโลจิสติกส์ ได้รับโจทย์ให้เพิ่มกฎส่วนลดลงในโมดูลชำระเงินที่มีอยู่แล้ว ก่อนเริ่มพิมพ์ เขาถามว่าส่วนลดสามารถซ้อนกันได้หรือไม่ และควรเกิดอะไรขึ้นกับออร์เดอร์ที่กำลังดำเนินการอยู่ เขาอ่านเทสต์ที่มีอยู่ เขียนเทสต์ที่ล้มเหลวหนึ่งตัวสำหรับกฎใหม่ ทำให้มันผ่านด้วยการเปลี่ยนแปลงที่ง่ายที่สุด แล้วจึงถามคู่ของเขาว่ากฎนี้ควรอยู่ในคลาสราคาหรือในอ็อบเจกต์นโยบายแยกต่างหาก เมื่อผู้สัมภาษณ์เสนอแนวทางอื่น เขาลองทำตามและอธิบายข้อแลกเปลี่ยน เขาทำโจทย์ส่วนเสริมไม่เสร็จ แต่ฟีดแบ็กก็ยังเน้นไปที่ว่าเขาทำงานด้วยง่ายแค่ไหน
ขั้นตอนของการถามให้ชัดเจน เขียนเทสต์ก่อน ทำการเปลี่ยนแปลงทีละเล็กละน้อย และพูดคุยเรื่องการออกแบบ คือสิ่งที่รอบ Pair Programming ส่วนใหญ่ถูกออกแบบมาเพื่อสังเกต
ควรเตรียมตัวอย่างไร และ SubcueAI เข้ามาช่วยตรงไหน
ลองทำ Pair Programming กับเพื่อนในงานเล็ก ๆ บนรีโพซิทอรีที่ไม่คุ้นเคย และฝึกพูดอธิบายไปพร้อมกับที่ทำ เตรียมสภาพแวดล้อมล่วงหน้าถ้าคุณจะใช้ IDE ของตัวเอง โปรเจกต์ควรบิลด์ได้และเทสต์ควรรันผ่านก่อนที่การโทรจะเริ่ม เครื่องมือสัมภาษณ์จำลองช่วยในส่วนของบทสนทนา เช่น การอธิบายการตัดสินใจด้านการออกแบบหรือโปรเจกต์ในอดีต
ควรมองตามความเป็นจริงเรื่องเครื่องมือแบบสดในบริบทนี้ Pair Programming เน้นการแชร์หน้าจอเป็นหลัก และทุกอย่างที่คุณแชร์จะมองเห็นได้โดยคู่ของคุณ ผู้สัมภาษณ์เองก็กำลังดูคุณเขียนโค้ดแบบเรียลไทม์เช่นกัน SubcueAI จะถอดเสียงคำพูดของผู้สัมภาษณ์และร่างประเด็นคำตอบในช่วงพูดคุยของการสัมภาษณ์วิดีโอ ทั้งจากแอปเดสก์ท็อปหรือส่วนขยายเบราว์เซอร์ โดยไม่มีบอทเข้าร่วมในสาย ส่วนการเขียนโค้ดจริง ๆ ยังคงเป็นหน้าที่ของคุณเอง และสภาพแวดล้อมที่มีการคุมสอบหรืออุปกรณ์ที่บริษัทควบคุมอยู่นอกขอบเขตนี้ รายละเอียดการตั้งค่าอยู่ในหน้าคู่มือการใช้งาน
คำถามที่พบบ่อย
สามารถค้นหาข้อมูลระหว่างสัมภาษณ์ Pair Programming ได้ไหม
ถ้าติดขัดระหว่างสัมภาษณ์ Pair Programming ควรทำอย่างไร
จำเป็นต้องทำงานให้เสร็จไหม
จะต้องใช้ภาษาโปรแกรมไหน
คำถามที่เกี่ยวข้อง
- สัมภาษณ์ไวท์บอร์ดคืออะไร และควรเตรียมตัวอย่างไร
- ฉันควรเตรียมตัวสำหรับการสัมภาษณ์เขียนโค้ดโดยใช้ AI อย่างไร?
- ฉันควรเตรียมตัวสำหรับการสัมภาษณ์แบบพาแนลอย่างไร
- ฉันควรเตรียมตัวสำหรับการสัมภาษณ์งานทางไกลอย่างไร
- สัมภาษณ์กลุ่มคืออะไร และจะโดดเด่นในนั้นได้อย่างไร
- การสัมภาษณ์ทางโทรศัพท์เชิงเทคนิคมีอะไรบ้าง และจะผ่านได้อย่างไร