أسئلة المقابلات الشائعة في DevOps
أسئلة المقابلات الشائعة في DevOps
المقاربة
التحضير للمقابلة لا يقلّ أهمية عن المعرفة العملية. لذا عليك أن تكون مستعدًّا. باتّباع أسلوب MVP الرشيق، ترتبط كل وحدة بأسئلة مقابلات شائعة، لذا ينبغي أن تكون مستعدًّا للمقابلة في أي مرحلة.
بعد أن تنهي محتوى الوحدة ومشروع الوحدة، راجع أسئلة المقابلات وتأكّد من فهم كل سؤال فهمًا جيدًا (لكن ليس بالضرورة 100%).
تلميح
أسئلة المقابلات الشائعة أساسية وتُستخدم عادةً في مرحلة المقابلة الفرزية (الترشيح). حالما تنتهي منها، تابع إلى أسئلة المقابلات القائمة على السيناريو.
الوحدة 1
وحدة خارطة الطريق: مرحبًا بك في عالم DevOps
- ما هو DevOps وما الحاجة إليه؟
- ما الفروق الجوهرية بين DevOps وأجايل؟
- ما هو مهندس DevOps؟
- ما متطّلبات أن تصبح مهندس DevOps؟
- ما الركائز الثلاث المهمة في DevOps؟
- ما المراحل المختلفة لـ DevOps؟
- ما المكوّنات الرئيسية لسير عمل DevOps ناجح؟
- ما الأطوار المختلفة لدورة حياة DevOps؟
- ما بعض الفوائد التقنية والتجارية لمنهجية DevOps؟
- كيف تضع استراتيجية لتنفيذ DevOps ناجح؟
- ما العمليات الجوهرية في DevOps من حيث التطوير والبنية التحتية؟
- ما الفرق بين مهندس DevOps وSRE وCloud وPlatform؟
المصادر
الوحدة 2
وحدة خارطة الطريق: الأساسيات - جوهر DevOps
- ما الميزات الرئيسية في Python التي تجعلها مناسبة للسحابة وDevOps؟
- اشرح الفرق بين list وtuple وset وdictionary.
- ما الفرق بين النطاق العام والنطاق المحلي (global وlocal scope)؟
- ما هو المُكرِّر (iterator) في Python؟
- هل يمكنك نسخ قائمة (List) في Python بمجرّد كتابة
list2 = list1؟ - ما هي الإزاحة (indentation) في Python، ولماذا هي مهمة؟
- كيف يمكنك إرجاع نطاق من محارف نصّ (string)؟
- ما هو مستودع Git؟
- اشرح مفهوم التفرّع (branching) في Git.
- ما الفرق بين
git fetchوgit pull؟ - ما هو سحق الالتزامات (Git squashing)؟
- ما هو تعارض الدمج (merge conflict) في Git؟
- ما هو
git prune؟ - ما هو
git rebase؟ - ما الفرق بين Git merge وGit rebase؟
- ما نموذج أذونات الملفات في Linux، وكيف يعمل؟
- ما هو أمر
sudoفي Linux؟ - ما هي الصدفة (shell) في Linux؟
- ما الفرق بين الروابط الصلبة والروابط اللينة (hard links وsoft links) في Linux؟
- كيف تسرد جميع العمليات العاملة في Linux؟
- ما أهم أوامر Linux؟
- ما هو أمر
chmodفي Linux، وكيف تستخدمه؟ - ما هو أمر
find، وكيف تستخدمه؟ - فيمَ يُستخدم أمر
grepفي Linux؟ - فيمَ يُستخدم أمر
sedفي Linux؟ - كيف تتفقّد حالة خدمة أو خفير (daemon) في Linux؟
- ما الفرق بين ملفَّي
/etc/passwdو/etc/shadow؟ - كيف تجدول مهامًا متكرّرة في Linux؟
- ما الغرض من ملف sudoers في Linux، وكيف تضبط صلاحية sudo للمستخدمين؟
- كيف تغيّر ملكية ملف أو دليل في Linux باستخدام أمر chown؟
- كيف تُنظَّم الملفات في Linux؟
- ما هي Bash؟
- ما الفرق بين مستخدم عادي ومستخدم جذري (root)؟
- ما الفرق بين التوزيعات القائمة على RPM والتوزيعات القائمة على Debian؟
- ما الفرق بين الصدفة والطرفية (shell وterminal) في Linux؟
- ما هو Docker؟
- ما ميزات Docker؟
- سمِّ واشرح مكوّنات Docker.
- ما الفرق بين الحاويات والمحاكاة الافتراضية (virtualization)؟
- كيف تبدأ حاوية وتوقفها وتقتلها؟
المصادر
- أسئلة مقابلات DevOps - GeeksforGeeks
- أسئلة مقابلات Linux - GeeksforGeeks
- أسئلة مقابلات Docker - GeeksforGeeks
- أسئلة مقابلات Linux - LambdaTest
- أسئلة مقابلات Python - W3Schools
الوحدة 3
وحدة خارطة الطريق: الانطلاق - إرساء القاعدة
- ما هما اختبار الأتمتة والاختبار المستمر؟
- ما هو CI/CD؟
- ما فوائد CI/CD؟
- ما الأدوات الشائعة المستخدمة لـ CI/CD؟
- اشرح مفهوم خط الأنابيب (pipeline) في CI/CD.
- ما أهمية جودة الشيفرة في CI/CD؟
- كيف تنفّذ الاختبار في CI/CD؟
- كيف يتكامل التحكّم في الإصدارات مع CI/CD؟
- ما هو GitHub Actions؟
- ما فوائد استخدام GitHub Actions؟
- كيف تعمل سير العمل (workflows) في GitHub Actions؟
- ما المكوّنات المختلفة لسير عمل GitHub Actions؟
- ما هي المُشغِّلات (runners) في سياق GitHub Actions؟
- ما الفروق بين المهمة (job) والخطوة (step) في GitHub Actions؟
- كيف تدير الأسرار (secrets) في GitHub Actions؟
- كيف تعرّف مُشغِّل سير العمل (workflow trigger) في GitHub Actions؟
- كيف تشغّل مهمة على فروع محدّدة فقط؟
- كيف تمرّر متغيّرات البيئة بين المهام؟
- كيف تحدّد إصدار مُشغِّل معيّن؟
المصادر
- أسئلة مقابلات Turing - Turing
- أسئلة مقابلات Razorops حول GitHub Actions - Razorops
- أسئلة مقابلات Razorops حول CI/CD - Razorops
الوحدة 4
وحدة خارطة الطريق: التوسّع - بناء القشرة
- ما هو Kubernetes؟
- اشرح معمارية Kubernetes.
- اشرح مفهوم تنسيق الحاويات (container orchestration).
- ما هي النطاقات (Namespace) في Kubernetes؟
- ما هو الـ Pod في Kubernetes؟
- كيف يتعامل Kubernetes مع توسيع الحاويات؟
- ما الفرق بين StatefulSet وDeployment؟
- ما هي الخدمة (service) في Kubernetes؟
- كيف يدير Kubernetes الإعدادات؟
- صِف دور العقدة الرئيسية (master node) في Kubernetes.
- اشرح مفهوم الإدخال (ingress) في Kubernetes.
- ما هو ConfigMap في Kubernetes؟
- كيف تعمل التحديثات المتدرّجة (rolling updates) في Deployment؟
- ما هو المجلّد الدائم (Persistent Volume, PV) في Kubernetes؟
- ما بعض أفضل ممارسات CI/CD؟
- كيف تعزّز أفضل ممارسات CI/CD داخل فريق؟
- ما الفرق بين المراقبة (monitoring) والقابلية للملاحظة (observability)؟
- ما المكوّنات الأساسية للقابلية للملاحظة؟
- كيف يختلف التتبّع (trace) عن السجل (log)؟
- ما بعض أفضل ممارسات التسجيل (logging)؟
- كيف تعدّ المراقبة لعنقود Kubernetes؟
- ما الفروق الرئيسية بين البنية التحتية كخدمة (IaaS) والمنصّة كخدمة (PaaS) والبرمجيات كخدمة (SaaS)؟
- ما بعض تهديدات أمن السحابة الشائعة، وكيف يمكن تخفيفها؟
- ما مزايا وعيوب استخدام سحابة عامة مقابل سحابة خاصة؟
- هل يمكنك وصف دور المحاكاة الافتراضية في الحوسبة السحابية؟
المصادر
- أسئلة مقابلات GeeksforGeeks حول Kubernetes - GeeksforGeeks
- أسئلة مقابلات Razorops حول المراقبة والقابلية للملاحظة - Razorops
- أسئلة مقابلات DataCamp حول الحوسبة السحابية - DataCamp
الوحدة 5
وحدة خارطة الطريق: التحوّل - إتمام البنية
- ما هو تراكم المنتج (product backlog)؟
- ما هو تراكم السبرنت (sprint backlog)؟
- ما هو تكامل الأنظمة (system integration)؟
- ما الأنواع المختلفة لمقاربات تكامل الأنظمة؟
- اشرح مفهوم واجهات RESTful البرمجية.
- ما الأطوار المختلفة لمشروع تكامل الأنظمة؟
- ما هو الاختبار المستمر؟
- ما هو اختبار الأتمتة؟
- ما فوائد اختبار الأتمتة؟
- ما العناصر الرئيسية لأدوات الاختبار المستمر؟
- اشرح مصطلح
البنية التحتية كشيفرة(IaC) من حيث علاقته بـإدارة الإعدادات(Configuration Management). - ما فوائد البنية التحتية كشيفرة؟
- لماذا يُستخدم Terraform في DevOps؟
- ما الميزات الرئيسية لـ Terraform؟
- اشرح استخدامات Terraform CLI واذكر بعض أوامر CLI الأساسية.
- ما هي الوحدات (modules) في Terraform؟
- ما هو سجل الوحدات الخاص (private module registry)؟
- ما مكوّنات معمارية Terraform؟
- ما هو Kubectl؟
- كيف تؤتمت عمليات نشر Kubernetes؟
- ما فوائد استخدام Kustomize؟
- ما المكوّنات الرئيسية لـ Kustomize؟
- اشرح مفهوم الطبقات (overlays) في Kustomize.
- ما هو Helm؟
- ما فوائد استخدام Helm؟
- ما الأنواع المختلفة لمخططات Helm (charts)؟
- ما هي المراقبة (Monitoring) في DevOps؟
- ما هو التسجيل (Logging)؟
- كيف تختلف المراقبة عن التسجيل؟
- ما هي السجلات (logs)، ولماذا هي مهمة؟
- ما هو OpenTelemetry؟
- ما هو تجميع السجلات (log aggregation)، ولماذا هو أساسي؟
- كيف تنفّذ تسجيلًا مركزيًّا؟
- ما هو التسليم المستمر (Continuous Delivery)؟
المصادر
- أسئلة مقابلات DevOps - Simplilearn
- أسئلة وأجوبة مقابلات Terraform - Simplilearn
- أفضل 50 سؤالًا وجوابًا لمقابلات المراقبة والتسجيل - Razorops
- أسئلة وأجوبة مقابلات Kustomize - FOSS TechNix
- أفضل 30 سؤالًا وجوابًا لمقابلات Helm - FOSS TechNix
الوحدة 6
وحدة خارطة الطريق: التحسين - واصل التحسّن
- لماذا تُعدّ اجتماعات مراجعة السبرنت (sprint retrospective) مهمة؟
- ما بعض تقنيات تحسين الأداء الشائعة؟
- ما هو التخزين المؤقّت (caching) وكيف يحسّن الأداء؟
- ما الأنواع المختلفة للتخزين المؤقّت؟
- اشرح مفهوم التحميل الكسول (lazy loading).
- ما بعض طرق تحسين الصور لأداء الويب؟
- ما هي شبكة توصيل المحتوى (CDN)؟
- كيف يمكن لتحسين قواعد البيانات أن يحسّن الأداء؟
- ما بعض أفضل ممارسات تحسين تطبيقات الويب؟
- كيف تحسّن أداء استعلامات قواعد البيانات؟
- ما الفرق بين العمليات المتزامنة وغير المتزامنة؟
- ما الدور الذي تؤدّيه قائمة مكوّنات البرمجيات (SBOM) في تأمين سلسلة التوريد؟
- ما هو اختبار الأمن في سياق CI/CD؟
- لماذا اختبار الأمن مهم في CI/CD؟
- ما الأنواع الشائعة لاختبار الأمن؟
- ما هو اختبار أمن التطبيقات الساكن (SAST)؟
- ما الأدوات الشائعة لـ SAST؟
- ما مفهوم «الإزاحة لليسار» (shift-left) في اختبار الأمن؟
- كيف يعمل اختبار أمن الحاويات في CI/CD؟
- كيف تنفّذ سير عمل Git في بيئة فريق؟
- اشرح سير عمل Git.
- اشرح مفهوم الانحراف (drift) في Terraform.
- ما بعض طرق منع أو معالجة الانحراف في Terraform؟
- كيف يدعم Kubernetes تعدّد المستأجرين (multi-tenancy)، وما دور النطاقات في تحقيق العزل وتخصيص الموارد لفرق أو مشاريع مختلفة؟
- كيف تدير تعدّد المستأجرين في Kubernetes؟
- اشرح معمارية Kubernetes.
- اشرح مفهوم المشغّل المخصّص (Custom Operator) في Kubernetes.
- كيف يدير Kubernetes الإعدادات؟
- ما هو ConfigMap؟
- كيف يتعامل Kubernetes مع توسيع الحاويات؟
- اشرح الفرق بين StatefulSet وDeployment.
- ما هي تعريفات الموارد المخصّصة في Kubernetes (CRDs)؟
- كيف يمكن إصدار مخططات Helm وصيانتها؟
- كيف تتعامل مع تحديثات مخططات Helm وترقيات الإصدارات في بيئة إنتاج؟
- كيف تدير تحديثات مخططات Helm في استراتيجية نشر متدرّجة؟
- اشرح كيف يتعامل Helm مع إصدار نسخ المخططات والإصدارات.
- كيف تتعامل مع إصدار نسخ مخططات Helm عند العمل مع فرق وبيئات متعدّدة؟
- كيف تُصدّر نسخ مخططات Helm لخطوط أنابيب التسليم المستمر؟
- كيف تدمج Helm مع ممارسات GitOps؟
- كيف تؤتمت نشر مخططات Helm في عنقود Kubernetes باستخدام ممارسات GitOps؟
- اشرح النشر المستمر (Continuous Deployment) ومزاياه.
- في أي حالات لا تكون استراتيجية النشر المستمر مناسبة؟
- هل يمكنك شرح كيف يختلف التسليم المستمر عن النشر المستمر؟
- هل يمكنك شرح الفرق بين التكامل المستمر والتسليم المستمر والنشر المستمر؟
- ما هو GitOps، وكيف يختلف عن CI/CD التقليدي؟
- صِف عملية النشر الأزرق-الأخضر (blue-green deployment).
- ما هو GitOps؟
- ما الفرق بين DevOps وGitOps؟
- ما فوائد GitOps؟
- لماذا نحتاج GitOps؟
- ما هي أدوات GitOps؟
- ما هو ArgoCD؟
- اشرح معمارية ArgoCD ومكوّناتها.
- مكوّنات معمارية ArgoCD.
- اشرح كيف يعمل ArgoCD | اشرح خط أنابيب GitOps.
- كيف يختلف ArgoCD عن أدوات CD الأخرى؟
المصادر
- أسئلة مقابلات اختبار الأمن في CI/CD - Razorops
- أسئلة مقابلات أمن سلسلة توريد البرمجيات - Practical DevSecOps
- أسئلة مقابلات Kubernetes - Practical DevSecOps
- أسئلة مقابلات DevOps - Turing
- أسئلة مقابلات GitOps وArgoCD - FOSS TechNix
الوحدة 7
وحدة خارطة الطريق: مشروع التخرّج
أسئلة هذا القسم ديناميكية وتعتمد على مشروع التخرّج الفعلي.
انتهيت؟ تابع إلى أسئلة المقابلات القائمة على السيناريو.