ฉันควรคาดว่าจะเจอคำถามอะไรในการสัมภาษณ์ด้านแมชชีนเลิร์นนิง?

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

คาดว่าจะมีอยู่สี่ประเภท ได้แก่ พื้นฐาน (ไบแอสและความแปรปรวน การทำเรกูลาร์ไรเซชัน การตรวจสอบความถูกต้อง) การประเมินผล (ควรใช้เมตริกใดและเพราะเหตุใด) การสร้างโมเดลประยุกต์ (ฟีเจอร์ การรั่วไหลของข้อมูล ความไม่สมดุล) และการออกแบบระบบ ML (การฝึก การให้บริการ การเฝ้าติดตาม) การสัมภาษณ์ส่วนใหญ่มักสำรวจแนวคิดหลักไม่กี่อย่างจากหลายมุม ดังนั้นความเข้าใจเชิงลึกในเรื่องเหล่านั้นจึงสำคัญกว่าความรู้แบบกว้างๆ

การสัมภาษณ์ด้านแมชชีนเลิร์นนิงทดสอบอะไรจริงๆ?

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

  • พื้นฐาน คำถามทฤษฎีเกี่ยวกับการเรียนรู้ การนำไปใช้กับข้อมูลใหม่ และการหาค่าเหมาะที่สุด ผู้สัมภาษณ์ต้องการได้ยินว่าคุณเข้าใจว่าเหตุใดเทคนิคหนึ่งจึงใช้ได้ผล ไม่ใช่เพียงท่องจำคำนิยามมา
  • การประเมินผลและการทดลอง การเลือกเมตริก กลยุทธ์การตรวจสอบความถูกต้อง ผลลัพธ์แบบออฟไลน์เทียบกับออนไลน์ และวิธีออกแบบการทดลองเพื่อพิสูจน์ว่าโมเดลช่วยให้ผลลัพธ์ดีขึ้น
  • การสร้างโมเดลประยุกต์ การออกแบบฟีเจอร์ การรั่วไหลของข้อมูล ความไม่สมดุลของคลาส และส่วนที่ยุ่งยากของชุดข้อมูลจริง คำถามเหล่านี้มักผูกกับโปรเจกต์ใดโปรเจกต์หนึ่งของคุณเอง
  • การออกแบบระบบ ML โมเดลได้รับข้อมูลอย่างไร ถูกฝึกและฝึกใหม่อย่างไร ให้บริการผลการคาดการณ์อย่างไร และคุณจะสังเกตได้อย่างไรว่าประสิทธิภาพกำลังลดลงในระบบจริง
  • การเขียนโค้ด แบบฝึกหัดด้วย pandas หรือ Python ล้วนๆ ซึ่งบางครั้งให้สร้างอัลกอริทึมขนาดเล็กตั้งแต่ต้น เช่น k-means หรือ logistic regression

ยังมีคำถามเชิงพฤติกรรมด้วย และใช้หลักเดียวกับตำแหน่งงานอื่นๆ โดยหัวข้อคลังคำถามอธิบายคำถามเหล่านั้นไว้แยกต่างหาก

คำถามใดพบบ่อยที่สุดเมื่อแบ่งตามหัวข้อ?

ถ้อยคำจะแตกต่างกันไปในแต่ละบริษัท แต่คำถามที่อยู่เบื้องหลังมักซ้ำเดิม ฝึกคำถามเหล่านี้จนสามารถอธิบายด้วยภาษาที่เข้าใจง่ายได้อย่างเป็นธรรมชาติ

  • ไบแอสและความแปรปรวน: คุณจะวินิจฉัยได้อย่างไรว่าโมเดลกำลัง overfitting หรือ underfitting และจะเปลี่ยนอะไรเป็นอย่างแรก? การทำเรกูลาร์ไรเซชันส่งผลอย่างไรต่อโมเดล และเมื่อใดคุณจึงจะเลือก L1 แทน L2?
  • การตรวจสอบความถูกต้อง: เหตุใดการสุ่มแบ่งชุดฝึกและชุดทดสอบจึงอาจให้คะแนนที่ชวนเข้าใจผิดกับข้อมูลอนุกรมเวลา? เมื่อใดที่คุณต้องใช้การตรวจสอบไขว้แบบแบ่งชั้นหรือแบบจัดกลุ่ม?
  • เมตริก: เมื่อใดที่ accuracy เป็นเมตริกที่ไม่เหมาะสม? อธิบาย precision, recall และเส้นโค้ง ROC ให้ผู้จัดการผลิตภัณฑ์เข้าใจ คุณจะปรับเมตริกใดให้เหมาะที่สุดสำหรับการตรวจจับการฉ้อโกง และจะเฝ้าติดตามอะไรควบคู่กัน?
  • ปัญหาด้านข้อมูล: การรั่วไหลของเป้าหมายคืออะไร และคุณเคยตรวจพบมันได้อย่างไร? คุณจัดการความไม่สมดุลของคลาสอย่างมากโดยไม่สร้างข้อมูลขึ้นมาเองได้อย่างไร? คุณจัดการค่าที่หายไปอย่างไรเพื่อไม่ให้โมเดลเรียนรู้รูปแบบของการหายไปโดยไม่ตั้งใจ?
  • โมเดล: เมื่อใดที่ต้นไม้แบบ gradient-boosted ให้ผลดีกว่าโครงข่ายประสาทเทียมกับข้อมูลแบบตาราง? กลไก attention ใน transformer คำนวณอะไรจริงๆ? เหตุใด embeddings จึงช่วยจัดการฟีเจอร์เชิงหมวดหมู่ที่มีจำนวนค่ามาก?
  • การหาค่าเหมาะที่สุด: จะเกิดอะไรขึ้นเมื่ออัตราการเรียนรู้สูงหรือต่ำเกินไป? เหตุใด batch normalization จึงทำให้การฝึกง่ายขึ้น?
  • การออกแบบระบบ: ออกแบบระบบแนะนำสำหรับมาร์เก็ตเพลส คุณจะตรวจจับการเปลี่ยนแปลงของการกระจายข้อมูลหลังนำระบบไปใช้งานได้อย่างไร? คุณจะฝึกโมเดลใหม่โดยไม่ให้บริการผลการคาดการณ์ที่ล้าสมัยได้อย่างไร?
  • การทดลอง: เมตริกแบบออฟไลน์ดีขึ้น แต่การทดสอบ A/B ไม่เปลี่ยนแปลง คุณจะตรวจสอบอะไร?

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

คุณควรตอบคำถามเหล่านี้ด้วยวาจาอย่างไร?

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

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

นักวิทยาศาสตร์ข้อมูลที่สัมภาษณ์ตำแหน่ง ML ในบริษัทมาร์เก็ตเพลสถูกถามว่า เหตุใดโมเดลจัดอันดับของเธอจึงดูยอดเยี่ยมแบบออฟไลน์ แต่ไม่สร้างความเปลี่ยนแปลงในการทดสอบ A/B เธอตอบตามสี่ขั้นตอน ได้แก่ ช่องว่างระหว่างผลออฟไลน์กับออนไลน์คืออะไร เหตุใดอคติจากตำแหน่งในข้อมูลที่บันทึกไว้จึงทำให้เกิดปัญหาของเธอ การประเมินเชิงโต้แย้งที่เธอเพิ่มเข้ามา และข้อควรระวังว่าวิธีนี้ใช้ได้ต่อเมื่อการบันทึกข้อมูลมีการสุ่มมากเพียงพอ คำตอบแบบนั้นมีคุณค่ามากกว่าการไล่พิสูจน์ที่สมบูรณ์แบบ เครื่องมือสัมภาษณ์จำลองมีไว้เพื่อฝึกตอบด้วยวาจาโดยเฉพาะ และจะถามคำถามต่อยอดในแบบเดียวกับผู้สัมภาษณ์จริง

ผู้ช่วยสัมภาษณ์ AI ช่วยในการสัมภาษณ์ด้านแมชชีนเลิร์นนิงได้หรือไม่?

ช่วยได้ในรอบสนทนา แต่มีข้อจำกัด แอปเดสก์ท็อปแบบเนทีฟของ SubcueAI สำหรับ macOS และ Windows จะรับเสียงระบบของสายสนทนาและเสียงจากไมโครโฟนของคุณ ฟังคำถามของผู้สัมภาษณ์บน Zoom, Google Meet หรือ Microsoft Teams และแสดงโครงสร้างคำตอบแนะนำสั้นๆ ในโอเวอร์เลย์ลอยซึ่งปรากฏบนหน้าจอของคุณเท่านั้น สำหรับสายที่ทำงานในแท็บเบราว์เซอร์ Chrome หรือ Edge แผงด้านข้างของส่วนขยายเบราว์เซอร์จะรับเฉพาะเสียงจากแท็บการประชุม จึงได้ยินผู้สัมภาษณ์แต่ไม่ถอดเสียงของคุณ ทั้งสองรูปแบบจะไม่เข้าร่วมสายสนทนาในฐานะบอตหรือแทรกสิ่งใดลงในหน้าการประชุม หากคุณอัปโหลดเรซูเม่แล้ว คำแนะนำสามารถอ้างอิงโปรเจกต์ของคุณเองได้ ซึ่งเป็นส่วนที่ทำให้คำตอบด้าน ML ได้คะแนน

ข้อจำกัดเหล่านี้เหมือนกับที่ใช้กับการสัมภาษณ์เชิงเทคนิคทุกประเภท ข้อสอบเขียนโค้ดที่มีผู้คุม งานที่ให้กลับไปทำ หรือเซสชันบนอุปกรณ์ที่บริษัทจัดการ ไม่ใช่วัตถุประสงค์ของ SubcueAI และการไล่พิสูจน์บนไวท์บอร์ดผ่านหน้าจอที่แชร์ต้องเป็นผลงานของคุณเอง เพราะการแชร์ทั้งหน้าจอจะทำให้ทุกคนเห็นโอเวอร์เลย์ Aaron Cao ผู้ก่อตั้ง SubcueAI สร้างโอเวอร์เลย์ขึ้นเพื่อช่วยเตือนเรื่องโครงสร้างและคำศัพท์ ไม่ใช่เพื่อบอกคำตอบ เนื่องจากผู้สัมภาษณ์ด้าน ML จะถามต่อจากทุกข้อกล่าวอ้าง และคำตอบที่ยืมมาจะไปต่อไม่ได้ตั้งแต่คำถามที่สอง วิธีตั้งค่าทั้งสองรูปแบบอยู่ในหน้าบทแนะนำ ส่วนความแตกต่างด้านการใช้งานระหว่างแอปเดสก์ท็อปกับส่วนขยายอธิบายไว้ในหน้าเปรียบเทียบ

คำถามที่พบบ่อย

การสัมภาษณ์ด้านแมชชีนเลิร์นนิงต้องใช้คณิตศาสตร์มากเพียงใด?

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

การสัมภาษณ์ ML ยังมีข้อสอบเขียนโค้ดแบบ LeetCode หรือไม่?

มักมี อย่างน้อยหนึ่งรอบ โดยมักเบากว่ากระบวนการสัมภาษณ์วิศวกรรมซอฟต์แวร์ และมีแนวโน้มที่จะเกี่ยวข้องกับการจัดการข้อมูลด้วย pandas หรือการสร้างอัลกอริทึมขนาดเล็กตั้งแต่ต้น

ข้อผิดพลาดที่พบบ่อยที่สุดในการสัมภาษณ์ ML คืออะไร?

ตอบด้วยคำนิยามแทนการตัดสินใจ ผู้สัมภาษณ์ถามว่าคุณจะทำอย่างไรกับฟีเจอร์ที่ทำให้ข้อมูลรั่วไหลหรือการทดสอบ A/B ที่ไม่เปลี่ยนแปลง การท่องย่อหน้าจากตำราไม่ได้ตอบคำถามนั้น

ฉันควรเตรียมการออกแบบระบบ ML แยกต่างหากหรือไม่?

ควร เพราะมีศัพท์เฉพาะของตัวเอง ได้แก่ ไปป์ไลน์การฝึก ที่เก็บฟีเจอร์ การให้บริการแบบแบตช์เทียบกับออนไลน์ การเฝ้าติดตามการเปลี่ยนแปลงของการกระจายข้อมูล และรอบเวลาการฝึกใหม่ ฝึกการออกแบบแบบครบวงจรสักหนึ่งระบบ เช่น ระบบแนะนำหรือโมเดลตรวจจับการฉ้อโกง จนคุณวาดมันได้ภายในไม่กี่นาที

SubcueAI ช่วยทำงาน ML ที่ให้กลับไปทำได้หรือไม่?

ไม่ได้ งานที่ให้กลับไปทำเป็นงานออฟไลน์แบบเงียบๆ ส่วน SubcueAI รับฟังการสนทนาสดและไม่ได้มีไว้สำหรับการประเมินหรือเซสชันที่มีผู้คุม

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

← เพิ่มเติมเกี่ยวกับ คำถามสัมภาษณ์ตามตำแหน่งและหัวข้อ