تصفح الدليل

كيف يُقيَّم المرشحون في مقابلات البرمجة في كبرى شركات التكنولوجيا

هل تساءلت يوماً كيف تُقيَّم مقابلات البرمجة في كبرى شركات التكنولوجيا مثل Google وAmazon وApple وNetflix؟

عبر كبرى شركات التكنولوجيا، لا تختلف معايير تقييم مقابلات البرمجة اختلافاً كبيراً في الواقع. فبينما قد تختلف المصطلحات الدقيقة المستخدمة في المعيار، فإن الأبعاد المُقيَّمة متشابهة تقريباً.

سأتناول بالتفصيل عملية التقييم العامة لمقابلات البرمجة في شركات التكنولوجيا الكبرى في هذا الدليل. وقد ضمّنت أيضاً معياراً نموذجياً يمكنك استخدامه أثناء التدرب بمفردك أو مع أقرانك.

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

منهجية تسجيل نقاط المرشح

عموماً عبر شركات FAANG / MANGA، يمكن تقسيم معايير تقييم مقابلات البرمجة على نحو واسع إلى 4 أبعاد:

  1. التواصل - هل يجري المرشح استيضاحات، ويعبّر عن أسلوبه ويشرح أثناء البرمجة؟
  2. حل المشكلات - هل يُظهر المرشح أنه يفهم المشكلة وقادر على التوصل إلى أسلوب سليم، وإجراء تحليل للمفاضلات، وتحسين أسلوبه؟
  3. الكفاءة التقنية - ما مدى سرعة التنفيذ ودقته؟ هل كانت هناك أخطاء صياغة؟
  4. الاختبار - هل اختُبرت الشيفرة على الحالات الشائعة والحدية؟ هل صحح المرشح الأخطاء بنفسه؟

هناك طريقتان عامتان لتسجيل نقاط المرشح في مقابلات البرمجة:

  1. إعطاء درجة (مثل 1-4) لكل بُعد وجمعها في درجة إجمالية
  2. إعطاء درجة إجمالية (مثل 1-4) بناءً على الأداء العام عبر الأبعاد

وبغض النظر عن الطريقة المستخدمة، تكون درجات التقييم عموماً:

  • توظيف قوي
  • توظيف
  • لا توظيف
  • عدم توظيف قوي

بعض الشركات قد يكون لديها درجة وسطى للتردد عندما يرى المُقابِل أن المرشح يحتاج تقييماً إضافياً.

كيف تؤثر درجتك في النتيجة؟

بغض النظر عن منهجية التسجيل، تعتمد الدرجة النهائية على الأداء العام عبر المعايير المُقيَّمة (وليس عبر حد رياضي محدد فحسب).

في كل جولة فرز هاتفية، يوجد عادة مُقابِل واحد فقط، لذا إن لم يمنحك درجة «ناجح» تعادل «يميل إلى التوظيف» فما فوق، فلن تنتقل إلى دورة المقابلات الكاملة. وإذا لم تُستخلص إشارات واضحة من الجولة، فقد يُطلب منك إجراء جولة فرز هاتفية تكميلية.

تتيح معظم كبرى شركات التكنولوجيا للمرشحين اجتياز كل جولات دورة المقابلات الكاملة قبل اتخاذ قرار بناءً على الملف النهائي. وإذا تلقى المرشح نتائج مختلطة (بعضها «ناجح» وبعضها «راسب») من جولات مختلفة، يجتمع المُقابِلون للنقاش بناءً على الإشارات التي أظهرتها. لهذا يكون أداؤك عبر دورة المقابلات بأكملها مهماً.

في حالات معينة، مثل جولات الفرز الهاتفية التكميلية، قد يُدعى المرشحون إلى جولات تقييم إضافية إذا:

  • كانت هناك جوانب فاتت التقييم، مثل أن يطرح مُقابِلا جولتي برمجة أسئلة متشابهة جداً
  • أظهر المرشح إشارات متضاربة في مجالات معينة وتلزم جولات إضافية للحصول على إشارات أكثر موثوقية

عموماً، درجاتك وملاحظاتك في كل جولة مرئية لجميع المُقابِلين. وأحياناً يمكن للمُقابِلين الاطلاع على ملاحظات من مقابلاتك السابقة في الشركة ذاتها لتجنب طرح السؤال نفسه مجدداً. تريد الشركات أن ترى أنك نميت مقارنة بالماضي. لذا إذا رُفضت سابقاً من شركة ما، فتأمل الأسباب المحتملة وعالجها إذا/عندما تقابل مع تلك الشركة مجدداً.

شرح تفصيلي لكل معيار مُقيَّم

1. التواصل

إشارات التواصل الأساسية:

  • يطرح أسئلة استيضاحية مناسبة
  • يعبّر عن أسلوبه ومنطقه والمفاضلات
  • يواصل التواصل باستمرار، حتى أثناء البرمجة
  • تواصل منظم جيداً وموجز وواضح
الدرجةالتقييم العام
توظيف قويطوال المقابلة، كان التواصل شاملاً ومنظماً جيداً وموجزاً وواضحاً من حيث مسار التفكير — بما فيه كيفية فهمهم للسؤال وأسلوبهم والمفاضلات.
لم يجد المُقابِل أي صعوبة في متابعة مسار تفكير المرشح وفهمه إطلاقاً.
يميل إلى التوظيفطوال المقابلة، كان التواصل كافياً وواضحاً ومنظماً.
غير أن المُقابِل اضطر لطرح أسئلة متابعة لفهم المرشح في جوانب معينة مثل أسلوبه أو مسار تفكيره.
يميل إلى عدم التوظيفطوال المقابلة، كان التواصل (واحداً أو أكثر مما يلي): (1) غير كافٍ (مثل القفز إلى البرمجة دون شرح)، (2) غير منظم أو غير واضح.
وجد المُقابِل صعوبة في متابعة مسار تفكير المرشح.
عدم توظيف قويلم يستطع التواصل بأي وضوح أو بقي صامتاً حتى عندما خاطبه المُقابِل.
وجد المُقابِل صعوبة بالغة في متابعة مسار تفكير المرشح.

2. حل المشكلات

إشارات حل المشكلات الأساسية:

  • يفهم المشكلة بسرعة عبر طرح أسئلة استيضاحية جيدة
  • قارب المشكلة بشكل منهجي ومنطقي
  • تمكن من التوصل إلى حل محسّن
  • حدد الـtime complexity والمكاني بدقة
  • لم يحتج أي تلميحات جوهرية من المُقابِل

إشارات حل المشكلات المتقدمة:

  • توصل إلى حلول متعددة
  • شرح مفاضلات كل حل بوضوح وصحة، وخلص إلى أيها الأنسب للسيناريو الحالي
  • كان لديه وقت لمناقشة مشكلات/توسعات متابعة
الدرجةالتقييم العام
توظيف قويلم يجد صعوبة في تحقيق جميع إشارات حل المشكلات الأساسية وفعل ذلك مع وقت كافٍ لتحقيق معظم إشارات حل المشكلات المتقدمة.
يميل إلى التوظيفتمكن من تحقيق جميع إشارات حل المشكلات الأساسية لكن لم يتوفر له وقت كافٍ لتحقيق إشارات حل المشكلات المتقدمة.
يميل إلى عدم التوظيفأظهر بعض إشارات حل المشكلات الأساسية فقط، ولم يحقق الباقي.
عدم توظيف قويلم يستطع حل المشكلة أو فعل ذلك دون شرح يُذكر لمسار تفكيره. كان الأسلوب غير منظم وغير صحيح.

3. الكفاءة التقنية

إشارات الكفاءة التقنية الأساسية:

  • يترجم الحل المتفق عليه إلى شيفرة عاملة بأخطاء قليلة أو دون أخطاء
  • تنفيذ نظيف ومباشر دون أخطاء صياغة ودون شيفرة زائدة، وممارسات برمجة جيدة مثل DRY (لا تكرر نفسك)، واستخدام تجريدات مناسبة
  • أسلوب برمجة مرتب (مسافات بادئة سليمة، وتباعد، وتسمية متغيرات، إلخ)

إشارات الكفاءة التقنية المتقدمة:

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

4. الاختبار

إشارات الاختبار:

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

المصدر والرخصة

هذه الصفحة منسوخة من Tech Interview Handbook للمؤلف يانغشون تاي (Yangshun Tay)، النسخة المرجعية e1d28e8، وتُستخدم بموجب رخصة MIT — حقوق النشر (c) 2017-Present ليانغشون تاي. نص الرخصة محفوظ محلياً في /licenses/tech-interview-handbook.txt.