أسئلة مقابلات البرمجة بالذكاء الاصطناعي: أمثلة وتدريب
بقلم Aaron Cao · آخر تحديث

استعد لأسئلة عن المصفوفات، وخرائط التجزئة، والأشجار، والرسوم البيانية، والبرمجة الديناميكية، وتصحيح الأخطاء. أثناء التدريب، يمكن للذكاء الاصطناعي اقتراح تلميحات وحالات اختبار ونقد شروحاتك. ومع ذلك، عليك التحقق من صحة الحل وتعقيده. لا تستخدم المساعدة المباشرة إلا عندما تسمح قواعد المقابلة بذلك.
ما أسئلة مقابلات البرمجة التي ينبغي أن تتدرب عليها أولا؟
قد تعرف أسماء الخوارزميات وتظل غير متأكد من كيفية التعامل مع مسألة جديدة. تربط هذه الأسئلة التدريبية المدخلات المحددة باختيارات الحل، وحدود التعقيد، والحالات الطرفية التي ينبغي أن تشرحها بصوت عال.
- Two Sum: أعد موضعين مختلفين مجموع قيمتيهما يساوي قيمة مستهدفة. بالنسبة إلى [3, 3] والقيمة المستهدفة 6، تستخدم الإجابة كلا الموضعين. امسح العناصر مع الاحتفاظ بخريطة تجزئة للقيم التي سبقت رؤيتها، وتحقق من وجود المتمم قبل تخزين القيمة الحالية. يمنع ذلك إعادة استخدام الموضع نفسه. الزمن المتوقع هو O(n)، مع مساحة إضافية O(n). وضح ما الذي ينبغي إرجاعه إذا لم يوجد زوج.
- أوجد أطول سلسلة فرعية بلا أحرف مكررة. بالنسبة إلى 'abba'، الطول هو 2. تتبع آخر موضع لكل حرف وحافظ على نافذة خالية من التكرارات. يجب ألا تتحرك الحدود اليسرى إلى الخلف عندما يقع ظهور قديم خارج النافذة الحالية. الزمن المتوقع هو O(n) مع عمليات البحث في خريطة التجزئة. وضح ما الذي يعد حرفا.
- ادمج الفترات المغلقة المتداخلة. بالنسبة إلى [1, 3] و[3, 5] و[8, 10]، أعد [1, 5] و[8, 10]. رتب بحسب البداية، ثم مدد الفترة الحالية أو ابدأ فترة أخرى. ينتج عن الترتيب زمن O(n log n). تتداخل الفترات المغلقة التي تشترك في نقطة نهاية؛ اسأل عما إذا كان ذلك يطابق تعريف المسألة.
- اعكس قائمة أحادية الارتباط غير دورية. احفظ العقدة التالية قبل تغيير مؤشر العقدة الحالية إلى العقدة التالية. يستغرق الحل التكراري زمنا قدره O(n) ومساحة إضافية قدرها O(1). تتبع قائمة فارغة، وعقدة واحدة، وعقدتين. اشرح أي جزء من القائمة أصبح معكوسا بعد كل تكرار.
- أعد قيم شجرة ثنائية مستوى بعد مستوى. استخدم طابورا وعالج عدد عقد المستوى الحالي قبل بدء المستوى التالي. الزمن هو O(n)، ومساحة الطابور المساعدة هي O(w)، حيث تمثل w أقصى عرض للمستوى، من دون احتساب الناتج المعاد. اختبر شجرة فارغة وشجرة لها ابن واحد فقط في كل مستوى.
- حدد ما إذا كان يمكن إكمال كل مقرر في ظل المتطلبات السابقة. مثل المتطلبات السابقة كرسم بياني موجه واستخدم الترتيب الطوبولوجي. إذا عولج أقل من V رأس، فستظل هناك دورة موجهة. الزمن هو O(V + E). اختبر المكونات المنفصلة، ومقررا معزولا، واعتماد المقرر على نفسه.
- أوجد أقل عدد من العملات اللازمة لبلوغ مبلغ. افترض عددا غير محدود من العملات ذات فئات صحيحة موجبة. بالنسبة إلى [1, 3, 4] والمبلغ 6، يؤدي اختيار أكبر عملة أولا إلى استخدام ثلاث عملات؛ بينما تستخدم 3 + 3 عملتين. عرف حالة برمجة ديناميكية على أنها أقل عدد من العملات لكل مبلغ، بدءا بصفر من العملات للمبلغ صفر. عندما تكون القيمة المستهدفة A وعدد الفئات c، يستغرق النهج القياسي زمنا قدره O(Ac) ومساحة قدرها O(A). عالج المبالغ التي يتعذر بلوغها بوضوح.
للتدريب ذي الصلة والمنظم بحسب الدور والموضوع، استكشف مكتبة أسئلة المقابلات.
كيف يبدو الحل المشروح جيدا؟
تأمل هذه المسألة: احسب المصفوفات الفرعية المتجاورة غير الفارغة التي يساوي مجموعها قيمة مستهدفة، مع السماح بالقيم السالبة. بالنسبة إلى [1, -1, 1] والقيمة المستهدفة 1، تكون الإجابة 3: إما إحدى المصفوفتين الفرعيتين [1] المكونتين من عنصر واحد، أو المصفوفة كاملة.
ابدأ بنهج أساسي: اختر كل موضع بداية ومدد موضع النهاية مع الحفاظ على مجموع جار. يستغرق ذلك زمنا قدره O(n²) ومساحة إضافية قدرها O(1). لا يمكن الاعتماد هنا على النهج المعتاد القائم على تقليص النافذة، لأن القيم السالبة تبطل افتراض أن تمديد النافذة يزيد مجموعها.
يستخدم النهج الأسرع المجاميع التراكمية وخريطة تكرار. إذا كان المجموع التراكمي الحالي هو s، فإن كل مجموع تراكمي سابق يساوي s - target يحدد مصفوفة فرعية بالمجموع المطلوب. هيئ الخريطة بظهور واحد للمجموع التراكمي صفر، وهو يمثل البادئة الفارغة قبل بداية المصفوفة.
- ترتيب المعالجة: أضف القيمة الحالية إلى المجموع التراكمي، واحسب البادئات السابقة المطابقة، ثم سجل البادئة الحالية. سيؤدي تسجيلها أولا إلى احتساب مصفوفة فرعية فارغة خطأ عندما تكون القيمة المستهدفة صفرا.
- الثابت: قبل تسجيل البادئة الحالية، تحتوي الخريطة على تكرارات جميع البادئات المنتهية قبل الموضع الحالي.
- التعقيد: ينفذ كل عنصر عددا ثابتا من عمليات الخريطة. الزمن المتوقع هو O(n)، بافتراض زمن ثابت متوقع لعمليات التجزئة؛ والمساحة الإضافية هي O(n).
- الفحوصات: تعيد المصفوفة الفارغة 0. بالنسبة إلى [0, 0] والقيمة المستهدفة 0، أعد 3. عند استخدام أنواع أعداد صحيحة ثابتة العرض، ضع في الحسبان تجاوز السعة في كل من المجموع التراكمي وعدد الإجابات.
من أسئلة المتابعة المفيدة ما إذا كانت المهمة تطلب العدد أم المصفوفات الفرعية الفعلية. يضيف إرجاع كل مصفوفة فرعية مطابقة تكلفة للناتج: تحتوي مصفوفة كلها أصفار على n(n + 1)/2 من المصفوفات الفرعية غير الفارغة المطابقة عندما تكون القيمة المستهدفة صفرا.
كيف تستخدم الذكاء الاصطناعي للتدرب على أسئلة البرمجة؟
قم بمحاولتك الخاصة قبل طلب المساعدة، ثم اطلب أصغر تدخل يتيح لك المتابعة. تحول المطالبات التالية محادثة الذكاء الاصطناعي إلى تدريب يمكنك التحقق منه.
- اطلب تلميحا واحدا: أعطني تلميحا واحدا بشأن المعلومات التي ينبغي تخزينها. لا تقدم شيفرة ولا تذكر اسم الخوارزمية الكاملة بعد.
- اختبر الاستدلال: هذا هو ثابت الحلقة لدي. أوجد مدخلا ينتهكه تنفيذي، أو اشرح كيف يحافظ عليه كل تحديث. تحقق من الرد بنفسك؛ فموافقة النموذج ليست برهانا على صحة الحل.
- راجع التعقيد: احسب العمل الذي تنفذه عمليات التقطيع والترتيب والحاويات والاستدعاءات العودية في هذا التنفيذ. لا يثبت اسم خوارزمية مألوفة تعقيد شيفرتك الفعلية.
- ولد اختبارات: اقترح حالات للمدخل الفارغ والتكرارات والقيم الحدية والنتائج المستحيلة. اشرح الإجابة المتوقعة لكل منها. استنتج هذه الإجابات بنفسك قبل استخدامها كمرجع للاختبار.
- غير قيدا واحدا: كيف يتغير الحل إذا كان المدخل مرتبا، أو لا يمكن تعديله، أو يصل كتدفق؟ اشرح المفاضلة الجديدة قبل إعادة كتابة الشيفرة.
تأمل مهندسة أنظمة خلفية تستعد لدور رفيع في مزود خدمات سحابية. بعد حل مسألة رسم بياني لمتطلبات المقررات السابقة، تطلب من شريك تدريب بالذكاء الاصطناعي رسما بيانيا منفصلا يحتوي على دورة. ثم تتتبع الطابور وتشرح لماذا يكشف عدد الرؤوس المعالجة وجود الدورة، من دون الرجوع إلى التلميح.
بعد قراءة حل كامل، أغلقه وأعد بناء الخوارزمية والثابت والاختبارات من الذاكرة. القدرة على إعادة إنتاج الشيفرة أقل فائدة من القدرة على شرح سبب نجاحها وتكييفها مع قيد متغير.
للتدرب على شرح استدلالك في محادثة، زر صفحة المقابلة التجريبية.
كيف يتناسب SubcueAI مع مقابلة برمجة مباشرة مسموح فيها باستخدامه؟
يوفر SubcueAI واجهتين للمساعدة المباشرة. يلتقط تطبيقه الأصلي الرئيسي لنظامي macOS وWindows صوت النظام وميكروفونك، ويعرض المساعدة في طبقة محلية عائمة. وهو يعمل مع تطبيقات الاجتماعات المكتبية، بما فيها Zoom وMicrosoft Teams.
توفر إضافة المتصفح أيضا مساعدة مباشرة عبر اللوحة الجانبية في متصفحات Chromium، بما فيها Chrome وEdge. وهي لا تلتقط إلا صوت علامة تبويب الاجتماع، بما يشمل المكالمات داخل علامة تبويب المتصفح مثل Google Meet. تسمع المحاور عبر علامة التبويب تلك، ولا تلتقط ميكروفونك مطلقا، ولا تنسخ حديث المرشح. إصدار Firefox مخصص للتدريب التجريبي فقط.
لا تضيف أي من الواجهتين روبوت اجتماع إلى المكالمة ولا تحقن نصا برمجيا للمحتوى في صفحة الاجتماع. بالنسبة إلى أسئلة البرمجة، ميز بين السياق المنطوق والسياق المكتوب: التقاط الصوت وحده لا يوفر نص مسألة أو شيفرة معروضة في محرر فقط. تحقق من أي اقتراح بمقارنته بالمطلوب الدقيق والقيود والتنفيذ.
تأكد من قواعد المقابلة قبل استخدام المساعدة المباشرة. لا يمكن ضمان أن يكون SubcueAI غير قابل للاكتشاف في جميع الحالات. مشاركة الشاشة والتسجيل والتقييمات الخاضعة للمراقبة والأجهزة التي تديرها الشركة أمور خارج ضمانات الإخفاء. قد تكشف الشاشة المشتركة أو المسجلة الطبقة العائمة أو اللوحة الجانبية، ويمكن لضوابط الجهاز أو المراقبة رصد النشاط.
للحصول على إرشادات إعداد الواجهات المتاحة، راجع دليل SubcueAI.
الأسئلة الشائعة
هل أسئلة مقابلات البرمجة بالذكاء الاصطناعي هي نفسها أسئلة مقابلات تعلم الآلة؟
ما الذي ينبغي أن أوضحه قبل كتابة حل برمجي؟
هل ينبغي أن أطلب من الذكاء الاصطناعي حلا كاملا أثناء التدريب؟
ماذا أفعل عندما يفشل حل مولد بالذكاء الاصطناعي في اختبار؟
هل يستطيع SubcueAI سماع كلا المتحدثين أثناء مقابلة برمجة؟
أسئلة ذات صلة
- ما أكثر أسئلة مقابلة PySpark شيوعا؟
- ما أسئلة coding التي تطرحها Meta في المقابلات؟
- ما هي الأنواع المختلفة لأسئلة المقابلات الوظيفية؟
- هل يمكن لمساعد الذكاء الاصطناعي المساعدة في أسئلة مقابلة تصميم الأنظمة؟
- ما الأسئلة التي يتلقاها المطورون في المقابلات حول Copilot ومساعدي البرمجة بالذكاء الاصطناعي؟
- ما أسئلة مقابلة برمجة Java التي يجب أن أتوقعها؟