أسئلة مقابلة Data Engineer، حسب كل جولة
بقلم Aaron Cao · آخر تحديث

تغطي جولات مقابلات data engineer SQL متقدم، وdata modelling، وتصميم pipeline وETL، وdistributed processing، وجولات behavioral. جولة تصميم pipeline هي التي تحسم معظم النتائج: فهي تسأل كيف تتعامل مع late data وreruns وfailures، لا أي أداة تفضلها.
ما الجولات التي تتضمنها مقابلة data engineer؟
ربما تستعد بنفس الطريقة التي تستعد بها لمقابلة software engineering وتتساءل عن الفرق. يرسم هذا القسم الجولات التي تتكرر في هذه المقابلات، حتى تنفق وقتك على الجولتين اللتين تفصلان فعلاً بين المرشحين. نادراً ما تُفقد العروض عند الفلتر التقني.
- SQL. Window functions وdeduplication وquery performance، عادةً مباشرة.
- Data modelling. تصميم جداول لعمل موصوف، والدفاع عن grain الذي اخترته.
- تصميم pipeline وETL. جولة system design مفتوحة مركزة على حركة البيانات.
- Distributed processing. كيف ينفذ framework عملك فعلاً، ولماذا هو بطيء.
- Coding. Python أو Scala، وغالباً أخف من جولة software engineering.
- Behavioral. حوادث on call، وdashboards معطلة، وstakeholders أرادوا الرقم منذ الأمس.
تتداخل المسميات كثيراً مع analytics engineering وأدوار platform، لذا يتغير المزيج. توجد بنوك الأدوار ذات الصلة في مركز interview questions by role.
ما أسئلة SQL وdata modelling التي تظهر؟
SQL
- أزل التكرار من جدول مع الإبقاء على أحدث صف فقط لكل key.
- اكتب query يعيد عدد sessions لكل user باستخدام فجوة عدم نشاط مدتها 30 دقيقة.
- احسب running total وتغيراً شهرياً في query واحد.
- ابحث عن الصفوف الموجودة في snapshot الأمس والمفقودة اليوم.
- ماذا تفعل
QUALIFY، وماذا كنت ستكتب بدونها؟ - هذا الاستعلام يمسح مليار صف ويستغرق عشرين دقيقة. كيف تشخص ذلك؟
- اشرح الفرق بين partitioning وclustering، ومتى يساعد كل منهما.
Data modelling
- صمم الجداول لتاريخ طلبات سوق إلكتروني. ما grain لـ fact table لديك؟
- اشرح star schema، ومتى تختار denormalise أكثر عمداً.
- ما slowly changing dimension، وكيف تنفذ type two؟
- يريد stakeholder أن يعكس التقرير التاريخي المنطقة الحالية للعميل. ما الذي يتعطل؟
- كيف تصمم event stream يصل out of order؟
- متى تختار wide table بدلاً من نموذج normalised؟
تكافئ جولة modelling الالتزام بـ grain والدفاع عنه. المرشحون الذين يصفون ثلاثة تصاميم ممكنة دون اختيار يحصلون على درجات أسوأ من المرشحين الذين يختارون تصميماً معقولاً ويذكرون نقطة ضعفه.
ما أسئلة pipeline وdistributed processing التي تظهر؟
تصميم pipeline وETL
- صمم pipeline يحمّل معاملات يومية إلى warehouse للتقارير.
- يرسل المصدر upstream بيانات الأمس مرة أخرى. ماذا يحدث لعملك؟
- كيف تجعل pipeline idempotent، ولماذا يهم ذلك للـ reruns؟
- كيف تنفذ backfill لسنتين من التاريخ دون تعطيل التحميل اليومي؟
- تظهر late arriving data بعد ثلاثة أيام من إغلاق partition. ماذا تفعل؟
- كيف تكتشف أن pipeline نجح لكنه أنتج بيانات خاطئة؟
- ماذا تراقب، وما الذي يوقظ شخصاً في الثالثة صباحاً؟
Distributed processing وstreaming
- ما الذي يسبب shuffle، ولماذا هو مكلف؟
- عملك بطيء وهناك task واحد يستغرق وقتاً أطول بكثير من الباقي. ماذا يحدث؟
- اشرح data skew وطريقتين للتعامل معه.
- متى تختار streaming بدلاً من batch job مجدول؟
- ماذا يضمن exactly once processing فعلاً، وأين لا يصمد؟
- كيف تتعامل watermarks مع out of order events في windowed aggregation؟
لاحظ كم قليل من هذه الأسئلة يطلب منك تسمية أداة. تسمية أداة هي بداية الإجابة، لا الإجابة نفسها. السؤال التالي دائماً هو لماذا، وماذا يتعطل.
كيف تتدرب على هذه الأسئلة؟
قراءة هذه القوائم تبني التعرف. تختبر جولات design شيئاً آخر: القدرة على حمل نظام في ذهنك بينما يقاطعك أحدهم بحالة فشل. لا يأتي ذلك إلا من قول التصاميم بصوت عالٍ.
- ارسم واسرد pipeline خلال خمس عشرة دقيقة. Source وlanding وtransform وserve، بالإضافة إلى كيفية فشل كل مرحلة.
- هاجم تصميمك الخاص. بعد كل تمرين، اسأل ماذا يحدث عند rerun، وعند late data، وعند تغيير schema.
- جهّز رقماً جاهزاً للحجم. صفوف في اليوم، الحجم، ميزانية latency. ذكر الحجم المفترض أولاً يُحتسب لك.
- اكتب SQL بخط يدك. غالباً ما تستخدم الجولات المباشرة محرراً بسيطاً بلا autocomplete وبلا تنفيذ.
- تدرب جيداً على قصة حادثة واحدة. ما الذي تعطل، وكيف اكتشفته، وماذا غيرت حتى لا يتكرر.
استعدت مهندسة data engineer لديها ست سنوات خبرة في batch pipelines بمراجعة internals الـ framework، لكنها توقفت عند "أعاد المصدر upstream إرسال ملف الأمس" لأنها كانت تتعامل معه يدوياً فقط ولم تشرحه قط. كانت المعرفة موجودة؛ الإجابة المنطوقة لم تكن. التدرب على جولة design مع أسئلة متابعة هو بالضبط ما صُمم من أجله وضع mock interview.
الأسئلة الشائعة
كيف تختلف مقابلة data engineer عن مقابلة software engineer؟
هل أحتاج Spark تحديداً، أم أن المفهوم كافٍ؟
إلى أي مدى تختبر هذه المقابلات data modelling؟
ما أكثر سبب شائع لفشل المرشحين في جولات data engineer؟
كيف أتدرب على جولات design بمفردي؟
أسئلة ذات صلة
- ما الأسئلة التي تُطرح في مقابلة عالم بيانات؟
- ما الأسئلة التي تُطرح في مقابلة محلل بيانات؟
- ما الأسئلة التي تُطرح في مقابلة مدير المنتج؟
- ما الأسئلة التي يتلقاها المطورون في المقابلات حول Copilot ومساعدي البرمجة بالذكاء الاصطناعي؟
- ما الأسئلة التي تُطرح في المقابلة الثانية؟
- ما الأسئلة التي تُطرح في مقابلة العمل بالذكاء الاصطناعي؟