ควรคาดหวังคำถามอะไรในการสัมภาษณ์ Databricks?
โดย Aaron Cao · อัปเดตเมื่อ

คาดว่าจะมีคำถามสี่กลุ่ม ได้แก่ Delta Lake (บันทึกธุรกรรม การรับประกัน ACID การย้อนดูข้อมูล และ MERGE), สถาปัตยกรรม Medallion (เลเยอร์ Bronze, Silver และ Gold), Spark บน Databricks (พาร์ทิชัน การสับเปลี่ยนข้อมูล แคช และการกำหนดขนาดคลัสเตอร์) และการกำกับดูแล (Unity Catalog, เวิร์กสเปซ และงาน) ส่วนคำถามเชิงสถานการณ์จะให้คุณตรวจสอบไปป์ไลน์ที่ช้าหรือล้มเหลว แล้วประเมินวิธีสืบหาปัญหาของคุณ
คำถามเกี่ยวกับ Delta Lake ที่มักถูกถามก่อนมีอะไรบ้าง?
การสัมภาษณ์ Databricks มักเริ่มจาก Delta Lake เพราะแพลตฟอร์มนี้สร้างขึ้นบนเทคโนโลยีดังกล่าว เตรียมอธิบายว่าตาราง Delta เพิ่มอะไรจากไฟล์ Parquet ธรรมดา นั่นคือบันทึกธุรกรรมที่บันทึกทุก commit ทำให้เขียนข้อมูลแบบ atomic อ่านข้อมูลได้อย่างสอดคล้อง และค้นตารางในสถานะของเวอร์ชันก่อนหน้าได้ คำถามต่อเนื่องมักคาดเดาได้ ได้แก่ การย้อนดูข้อมูลทำงานอย่างไร (อ่าน snapshot ก่อนหน้าจากบันทึก), VACUUM ลบอะไรและเหตุใดจึงจำกัดระยะที่ย้อนกลับได้ และ MERGE ใช้ทำ upsert และรูปแบบ change-data-capture อย่างไร
- การบังคับใช้และการปรับเปลี่ยน schema การเขียนข้อมูลที่ไม่ตรงกับ schema จะถูกปฏิเสธ เว้นแต่เปิดใช้ evolution ไว้ จงอธิบายว่าคุณจะอนุญาตเมื่อใด
- OPTIMIZE และการจัดวางไฟล์ ไฟล์ขนาดเล็กทำให้การอ่านช้าลง การ compact จะเขียนไฟล์ใหม่ ส่วนการทำ clustering หรือ Z-ordering จะจัดค่าที่คิวรีใช้กรองไว้ใกล้กัน
- Streaming และ batch บนตารางเดียวกัน ตาราง Delta เดียวกันเป็นได้ทั้ง streaming sink และ batch source จงอธิบายว่า exactly-once หมายถึงอะไรสำหรับงาน Structured Streaming ที่เขียนลง Delta
- Delta Live Tables และไปป์ไลน์ ไปป์ไลน์เชิงประกาศพร้อมข้อกำหนดด้านคุณภาพข้อมูล จงเตรียมอธิบายว่าข้อกำหนดจะทำอะไรเมื่อแถวข้อมูลไม่ผ่าน
ตอบด้วยกลไก การบอกว่า Delta เป็น ACID เป็นเพียงคำขวัญ ส่วนคำตอบจริงคือบันทึกธุรกรรมทำให้ผู้อ่านมองไม่เห็นการเขียนที่ล้มเหลวไปบางส่วน
คำถามเรื่องสถาปัตยกรรม Medallion และการออกแบบไปป์ไลน์เป็นอย่างไร?
คุณเคยสร้างเลเยอร์ Bronze, Silver และ Gold และสงสัยว่าผู้สัมภาษณ์ต้องการมากกว่าแค่ชื่อ ซึ่งถูกต้องแล้ว ส่วนนี้จึงอธิบายเหตุผลในการออกแบบแต่ละเลเยอร์และคำถามที่ใช้ทดสอบความเข้าใจ
- Bronze รับข้อมูลดิบ เพิ่มข้อมูลต่อท้ายเท่านั้น และคง schema ตามที่ได้รับมา คำถามต่อเนื่อง: เหตุใดต้องเก็บข้อมูลดิบไว้หาก Silver สะอาดกว่า? เพื่อประมวลผลใหม่และตรวจสอบย้อนหลัง
- Silver ระเบียนที่ทำความสะอาด ขจัดข้อมูลซ้ำ และปรับให้เป็นมาตรฐานแล้ว คำถามต่อเนื่อง: คุณจะขจัดข้อมูลซ้ำจากสตรีมเหตุการณ์ที่อาจมาถึงช้าหรือซ้ำได้อย่างไร และ watermarking มีบทบาทตรงไหน?
- Gold ข้อมูลสรุปและตารางระดับธุรกิจสำหรับนักวิเคราะห์และแดชบอร์ด คำถามต่อเนื่อง: ใครเป็นเจ้าของนิยามต่าง ๆ และจะป้องกันไม่ให้ตาราง Gold สองตารางให้ตัวเลขรายได้ไม่ตรงกันได้อย่างไร?
- การประสานงาน งาน การพึ่งพาระหว่างงานย่อย การลองใหม่ และการแจ้งเตือน คำถามต่อเนื่อง: คุณจะทำให้งานเป็น idempotent ได้อย่างไร เพื่อให้การรันซ้ำไม่เกิดการนับซ้ำ?
- การรับข้อมูล ใช้ Auto Loader เพื่อค้นหาไฟล์ใหม่แบบเพิ่มทีละส่วน และอธิบายว่าเหตุใดการไล่ดูรายการไดเรกทอรีแบบง่ายจึงรองรับการขยายระบบไม่ได้
ผู้สัมภาษณ์ยังถามเรื่องต้นทุนด้วย เช่น เหตุใดคลัสเตอร์อเนกประสงค์จึงไม่เหมาะกับงานตามกำหนดเวลา เมื่อใดควรใช้ job cluster หรือ serverless compute และ autoscaling กับ spot instances เปลี่ยนค่าใช้จ่ายอย่างไร จงระบุข้อจำกัด เลือกกลไก และบอกต้นทุน
ควรเตรียมคำถามเรื่องการปรับแต่ง Spark และสถานการณ์ใดบ้าง?
การสัมภาษณ์ระดับอาวุโสจะให้อาการของปัญหา ตัวอย่างหนึ่งคือวิศวกรข้อมูลที่สัมภาษณ์ตำแหน่งด้านแพลตฟอร์มในบริษัทค้าปลีกได้รับแจ้งว่า งานประจำคืนซึ่ง join คำสั่งซื้อกับตารางมิติลูกค้าเปลี่ยนจากใช้เวลาไม่กี่นาทีเป็นหลายชั่วโมงหลังข้อมูลเติบโตอย่างรวดเร็ว คำตอบที่ดีจะเริ่มจาก query plan และ Spark UI แทนการขยายคลัสเตอร์ โดยตรวจว่า join เปลี่ยนจาก broadcast เป็น shuffle join หรือไม่ มีคีย์บางส่วนเกิด skew หรือไม่ จำนวน shuffle partitions ยังเหมาะกับข้อมูลหรือไม่ และตารางต้นทางมีปัญหาไฟล์ขนาดเล็กที่ OPTIMIZE แก้ได้หรือไม่ ผู้สัมภาษณ์กำลังประเมินลำดับการตรวจสอบของคุณ
สถานการณ์อื่นที่พบบ่อย ได้แก่ งาน streaming ที่มี lag เพิ่มขึ้นเรื่อย ๆ และความสัมพันธ์ระหว่างช่วง trigger, ขนาด state และ watermarks; โน้ตบุ๊กที่ใช้ได้กับผู้ใช้คนหนึ่งแต่ล้มเหลวกับอีกคน ซึ่งมักเป็นปัญหาสิทธิ์และนำไปสู่เรื่อง Unity Catalog, เวิร์กสเปซ และ service principals; ตารางที่นักวิเคราะห์ร้องเรียนว่าข้อมูลล้าสมัย ซึ่งเป็นคำถามเรื่องความสดใหม่ของข้อมูลและการประสานงาน; และคำขอให้เปิดเผยข้อมูลแก่อีกทีมอย่างปลอดภัย ซึ่งเกี่ยวข้องกับ Delta Sharing และสิทธิ์ระดับ catalog
ฝึกตอบสถานการณ์เหล่านี้ออกเสียงพร้อมคำถามต่อยอดก่อนการสัมภาษณ์จริง โหมด สัมภาษณ์จำลอง สร้างมาเพื่อคำถามเชิงสถานการณ์โดยเฉพาะ และชุดคำถามด้านข้อมูลและวิศวกรรมที่กว้างขึ้นอยู่ใน คำถามสัมภาษณ์ตามตำแหน่งและหัวข้อ
ผู้ช่วยสัมภาษณ์ AI ช่วยตอบคำถาม Databricks ได้หรือไม่?
ช่วยได้ในรอบสนทนา แต่ต้องเข้าใจข้อจำกัดอย่างตรงไปตรงมา แอปเดสก์ท็อป SubcueAI สำหรับ macOS และ Windows จะจับเสียงระบบและไมโครโฟนของคุณ พร้อมแสดงคำแนะนำคำตอบสั้น ๆ ในหน้าต่างซ้อนภายในเครื่อง ดังนั้นเมื่อผู้สัมภาษณ์ถามว่า watermark ทำอะไรในการขจัดข้อมูลซ้ำของสตรีม กลไกดังกล่าวจะปรากฏบนหน้าจอขณะที่คุณอธิบายด้วยคำพูดของตนเอง ส่วนส่วนขยายเบราว์เซอร์รองรับการโทรผ่านแท็บเบราว์เซอร์บน Chrome และ Edge โดยจับเฉพาะเสียงจากแท็บการประชุม ไม่มีบอตเข้าร่วมสายและไม่มีสิ่งใดถูกแทรกลงในหน้าการประชุม ดูขั้นตอนการตั้งค่าได้ที่หน้า บทแนะนำ
ข้อจำกัดคือ แบบประเมินที่มีผู้คุม การบันทึกหน้าจอ แล็ปท็อปที่บริษัทจัดการ หรือแบบฝึกหัดโน้ตบุ๊กสดที่คุณเขียน PySpark ขณะถูกสังเกตการณ์ ล้วนอยู่นอกขอบเขต และการสัมภาษณ์ Databricks มักวางส่วนที่ยากที่สุดไว้ตรงนั้น ผู้ช่วยเหมาะที่สุดกับคำถามด้านสถาปัตยกรรมและการพิจารณาข้อแลกเปลี่ยน โหลดเรซูเม่ของคุณก่อนเพื่อให้คำแนะนำสะท้อนไปป์ไลน์ที่คุณสร้างจริง โดย เครื่องมือสร้างเรซูเม่ จะเก็บโปรไฟล์นั้นไว้