مقابلة البرمجة الثنائية: ماذا تتوقع وكيف تستعد لها

بقلم Aaron Cao · آخر تحديث

مقابلة البرمجة الثنائية: ماذا تتوقع وكيف تستعد لها
في مقابلة البرمجة الثنائية تكتب كودًا حقيقيًا مع مهندس آخر، عادة في محرر مشترك أو في بيئة التطوير الخاصة بك عبر مشاركة الشاشة، وغالبًا على ميزة صغيرة أو خطأ في قاعدة كود واقعية. يقيّم القائمون بالمقابلة التعاون والتواصل وعادات مثل كتابة الاختبارات، وليس فقط ما إذا كنت ستنهي المهمة.

في مقابلة البرمجة الثنائية تكتب كودًا حقيقيًا مع مهندس آخر، عادة في محرر مشترك أو في بيئة التطوير الخاصة بك عبر مشاركة الشاشة، وغالبًا على ميزة صغيرة أو خطأ في قاعدة كود واقعية. يقيّم القائمون بالمقابلة التعاون والتواصل وعادات مثل كتابة الاختبارات، وليس فقط ما إذا كنت ستنهي المهمة.

كيف تختلف مقابلة البرمجة الثنائية عن اختبار برمجي؟

إذا كنت قد تحضّرت بشكل أساسي بألغاز الخوارزميات، فقد تبدو لك جولة البرمجة الثنائية غير مألوفة. يشرح هذا القسم كيف تختلف ولماذا يغيّر ذلك من طريقة استعدادك. الإجابة المختصرة هي أنه يتم تقييمك كزميل مستقبلي في الفريق، لا كحلّال للألغاز.

تسير الجلسة عادة بإحدى ثلاث طرق: محرر مشترك يعمل عبر المتصفح، أو بيئة التطوير الخاصة بك أثناء مشاركة الشاشة، أو امتداد لمشروع منزلي (take-home) أنجزته بالفعل. تميل المهمة إلى أن تشبه العمل اليومي، مثل إضافة قاعدة تحقّق، أو إصلاح اختبار فاشل، أو إعادة هيكلة دالة. تقوم بعض الشركات بتبديل الأدوار، بحيث تقضي جزءًا من الجلسة بصفتك السائق (driver) الذي يكتب، وجزءًا بصفتك الملاحّ (navigator) الذي يوجّه.

ما الذي يقيّمه القائمون بالمقابلة؟

  • أسئلة التوضيح. هل تتأكد من المتطلب ومن معنى 'الانتهاء' قبل كتابة الكود.
  • التفكير بصوت مسموع. هل يستطيع شريكك متابعة خطتك دون أن يسأل.
  • التقدّم التدريجي. خطوات صغيرة تعمل بدلًا من تغيير كبير واحد في النهاية.
  • الاختبار. هل تكتب أو تشغّل اختبارًا لإثبات أن التغيير يعمل.
  • قراءة الكود. ما مدى سرعة توجّهك في كود لم تكتبه أنت.
  • تقبّل الملاحظات. كيف تتفاعل مع تلميح أو فكرة مختلفة من شريكك.

تتم مقارنة صيغ البرمجة الأخرى، بما في ذلك السبورة والمشروع المنزلي وجولات الخوارزميات المباشرة، في interview types hub.

كيف تبدو الجلسة الجيدة؟

طُلب من مهندس backend كان يجري مقابلة لوظيفة متوسطة المستوى في شركة ناشئة للخدمات اللوجستية إضافة قاعدة خصم إلى وحدة دفع (checkout) قائمة بالفعل. قبل أن يبدأ الكتابة، سأل عمّا إذا كانت الخصومات يمكن أن تتراكم، وماذا يجب أن يحدث للطلبات الجارية بالفعل. قرأ الاختبارات الموجودة، وكتب اختبارًا واحدًا فاشلًا للقاعدة الجديدة، وجعله ينجح بأبسط تغيير ممكن، ثم سأل شريكه عمّا إذا كانت القاعدة تنتمي إلى صنف pricing أم إلى كائن policy منفصل. وعندما اقترح القائم بالمقابلة نهجًا مختلفًا، جرّبه وشرح المفاضلة المرتبطة به. لم ينهِ المتطلب الإضافي، ومع ذلك ظلّت الملاحظات تركّز على مدى سهولة العمل معه.

هذا التدفّق من التوضيح، والاختبار أولًا، وإجراء تغييرات صغيرة، ومناقشة التصميم، هو بالضبط ما صُمّمت معظم جولات البرمجة الثنائية لملاحظته.

كيف تستعد، وأين يتناسب SubcueAI مع ذلك؟

تدرّب مع صديق على مهمة صغيرة في مستودع غير مألوف، ومارس السرد بصوت مسموع أثناء العمل. جهّز بيئتك مسبقًا إذا كنت ستستخدم بيئة التطوير الخاصة بك: يجب أن يُبنى المشروع وأن تنجح الاختبارات قبل بدء المكالمة. تساعد أداة المقابلة التجريبية في الأجزاء الحوارية، مثل شرح خيار تصميم أو مشروع سابق.

كن واقعيًا بشأن الأدوات المباشرة هنا. تعتمد البرمجة الثنائية بشكل كبير على مشاركة الشاشة، وكل ما تشاركه يكون مرئيًا لشريكك؛ كما أن القائم بمقابلتك يراقبك أيضًا وأنت تكتب الكود في الوقت الفعلي. يقوم SubcueAI بتفريغ حديث القائم بالمقابلة وصياغة نقاط إجابة أثناء أجزاء النقاش في مقابلة الفيديو، من تطبيق سطح المكتب أو إضافة المتصفح، دون أي bot في المكالمة. أما البرمجة نفسها فتقع على عاتقك، وبيئات المراقبة (proctored) والأجهزة التي تديرها الشركة تقع خارج هذا النطاق. تفاصيل الإعداد موجودة في صفحة tutorial.

الأسئلة الشائعة

هل يمكنك البحث عن أشياء أثناء مقابلة البرمجة الثنائية؟

غالبًا نعم، فيما يخص التوثيق والصياغة، لكن اسأل أولًا. يتوقع كثير من القائمين بالمقابلة أن تبحث عن الأشياء كما تفعل في العمل، ويهتمون أكثر بكيفية استخدامك لما تجده.

ماذا لو علقت أثناء مقابلة البرمجة الثنائية؟

قل أين علقت وما الذي جربته، ثم اطرح سؤالًا محددًا. يُقصد بالعمل الثنائي أن يكون تعاونيًا، لذا فإن طرح سؤال جيد جزء مما يتم تقييمه.

هل يجب أن أنهي المهمة؟

ليس دائمًا. تكون المهام أحيانًا أكبر عمدًا مما يسمح به الوقت. عادة ما يهم التقدّم النظيف والمختبَر والتواصل الواضح أكثر من إتمام كل متطلب.

ما اللغة التي سأستخدمها؟

يعتمد ذلك على الشركة. إذا كانت المهمة تستخدم قاعدة كود واقعية، فغالبًا ما تكون اللغة محددة مسبقًا؛ وإلا فقد تتمكن من الاختيار. تحقق من الدعوة واسأل مسؤول التوظيف إذا كان الأمر غير واضح.

أسئلة ذات صلة

← المزيد عن أنواع المقابلات