أسئلة مقابلة Power BI
بقلم Aaron Cao · آخر تحديث

تركز مقابلات Power BI على evaluation context الخاص بـ DAX، وعلى data modeling، وعلى معمارية refresh. يُتوقع منك أن تشرح الفرق بين measure وcalculated column، وتصف filter context وrow context، وتبرر اختيار star schema، وتختار بين Import وDirectQuery، وتُعِدّ row-level security.
ما أسئلة DAX التي تظهر في كل جولة?
يمكنك بناء تقرير يعمل بشكل جيد وتظل مع ذلك عالقا عند أسئلة DAX، لأن المقابلات تختبر evaluation model وليس قائمة الدوال. يتناول هذا القسم أسئلة DAX التي تظهر في شبه كل مقابلة Power BI، وما تحتويه الإجابة القوية.
- ما الفرق بين measure وcalculated column? calculated column تُحسب صفا بصف أثناء refresh وتُخزَّن في النموذج، مما يستهلك الذاكرة. أما measure فتُحسب لحظة الاستعلام مقابل filter context الحالي ولا تخزن شيئا. اذكر الذاكرة والتوقيت، وليس فقط أن "إحداهما ديناميكية".
- اشرح row context وfilter context. row context هو الصف الحالي أثناء التكرار، وfilter context هو مجموعة الفلاتر التي تطبقها slicers والعناصر المرئية وDAX. تنشأ معظم النتائج المربكة من توقع أحدهما والحصول على الآخر.
- ماذا يفعل CALCULATE? يقيّم تعبيرا ضمن filter context معدّل، ويحوّل row context إلى filter context. هذا النصف الثاني هو ما يستمع إليه القائمون بالمقابلة.
- متى تحتاج إلى iterator مثل
SUMX? عندما يجب أن يحدث الحساب صفا بصف قبل التجميع، مثل السعر مضروبا في الكمية عندما لا يحتوي أي عمود مخزَّن على الناتج. - ماذا يفعل
ALL، ولماذا يُقرن بـ CALCULATE? يزيل الفلاتر، وهكذا تُبنى measures النسبة المئوية من الإجمالي. - اشرح
RELATEDمقابلRELATEDTABLE. الاتجاه مهم: أحدهما يعبر إلى جانب one، والآخر يعيد صفوفا من جانب many.
عادة مفيدة طوال الجولة: عندما تبدأ إجابة DAX في التشتت، عد إلى context. تنتهي شبه كل أسئلة المتابعة إلى معرفة أي context نشط وما الذي غيّره.
كيف تجيب عن أسئلة data modeling?
أسئلة modeling تفصل بين من يبني التقارير ومن يستطيع فعلا امتلاك dataset. المفردات المتوقعة هي dimensional.
- star schema أم snowflake، ولماذا? star، من أجل أداء الاستعلام وDAX أبسط، مع dimensions غير معيارية. snowflake فقط حيث تكون dimension كبيرة أو مشتركة فعلا. جدول مسطح واحد هو الإجابة التي تنهي الجولة مبكرا.
- ما fact table وما dimension table? تحتفظ fact tables بأحداث قابلة للقياس عند grain محدد، بينما تحتفظ dimensions بالسمات التي تُقسّم البيانات بحسبها.
- لماذا تهم cardinality العلاقة واتجاه cross-filter? one-to-many باتجاه واحد هو الافتراضي لسبب وجيه؛ الفلترة ثنائية الاتجاه تُدخل غموضا وقد تنتج مجاميع خاطئة.
- كيف تتعامل مع علاقة many-to-many? جدول bridge table، مع شرح لما تعنيه المجاميع بعد ذلك.
- لماذا تحتاج date table مخصص? تتطلب دوال time intelligence جدول تواريخ متصلا ومُعلَّما؛ من دونه تتصرف measures مثل year-to-date والسنة السابقة بشكل خاطئ.
- Power Query أم DAX لهذا التحويل? شكِّل البيانات في Power Query حيثما أمكن، لأن التحويلات هناك تحدث مرة واحدة عند refresh بدلا من كل استعلام.
سُئل محلل BI أثناء مقابلة لفريق تقارير في التجزئة عن سبب ظهور إجمالي المبيعات صحيحا حسب المنتج لكن خاطئا حسب المنطقة. الإجابة التي أرادتها اللجنة كانت إجابة modeling، علاقة ثنائية الاتجاه تخلق مسار فلترة غامضا، وليست إعادة كتابة لـ DAX. التشخيص أولا على مستوى النموذج هو الغريزة التي يجري اختبارها.
بنوك أسئلة أخرى خاصة بكل دور مجمَّعة تحت أسئلة المقابلة حسب الدور.
ماذا يسألون عن refresh وsecurity وdeployment?
تظهر هذه الأسئلة في جولات BI developer وanalytics engineer، وهنا ينفد المحتوى لدى المرشحين الذين بنوا فقط في Power BI Desktop.
- Import أم DirectQuery أم Composite? Import هو الأسرع في الاستعلام ومحدود بالذاكرة ونوافذ refresh. DirectQuery يبقي البيانات حديثة وينقل الحمل إلى المصدر، مع قيود DAX. Composite يمزج بينهما. اذكر المفاضلة وشرطا واحدا يحسمها.
- ما فائدة on-premises data gateway? يربط خدمات السحابة بمصادر خلف شبكة الشركة، من أجل refresh مجدول وDirectQuery.
- كيف يعمل incremental refresh? التقسيم حسب نطاق تاريخ بحيث تُعاد تحميل الأقسام الحديثة فقط، ومُهيّأ بمعاملات النطاق التي تتوقعها الميزة.
- كيف تنفذ row-level security? أدوار بتعبيرات فلترة DAX على dimension tables، مع security ديناميكي يستخدم دالة المستخدم المسجَّل للبحث عنه في جدول تخطيط.
- Workspace وapp وdataset وreport: كيف ترتبط ببعضها? إلمام أساسي بالخدمة، وسؤال سهل يمكن أن يُخفق فيه من عمل فقط في Desktop.
- كيف تحسّن تقريرا بطيئا? قلل العناصر المرئية في كل صفحة، وفضِّل measures على calculated columns، وقلل cardinality في أعمدة العلاقات، وافحص باستخدام Performance Analyzer.
إذا كانت خبرتك بالكامل في Desktop، قل ذلك بوضوح وصف ما ستحتاج إلى تعلمه. يقبل القائمون بالمقابلة فجوة معلَنة بصراحة؛ ولا يقبلون خبرة deployment مختلَقة تنكشف عند سؤال المتابعة التالي.
كيف تتدرب على مقابلة Power BI?
تفشل إجابات Power BI عند نطقها بصوت عالٍ بطريقة محددة: يعرف المرشح الفرق لكنه يشرحه بشكل دائري، لأنه لم يُظهره قط إلا بالنقر. قراءة بنك أسئلة تنتج تعرفا، وينهار هذا التعرف عندما يسأل غريب وينتظر.
اختر الأسئلة الخمسة أعلاه التي تفضّل أقل أن تُسأل عنها وأجب عن كل منها بصوت عالٍ في أقل من تسعين ثانية، دون شاشة. إذا لم تستطع قول ما يفعله CALCULATE دون الرسم، فأنت لست جاهزا لقوله أمام لجنة. تشغيل الأسئلة نفسها أمام AI interviewer يطرح أسئلة متابعة أقرب إلى المحادثة الحقيقية من إعادة قراءة الملاحظات، وهذا بالضبط ما بُني من أجله وضع mock interview.
صمّم Aaron Cao، مؤسس SubcueAI، وضع التمرين حول التكرار الفعلي بدلا من عرض المحتوى، لأن قوائم الأسئلة وفيرة بينما تكرارات التحدث ليست كذلك. في جولة مباشرة، يمكن لتطبيق سطح المكتب وSide Panel الخاص بامتداد المتصفح إظهار البنية أثناء حديث القائم بالمقابلة، وهو ما يساعد أكثر في المحتوى الذي تعرفه بالفعل. خطوات الإعداد موجودة في صفحة tutorial.