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

โดย Aaron Cao · อัปเดตเมื่อ

สัมภาษณ์ Pair Programming: ควรรู้อะไรบ้างและเตรียมตัวอย่างไร
ในการสัมภาษณ์ Pair Programming คุณจะเขียนโค้ดจริงร่วมกับวิศวกรคนหนึ่ง มักจะอยู่ในเอดิเตอร์ที่แชร์ร่วมกันหรือ IDE ของคุณเองผ่านการแชร์หน้าจอ โดยส่วนใหญ่เป็นฟีเจอร์เล็ก ๆ หรือบั๊กในโค้ดเบสที่สมจริง ผู้สัมภาษณ์จะประเมินการทำงานร่วมกัน การสื่อสาร และนิสัยอย่างการเขียนเทสต์ ไม่ใช่แค่ว่าคุณทำเสร็จหรือไม่

ในการสัมภาษณ์ 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 ควรทำอย่างไร

บอกว่าคุณติดตรงไหนและลองทำอะไรมาแล้วบ้าง จากนั้นถามคำถามที่เจาะจง Pair Programming ถูกออกแบบมาให้เป็นการทำงานร่วมกัน ดังนั้นการถามคำถามที่ดีก็เป็นส่วนหนึ่งของสิ่งที่ถูกประเมิน

จำเป็นต้องทำงานให้เสร็จไหม

ไม่เสมอไป บางครั้งงานถูกออกแบบมาให้ใหญ่กว่าที่เวลาจะเอื้ออำนวยโดยตั้งใจ ความคืบหน้าที่สะอาดและผ่านการทดสอบ พร้อมการสื่อสารที่ชัดเจน มักสำคัญกว่าการทำครบทุกข้อกำหนด

จะต้องใช้ภาษาโปรแกรมไหน

ขึ้นอยู่กับบริษัท ถ้างานใช้โค้ดเบสที่สมจริง ภาษามักถูกกำหนดไว้แล้ว แต่ถ้าไม่ใช่ คุณอาจเลือกได้เอง ตรวจสอบคำเชิญและสอบถามผู้สรรหาหากไม่แน่ใจ

คำถามที่เกี่ยวข้อง

← เพิ่มเติมเกี่ยวกับ ประเภทการสัมภาษณ์