กระบวนการสัมภาษณ์ของ NVIDIA ทีละขั้นตอน
โดย Aaron Cao · อัปเดตเมื่อ

NVIDIA จ้างงานเข้าทีมใดทีมหนึ่งโดยเฉพาะ ดังนั้นรอบสัมภาษณ์ทั้งหมดจึงถูกกำหนดโดยผู้จัดการของทีมนั้น คาดหวังการคัดกรองจากรีครูทเตอร์ การพูดคุยเชิงเทคนิคกับ hiring manager และรอบเจาะลึกหลายรอบในสายงานของทีม ไม่ว่าจะเป็นระบบ GPU ประสิทธิภาพของ C++ หรือโครงสร้างพื้นฐานด้าน deep learning
ทำไมทีมที่คุณสมัครจึงเปลี่ยนการสัมภาษณ์ทั้งหมด?
คุณอาจกังวลว่าไม่สามารถรู้ล่วงหน้าได้ว่า NVIDIA จะถามอะไร และหากใช้แผนการเตรียมตัวแบบทั่วไป ความกังวลนั้นก็มีเหตุผล หัวข้อนี้จะอธิบายว่าอะไรเป็นตัวกำหนดคำถาม คำตอบง่ายมาก คือที่ NVIDIA คุณสัมภาษณ์เพื่อทีมใดทีมหนึ่งโดยเฉพาะ และงานของทีมนั้นเป็นตัวกำหนดวาระทางเทคนิคทั้งหมด
บริษัทครอบคลุมโลกวิศวกรรมที่แตกต่างกันมาก กลุ่มสถาปัตยกรรม GPU กลุ่มไลบรารี CUDA กลุ่มเฟรมเวิร์ก deep learning กลุ่มการขับขี่อัตโนมัติ และกลุ่มเครือข่าย ล้วนจ้างงานภายใต้แบรนด์เดียวกันแต่ถามคำถามที่แทบไม่มีอะไรร่วมกันเลย ผู้สมัครที่เตรียมโจทย์อัลกอริทึมแบบทั่วไปของบริษัทเทคโนโลยียักษ์ใหญ่ มักพบว่าการสัมภาษณ์ไปในทิศทางที่ต่างออกไปโดยสิ้นเชิง
มีผลลัพธ์ในทางปฏิบัติสองประการ
- ประกาศรับสมัครงานคือหลักสูตรของคุณ เทคโนโลยีที่ระบุไว้คือสิ่งที่รอบสัมภาษณ์จะเจาะลึก หากระบุ CUDA การปรับแต่ง kernel และ memory coalescing สิ่งเหล่านี้คือหัวข้อสัมภาษณ์ ไม่ใช่แค่คำสำคัญในเรซูเม่
- ผู้สัมภาษณ์คุณมักเป็นเพื่อนร่วมทีมในอนาคต พวกเขากำลังประเมินว่าอยากดีบักปัญหาร่วมกับคุณตอนห้าทุ่มหรือไม่ ดังนั้นบทสนทนาจึงลึกกว่าในหัวข้อที่น้อยกว่าเมื่อเทียบกับคณะกรรมการที่หมุนเวียนกัน
ขั้นตอนมีอะไรบ้าง?
NVIDIA ไม่ได้เผยแพร่รายการขั้นตอนที่ตายตัว และแตกต่างกันไปตามหน่วยงานและระดับอาวุโส แต่รูปแบบที่ผู้สมัครอธิบายมีความสอดคล้องกันในลักษณะดังนี้
- การคัดกรองจากรีครูทเตอร์ ประวัติ ทีมและตำแหน่งงานที่เฉพาะเจาะจง วีซ่าและสถานที่ทำงาน ช่วงเงินเดือน
- การพูดคุยเชิงเทคนิคกับ hiring manager มักเป็นด่านคัดกรองจริงด่านแรก คาดหวังการเดินผ่านโปรเจกต์ที่เกี่ยวข้องที่สุดของคุณพร้อมคำถามติดตามเชิงเทคนิคทันที แทนที่จะเป็นการวอร์มอัพเชิงพฤติกรรม
- รอบสัมภาษณ์เชิงเทคนิค โดยทั่วไปมีหลายรอบ กระจายไปหลายวันแทนที่จะอัดแน่นในบล็อกเดียว การเขียนโค้ดในภาษาที่ทีมใช้ ความลึกในสายงาน และการพูดคุยเรื่องการออกแบบหรือการดีบัก
- การพูดคุยกับทีมและข้ามฝ่ายงาน เพื่อนร่วมงาน บางครั้งเป็นทีมที่อยู่ติดกันซึ่งคุณจะทำงานร่วมด้วย และผู้อำนวยการสำหรับตำแหน่งระดับสูง ตำแหน่งงานวิจัยมักเพิ่มการนำเสนอผลงานของคุณเองเข้ามาด้วย
สำหรับตำแหน่งด้านระบบและ GPU หัวข้อที่พบซ้ำๆ คือพื้นฐานมากกว่าเฟรมเวิร์ก ได้แก่ อายุการใช้งานของอ็อบเจกต์และหน่วยความจำใน C++ พฤติกรรมของแคช การทำงานแบบขนานและการซิงโครไนซ์ การทำโปรไฟล์ และการให้เหตุผลว่าเวลาถูกใช้ไปที่ไหนจริงๆ สำหรับตำแหน่งด้าน deep learning คาดหวังคำถามเกี่ยวกับกลไกภายในของโมเดล คอขวดของการเทรนและการอนุมาน ความแม่นยำเชิงตัวเลข และการออกแบบไปป์ไลน์
วิศวกรด้านประสิทธิภาพคนหนึ่งที่สัมภาษณ์เข้าทีมไลบรารี CUDA ถูกถามในสองรอบที่แยกกันว่าทำไม kernel ที่เธอเขียนขึ้นถึงถูกจำกัดด้วยหน่วยความจำ และเธอวัดอะไรเพื่อพิสูจน์เรื่องนี้ เธอจำผลลัพธ์จาก profiler ได้ในหัว และสามารถอธิบาย access pattern ที่เธอเปลี่ยนแปลงได้ ผู้สัมภาษณ์ใช้เวลาที่เหลือของทั้งสองชั่วโมงเจาะลึกเรื่องราวเดียวนั้นต่อไป แทนที่จะย้ายไปยังปัญหาใหม่
คุณควรเตรียมตัวอย่างไร?
เตรียมตัวให้แคบแต่ลึก เลือกสองโปรเจกต์ที่ใกล้เคียงกับสายงานของทีมมากที่สุด และให้แน่ใจว่าคุณสามารถอธิบายและปกป้องการตัดสินใจเชิงเทคนิคทุกอย่างในนั้นได้ รวมถึงการตัดสินใจที่ตอนนี้คุณจะทำต่างออกไป
- รู้ตัวเลขของคุณเอง หากคุณอ้างว่ามีการเพิ่มความเร็ว ให้รู้ว่าคุณวัดอะไร บนฮาร์ดแวร์ใด และคอขวดก่อนและหลังคืออะไร การอ้างประสิทธิภาพที่คลุมเครือเชื้อเชิญคำถามติดตามที่คุณตอบไม่ได้พอดี
- สร้างพื้นฐานเบื้องหลังงานของคุณขึ้นมาใหม่ ผู้สมัครหลายคนใช้เฟรมเวิร์กทุกวันโดยไม่สามารถอธิบายได้ว่ามันทำงานอย่างไรข้างใต้ รอบสัมภาษณ์ของ NVIDIA มักลงลึกไปอีกหนึ่งชั้นจากระดับที่คุณรู้สึกสบายใจ
- ฝึกอธิบายออกเสียง ความลึกเชิงเทคนิคที่สื่อสารได้ไม่ดีจะดูเหมือนตื้นเขิน พูดเหตุผลของคุณออกเสียงก่อนรอบสัมภาษณ์ ควรทำโดยมีคำถามติดตามด้วย เครื่องมือสัมภาษณ์จำลอง สามารถจัดรอบสัมภาษณ์เชิงเทคนิคและซักถามคำตอบของคุณเหมือนเพื่อนร่วมทีมจะทำ
- เตรียมคำถามสำหรับพวกเขา เนื่องจากคุณกำลังเข้าร่วมทีมใดทีมหนึ่งโดยเฉพาะ การถามว่าทีมรับผิดชอบอะไรและงานถูกจัดลำดับความสำคัญอย่างไร ทั้งมีประโยชน์กับคุณและถูกมองว่าเป็นความจริงจัง
หากคุณกำลังสัมภาษณ์ที่อื่นด้วย ศูนย์รวมกระบวนการสัมภาษณ์ของแต่ละบริษัท ครอบคลุมว่านายจ้างรายใหญ่รายอื่นจัดโครงสร้างรอบสัมภาษณ์ของตนอย่างไร
AI assistant ช่วยในรอบสัมภาษณ์ที่ลึกเชิงเทคนิคได้ไหม?
มันช่วยได้มากที่สุดก่อนการสัมภาษณ์ การซ้อมอธิบายการออกแบบ การฝึกคำถามติดตามเกี่ยวกับโปรเจกต์ของคุณเอง และการปรับคำตอบยาวๆ ให้กระชับ ล้วนเป็นงานเตรียมตัว และเป็นจุดที่ได้ประโยชน์มากที่สุดสำหรับรอบสัมภาษณ์เชิงเทคนิค
ในรอบสัมภาษณ์แบบสด SubcueAI ทำงานเป็นแอปเนทีฟ macOS หรือ Windows ที่จับเสียงระบบและไมโครโฟนของคุณอยู่หลัง floating overlay ในเครื่อง หรือเป็น Side Panel ของส่วนขยายเบราว์เซอร์บนเบราว์เซอร์ที่ใช้ Chromium ซึ่งจับเสียงเฉพาะแท็บการประชุมเท่านั้น ไม่มี meeting bot เข้าร่วมสาย และไม่มีการฉีดสิ่งใดเข้าไปในหน้าประชุม
ควรระบุข้อจำกัดอย่างตรงไปตรงมา เพราะรอบสัมภาษณ์เชิงเทคนิคมักเจอข้อจำกัดเหล่านี้บ่อยครั้ง
- รอบเขียนโค้ดในเอดิเตอร์ที่แชร์กันมักเกี่ยวข้องกับการแชร์หน้าจอ และหน้าจอที่แชร์จะแสดงทุกอย่างที่อยู่บนนั้น
- แพลตฟอร์มประเมินผลที่มีผู้คุมสอบและอุปกรณ์ที่บริษัทจัดการอยู่นอกขอบเขต
- รอบที่มีการบันทึกก็ถูกบันทึกไว้
คำถามเชิงเทคนิคเชิงลึกยังให้รางวัลกับความเข้าใจมากกว่าการดึงข้อมูลจากความจำ คำแนะนำไม่สามารถกู้คำตอบเกี่ยวกับโค้ดที่คุณไม่ได้รู้จริงๆ ได้ ศูนย์รวมเรื่องความสามารถในการตรวจจับและความเป็นส่วนตัว ครอบคลุมว่าแต่ละการตั้งค่าเปิดเผยและไม่เปิดเผยอะไรบ้าง