ما أسئلة مقابلات Terraform التي ينبغي أن أتوقعها؟
بقلم Aaron Cao · آخر تحديث

توقع أسئلة ضمن أربع مجموعات: سير العمل الأساسي (init وplan وapply وdestroy)، والحالة (الواجهات الخلفية البعيدة، والقفل، والقيم الحساسة)، وبنية الشفرة (الوحدات، والمتغيرات، ومساحات العمل، والموفرون)، وسيناريوهات مثل الانحراف، أو فشل apply في منتصف التنفيذ، أو استيراد موارد أُنشئت يدويا. يقيّم المحاورون المنطق وراء كل اختيار.
ما أساسيات Terraform التي يتحقق منها المحاورون أولا؟
تبدأ معظم مقابلات Terraform بسير العمل، ثم تنتقل سريعا إلى ما يحدث خلفه. كن مستعدا لشرح دورة الحياة دون ملاحظات: ينزّل terraform init الموفرين ويهيئ الواجهة الخلفية؛ ويقارن terraform plan الإعداد المطلوب بملف الحالة والموارد الفعلية، ثم يعرض الإجراءات التي سيتخذها؛ وينفذ terraform apply تلك الخطة؛ ويزيل terraform destroy ما يديره الإعداد. غالبا ما يكون أول سؤال متابعة هو سبب فصل plan عن apply، والإجابة هي المراجعة والسلامة: يمكن فحص الخطة واعتمادها وحفظها قبل تغيير أي شيء.
- الموفرون. إضافات تتواصل مع واجهة API مثل AWS أو Azure أو Google Cloud أو Kubernetes. سؤال متابعة: لماذا تثبّت إصدارات الموفرين؟
- الموارد ومصادر البيانات. الموارد هي الأشياء التي ينشئها Terraform ويديرها؛ أما مصادر البيانات فتقرأ أشياء موجودة لا يديرها.
- المتغيرات والقيم المحلية والمخرجات. مدخلات وقيم محسوبة وقيم مصدّرة. سؤال متابعة: كيف تمنع ظهور سر في مخرجات الخطة؟
- رسم التبعيات. يرتّب Terraform العمليات بناء على المراجع بين الموارد؛ ويوجد
depends_onللتبعيات التي لا يستطيع الرسم اكتشافها.
أجب بذكر ما يقرؤه ويكتبه كل أمر. فالمرشح الذي يقول إن plan للقراءة فقط، وإن apply يغيّر البنية التحتية والحالة معا، يكون قد أثبت بالفعل فهمه للنموذج.
ما أسئلة الحالة والوحدات التي ينبغي أن أستعد لها؟
أنت تعرف أن الحالة مهمة، وربما تتوقع أن يبحث المحاور عن حدود فهمك. وهذا توقع منطقي، لذا يغطي هذا القسم الأسئلة التي تصل إلى تلك الحدود وما تتضمنه الإجابة الكاملة.
- أين توجد الحالة، ولماذا لا تُحفظ محليا؟ توفر واجهة خلفية بعيدة، مثل حاوية تخزين كائنات أو Terraform Cloud أو قاعدة بيانات، مصدرا مشتركا للحقيقة. ويأتي بعدها سؤال القفل: يؤدي تنفيذ شخصين لعملية apply في الوقت نفسه إلى إفساد الحالة، لذلك ترفض الواجهات الخلفية الداعمة للقفل التشغيل الثاني.
- ماذا يحتوي ملف الحالة؟ سمات الموارد، بما فيها قيم قد تعدها حساسة. اذكر أن الحالة يجب أن تُعامل كمادة سرية، وأن تُشفّر عند التخزين، وأن يخضع الوصول إليها للتحكم.
- الوحدات. الوحدة مجموعة موارد قابلة لإعادة الاستخدام، لها مدخلاتها ومخرجاتها. يسأل المحاورون عن كيفية تحديد إصدارات الوحدات، وتجنب وحدة تحاول فعل كل شيء، وكيفية تركيب الوحدة الجذرية من وحدات فرعية.
- مساحات العمل مقارنة بالإعدادات المنفصلة. تمنح مساحات العمل إعدادا واحدا عدة ملفات حالة. والإجابة الخادعة هي اعتبارها الحل الكامل للبيئات؛ فعادة ما تستحق بيئة الإنتاج إعدادا وواجهة خلفية وبيانات اعتماد خاصة بها بدلا من مجرد تبديل مساحة العمل.
- إعادة الهيكلة دون تدمير. تؤدي إعادة تسمية مورد إلى جعل Terraform يرغب في تدميره وإعادة إنشائه. اعرف أن كتل
movedوالأمرterraform state mvموجودان، والغرض من كل منهما.
اتبع قاعدة جيدة في كل إجابة هنا: سمّ الفشل الذي تمنعه الممارسة. يمنع القفل التلف المتزامن، وتمنع الحالة البعيدة اختلاف الحالة بين الحواسيب المحمولة، وتمنع الإصدارات المثبتة ترقية مفاجئة أثناء عملية apply اعتيادية.
كيف تسير أسئلة السيناريوهات؟
في مقابلات المناصب المتقدمة، تحل المواقف محل التعريفات. ومن أمثلتها: يُقال لمهندس منصات يتقدم لدور في البنية التحتية لدى شركة تقنية مالية إن شخصا غيّر مجموعة أمان يدويا في وحدة التحكم السحابية، وإن الخطة التالية تعرض فرقا لم يتوقعه أحد، وإن الفريق متردد في تنفيذها. تسمّي الإجابة القوية الموقف انحرافا، وتوضح أن plan كشفه بالفعل عبر تحديث الحالة الفعلية، وتقرر إن كان ينبغي الإبقاء على التغيير اليدوي أو التراجع عنه، ثم تحدّث الإعداد ليطابق الواقع أو تنفذ apply لاستعادة الحالة المعلنة. يستمع المحاور إلى القرار، لا إلى أمر بعينه.
ومن السيناريوهات المتكررة الأخرى: فشل apply في منتصف التنفيذ وشكل الحالة بعده؛ والموارد المنشأة قبل استخدام Terraform وكيف يُدخلها terraform import تحت إدارته؛ وفريق من عدة مهندسين وكيف تنظم المستودعات والواجهات الخلفية وCI بحيث تعمل الخطط عند طلبات السحب وتعمل عمليات apply مرة واحدة؛ والأسرار الموجودة في المتغيرات والمصدر الذي ينبغي أن تأتي منه بدلا من ذلك؛ وترقية موفر تغيّر سلوك الموارد. في كل حالة، اذكر القيد، واختر الآلية، وبيّن تكلفتها.
يسهل تقديم إجابات جيدة عن هذه الأسئلة عندما تكون قد قلتها بصوت مرتفع من قبل. يطرح وضع المقابلة التجريبية أسئلة سيناريوهات مع أسئلة متابعة، وتوجد مجموعات الأدوار والأدوات الأخرى ضمن أسئلة المقابلات حسب الدور والموضوع.
هل يمكن لمساعد مقابلات بالذكاء الاصطناعي المساعدة في مقابلة Terraform؟
نعم في الأجزاء الحوارية، مع حدود ينبغي توضيحها بصراحة. يلتقط تطبيق SubcueAI الأصلي لأجهزة سطح المكتب على macOS وWindows صوت النظام والميكروفون، ويعرض اقتراحات قصيرة في طبقة محلية؛ فعندما يسأل المحاور مم يحمي قفل الحالة، تظهر الآلية أمامك أثناء شرحها. وتفعل اللوحة الجانبية لإضافة المتصفح الشيء نفسه في مكالمات تبويب المتصفح على Chrome أو Edge، إذ تلتقط صوت تبويب الاجتماع فقط. لا ينضم أي روبوت إلى المكالمة، ولا يُحقن شيء في صفحة الاجتماع؛ وخطوات الإعداد موجودة في صفحة الدليل التعليمي.
أما الحالات التي لا يساعد فيها فهي: اختبار مراقب، أو شاشة مسجلة، أو حاسوب محمول تديره الشركة، أو تمرين مباشر تكتب فيه HCL تحت المراقبة. يصف Aaron Cao، مؤسس SubcueAI، هدف التصميم بأنه تلميح لما تعرفه بالفعل، لا بديلا عنه، ولهذا يعمل المساعد انطلاقا من سيرتك الذاتية وصياغتك الخاصة. وتوضَّح الحدود الصريحة في مجموعة قابلية الاكتشاف.