ฉันควรคาดว่าจะเจอคำถามอะไรในการสัมภาษณ์ด้านแมชชีนเลิร์นนิง?
โดย 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 จะถามต่อจากทุกข้อกล่าวอ้าง และคำตอบที่ยืมมาจะไปต่อไม่ได้ตั้งแต่คำถามที่สอง วิธีตั้งค่าทั้งสองรูปแบบอยู่ในหน้าบทแนะนำ ส่วนความแตกต่างด้านการใช้งานระหว่างแอปเดสก์ท็อปกับส่วนขยายอธิบายไว้ในหน้าเปรียบเทียบ