46 أسئلة وأجوبة مقابلة DevOps المتداولة [2023]
نشرت: 2023-01-12هل تريد معرفة الأسئلة التي يجب طرحها أثناء مقابلة DevOps التالية؟ ابدأ مع دليلنا المفيد.
تمت صياغة مصطلح DevOps في 2007-2008 ولكنه أصبح الآن أحد أكثر المهن شهرة في مجال هندسة البرمجيات. DevOps هو تحول ثقافي يمس كل جانب من جوانب التطوير والعمليات.
يعمل الفريقان (التطوير والعمليات) معًا من التخطيط والبناء إلى المراقبة والتكرار. هذه هي الأسئلة الأكثر شيوعًا التي من المحتمل أن تصادفها إذا كنت تبحث عن دور مهندس DevOps.
ما هو DevOps؟
DevOps هو الشكل المختصر للتطوير والعمليات. تجمع ممارسة هندسة البرمجيات هذه بين فرق التطوير والتشغيل لأتمتة كل مرحلة من مراحل المشروع. يركز فريق DevOps على إدارة الموارد والتواصل والعمل الجماعي.
ما هي المراحل المختلفة في منهجية DevOps
- التطوير المستمر. هذه هي مرحلة التخطيط والترميز.
- التكامل المستمر. هذه هي المرحلة التي يدمج فيها فريق التطوير المكونات المختلفة ويضمن عدم كسر الكود.
- الاختبار المستمر. هذه هي مرحلة الاختبار المحددة مسبقًا والآلية.
- الانتشار المستمر. تضمن هذه المرحلة تطويرًا خاليًا من المتاعب ، مما لا يؤثر على أداء التطبيق بالكامل.
- المراقبة المستمرة. تضمن هذه المرحلة الفعالية الشاملة للتطبيق.
- ردود الفعل المستمرة. يتم تحليل المشكلات والأداء ، كما أبلغ عنها المستخدمون النهائيون.
- عمليات مستمرة. يسمح للمطورين بإنشاء إصدارات أفضل من المنتج واكتشاف المشكلات بسرعة.
ما هي فوائد DevOps؟
- توصيل المنتج بشكل أسرع وأفضل
- قابلية تطوير أكبر
- حل مشكلة سريع
- استخدام أفضل للموارد
قم بتسمية بعض أدوات DevOps
- أدوات التكامل المستمر مثل Jenkins
- التحكم في الإصدار مثل Git
- أدوات البناء مثل Maven
- أدوات إدارة التكوين مثل Chef
- منصات الحاويات مثل Docker
تسمية بعض DevOps KPI
- تردد النشر
- حجم التغيير
- وقت النشر
- معدلات النشر الفاشلة
- كشف الوقت
- معدل الهروب من العيب
الفرق بين DevOps و Agile
DevOps هي ثقافة تعزز التعاون بين جميع أعضاء الفريق المشاركين في تطوير وصيانة البرامج.
Agile هي منهجية تطوير مصممة لجعل الفرق منتجة وقيادة الإصدارات بناءً على الاحتياجات المتغيرة.
ما هو دور AWS في DevOps
تمتلك AWS مجموعة من الخدمات المرنة التي تساعد الشركات على تطوير التطبيقات بشكل موثوق وسريع. تعمل خدمات AWS على تبسيط نشر التعليمات البرمجية وتوفير البنية التحتية وتبسيطها وأتمتة عمليات إصدار البرامج ومراقبة أداء البنية التحتية.
ما فائدة SSH؟
SSH (Secure Shell) هو بروتوكول يسمح بالاتصال الآمن بين أجهزة الكمبيوتر المختلفة. تخدم SSH أغراضًا مختلفة ، مثل العرض ؛ مصادقة قوية وتشفير قوي والحفاظ على سلامة الاتصال واتصال قوي وأمان.
ما هو التكامل المستمر؟
يسمح التكامل المستمر لمطوري البرامج بدمج التعليمات البرمجية الخاصة بهم في مستودع مركزي. ثم يتم أخذ الكود من خلال عمليات الإنشاء والاختبارات الآلية.
ما هي إدارة التكوين؟
إنها عملية هندسية للنظام لإنشاء والحفاظ على اتساق أداء النظام / المنتج والسمات الوظيفية والمادية طوال دورة حياته.
ما هو الاختبار المستمر؟
هذا اختبار مجدول وآلي للتطبيق مع استمرار التطوير.
ما هو جيت؟
هذه أداة مفتوحة المصدر ومجانية لإدارة كود المصدر. تم تصميم هذه الأداة للتعامل مع المشاريع الصغيرة والكبيرة.
اذكر بعض أوامر Git الأساسية
- استنساخ Git
git clone <https://name-of-the-repository-link>
- فرع جيت
git branch <branch-name>
- بوابة الخروج
git checkout <name-of-your-branch>
- إضافة بوابة
git add <file>
- Git الالتزام
git commit -m "commit message"
- دفع Git
git push <remote> <branch-name>
- بوابة السحب
git pull <remote>
اشرح الفرق بين Git merge و Git rebase
يسمح أمر Git merge للمطورين بدمج فروع Git المختلفة بينما تظل سجلات التزامات الفروع المعنية كما هي.
يسمح الأمر Git rebase للمطورين بدمج التغييرات من فرع إلى آخر ، ويتم تغيير السجلات بمجرد اكتمال العملية.
اشرح الفرق بين Git fetch و Git pull
يخبر Git fetch git باسترداد / التحقق من أحدث البيانات الوصفية من الأصل. ومع ذلك ، فإنه لا يقوم بأي نقل للملفات ولكنه يقوم فقط بالتحقق.
Git سحب الشيكات وإحضار التغييرات من المستودع البعيد إلى المشروع المحلي.
ما هو تعارض الدمج؟
تحدث تعارضات الدمج عندما تقوم بدمج فرعين مع الالتزامات المتنافسة. تحدث تعارضات الدمج عادةً عندما يغير مطورو مختلفون نفس سطر التعليمات البرمجية أو الملف.
ما هو التحكم في الإصدار وما هي الأنواع المختلفة؟
التحكم في الإصدار (التحكم بالمصادر) هو عملية تتبع وإدارة التغييرات في كود البرنامج.
هذه هي الأنواع المختلفة من ضوابط الإصدار ؛
- مركزي - احصل على نسخة "مركزية" واحدة من الكود المصدري على الخادم وجميع التغييرات ملتزمة بالنسخة "المركزية". Subversion (SVN) و Perforce أمثلة على ضوابط الإصدار المركزي.
- الموزعة (DVCS) - ليس لديها خادم مركزي لتخزين جميع ملفات المشروع. Git و Mercurial أمثلة على DVCS.
ما هي فوائد استخدام التحكم في الإصدار؟
- يساعد المطورين في الحفاظ على الكفاءة وخفة الحركة
- يعطي سجلاً كاملاً لكل تغيير في مشروع / ملف
- تحسين التتبع
- يساعد في إدارة الدمج والتفرع
- تمكن التعاون
ما هو التفرع؟
يشير التفريع إلى إنشاء إصدار منفصل / جديد من المستودع الرئيسي. تسمح لك الفروع بالعمل في أجزاء مختلفة من المشروع دون التأثير على الفرع الرئيسي.
ما هي استراتيجيات التفريع؟
استراتيجيات الدمج هي المنهجيات التي تعتمدها فرق تطوير البرامج عند كتابة التعليمات البرمجية ودمجها ونشرها. يضمن هذا النهج إصلاح الأخطاء والأخطاء في مرحلة الفرع قبل دمجها مع المشروع الرئيسي.
ما هو اختبار الأتمتة وكيفية أتمتة الاختبار في DevOps؟
اختبار الأتمتة هو أسلوب للمراجعة والتحقق من التعليمات البرمجية تلقائيًا. يتم إجراء اختبار الأتمتة للتحقق من استيفاء معايير الجودة للوظائف (منطق الأعمال) ونمط الكود وتجربة المستخدم.
يتم إجراء اختبار الأتمتة باستخدام أدوات مثل السيلينيوم وكاتالون.
ما هو جينكينزفيل؟
Jenkinsfile هو ملف نصي يحتوي على تعريف خط أنابيب Jenkins. يتم فحص Jenkinsfile في مستودع التحكم بالمصادر. بعض استخداماته هي ؛ يسمح بمسار تدقيق لخط الأنابيب ، ويسمح بمراجعة الكود والتكرار على خط الأنابيب ، ويعطي مصدرًا واحدًا للحقيقة في خط الأنابيب.
اشرح العمارة في جينكينز
جنكينز لديه هندسة معمارية السيد والعبد. هذا يعني أن هناك العديد من "العبيد" الذين يعملون لدى سيد واحد. وبالتالي ، يمكن لـ Jenkins Distributed Build إجراء اختبارات متطابقة في بيئات مختلفة ، مع جمع النتائج ودمجها في العقدة الرئيسية للمراقبة.
ما هي أفضل ملحقات Jenkins؟
- البرنامج المساعد بلو أوشن لجينكينز
- الارسال المساعد لجنكينز
- البرنامج المساعد Git لـ Jenkins
- البرنامج المساعد جيرا لجنكينز
- Docker plugin for Jenkins
- البرنامج المساعد Maven Integration for Jenkins
- البرنامج المساعد Kubernetes لـ Jenkins
- SonarQube البرنامج المساعد لجنكينز
- المكون الإضافي Amazon EC2 لـ Jenkins
ما هو السيلينيوم IDE؟
Selenium IDE هي أداة تسجل تفاعلات المستعرض لحالات الاختبار. يمكنك تعيين نقاط التوقف والتحقق من المتغيرات وإيقافها مؤقتًا عند حدوث أخطاء في بيئة التطوير المتكاملة من السيلينيوم.
ما هي مكونات السيلينيوم المختلفة؟
- السيلينيوم IDE
- السيلينيوم أرسي
- سيلينيوم ويب درايفر
- شبكة السيلينيوم
ما هي أنواع الاختبارات المختلفة في السيلينيوم؟
- الاختبار الشامل
- اختبار الانحدار
- اختبار النظام
- اختبار أداء
- اختبار التوافق
ما هي الاستثناءات المختلفة للسيلينيوم؟
- ElementNotSelectableException
- NoAlertPresentException
- InvalidSelectorException
- NoSuchSessionException
- StaleElementReferenceException
- NoSuchWindowException
- NoSuchFrameException
- NoSuchElementException
- TimeoutException
- ElementNotVisibleException
ما المقصود ب driver.close () و driver.quit () في WebDriver؟
يغلق الأمر driver.close()
نافذة المتصفح عند التركيز. إذا كان متصفح واحد فقط مفتوحًا ، فإنه يغلق جلسة المتصفح بأكملها.
يقوم الأمر driver.quit()
بإغلاق جلسة المتصفح بالكامل مع النوافذ المنبثقة وعلامات التبويب والنوافذ.
ما هو Dockerfile؟
Dockerfile هو مستند نصي يحتوي على جميع الأوامر التي يمكن للمستخدم استخدامها في سطر الأوامر لتجميع صورة.
الاختلافات بين صور عامل الإرساء وحاوية عامل الإرساء
صور Docker عبارة عن قوالب للقراءة فقط تم إنشاؤها باستخدام أكواد المصدر والأدوات والمكتبات والاعتمادات الخارجية والملفات الأخرى اللازمة لأي تطبيق ليتم تشغيله بنجاح على أي نظام تشغيل أو نظام أساسي.
حاوية عامل الإرساء عبارة عن صندوق يقوم بتشغيل قوالب صور عامل الإرساء.
اشرح بنية Docker
يتبع Docker بنية Client-Server ويتألف من Docker Client و Docker Host و Docker Registry.
يستخدم Docker Client واجهات برمجة تطبيقات وأوامر REST للتواصل مع الخادم (Docker Daemon).
يستخدم Docker Client CLI لتشغيل هذه الأوامر
docker build docker pull docker run
- يوفر Docker Host بيئة لتنفيذ التطبيقات وتشغيلها. تتكون من Docker daemon والتخزين والصور والحاويات والشبكات.
- يقوم Docker Registry بإدارة وتخزين صور Docker.
المنصات السحابية التي تدعم عامل الإرساء
الأنظمة الأساسية التي تدعم استضافة عامل الميناء هي ؛
- كاماتيرا
- Google Cloud Run
- استضافة A2
- StackPath
- Sloppy.io
- أمازون ECS
- مايكروسوفت أزور
- هوست بريستو
- فولتر
ما هو Nagios؟
Nagios هي أداة تراقب البنية التحتية لتكنولوجيا المعلومات بالكامل للتأكد من أن العمليات والأنظمة والخدمات والتطبيقات التجارية تعمل بشكل صحيح.
كيف يعمل Nagios؟
- المراقبة . يقوم موظفو تكنولوجيا المعلومات بتكوين Nagios لمراقبة بروتوكولات الشبكة ومقاييس النظام والتطبيقات والبنية التحتية للشبكة والخدمات والخوادم.
- تنبيه . يرسل Nagios تنبيهات عند فشل المكونات الهامة. يمكن أن تكون التنبيهات من خلال الرسائل القصيرة أو الرموز المخصصة أو رسائل البريد الإلكتروني.
- الاستجابة . يتعرف فريق تكنولوجيا المعلومات على التنبيهات ويتصرف.
- التقارير . يتم إنشاء التقارير التي توفر سجلاً تاريخيًا للإخطارات وانقطاع التيار واستجابات التنبيهات والأحداث لمراجعتها لاحقًا.
- الصيانة . يمنع التوقف المجدول إرسال التنبيهات أثناء الصيانة.
اذكر بعض المكونات الإضافية في Nagios
- ملحقات Nagios الرسمية - تم تطويرها وصيانتها بواسطة الفريق الرسمي
- الإضافات المخصصة - مكتوبة من قبل الأفراد / الشركات لتناسب الاحتياجات الفردية
- المكونات الإضافية للمجتمع - تم تطويرها بواسطة أعضاء مجتمع Nagios
اشرح الظاهرية باستخدام Nagios
يوفر Nagios القدرة على مراقبة مقاييس مختلفة على منصات افتراضية مختلفة. يمكن تشغيل Nagios من منصات افتراضية مختلفة مثل Xen و Amazon EC2 و VMware و Microsoft Virtual PC.
كيف يساعد Nagios في المراقبة؟
يستخدم Nagios وكلاء مثل NRPE أو check_mk أو SNMP لجمع الإحصائيات على الخادم الخاص بك وإرسال تنبيه إذا كانت المقاييس أعلى من الحد المحدد مسبقًا.
ما هي أرقام المنافذ التي يستخدمها Nagios لأغراض المراقبة؟
SNMP ، المنفذان 161 و 162
ما هو محلل شبكة Nagios؟
محلل شبكة Nagios هو برنامج لتحليل بيانات sflow يسمح للمستخدمين بحل السلوكيات غير الطبيعية ، وانقطاع التيار ، والتهديدات الأمنية بشكل استباقي قبل مقاطعة العمليات التجارية. توفر هذه الأداة التجارية رؤية موسعة لحركة مرور الشبكة والبنية التحتية لتكنولوجيا المعلومات.
المتغيرات التي تؤثر على الوراثة والتكرار في Nagios
- الاسم - نموذج "اسم" يمكنه أن يرث متغيرات الكائن / خصائصه.
- استخدم- حدد اسم كائن القالب الذي تريد أن ترث المتغيرات / الخصائص منه.
- يشير " التسجيل " إلى ما إذا كان يجب "تسجيل" اسم كائن القالب في Nagios.
ما هي الدمية؟
Puppet هي أداة مفتوحة المصدر لإدارة تكوين البرامج ونشرها.
ما هو بيان الدمى؟
بيان الدمى هو ملف يحتوي على لغة تكوين الدمى التي تصف كيفية تكوين الموارد.
ما هو رمز الدمى؟
رمز الدمى هو رمز تعريفي ، مما يعني أنك تصفها باستخدام الحالة المرغوبة في نظامك وليس الخطوات اللازمة للوصول إلى هناك.
ما هو الشيف؟
الشيف هو أداة إدارة التكوين التي تحول البنية التحتية إلى رمز. تركز هذه الأداة على كتابة التعليمات البرمجية بدلاً من العملية اليدوية.
كيف يعمل الشيف؟
يبدأ عمل الشيف عندما يحدد مديرو النظام أو المطورون المهام المراد تشغيلها آليًا. يتم بعد ذلك التقاط كتب الطبخ والوصفات (برامج صغيرة مكتوبة بلغة خاصة بمجال معين) واختبارها باستخدام أدوات مختلفة مثل Test Kitchen و ChefSpec و Foodcritic.
إذا كانت كتب الطبخ والوصفات تعمل كما هو متوقع ، يتم نشرها بعد ذلك على خادم الشيف باستخدام أدوات سطر أوامر الطاهي والسكين. تحتوي عملية نشر الشيف على خادم Chef ومحطات العمل والعقد. يمكنك الاختيار من بين أكثر من 3000 قالب لكتب الطبخ وتخصيصها حسب احتياجاتك. سيهتم الشيف بعد ذلك ببقية العمل.
ملخص
وفقًا لـ Glassdoor ، متوسط الراتب لمهندس DevOps هو 104281 دولارًا سنويًا في الولايات المتحدة. على الرغم من أن DevOps هي مهنة جديدة ، يمكننا الآن رؤية المزيد من الشركات التي توظف لهذا الدور وتنشر دورات مختلفة لتزويد المحترفين بالمهارات الأساسية. أعلاه بعض الأسئلة التي من المحتمل أن تواجهها في مقابلة DevOps.
يمكنك أيضًا استكشاف بعض الدورات التدريبية الجيدة عبر الإنترنت لتعلم DevOps.