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

يستند هذا المقال كما قيل إلى محادثة مع راحيل بيلي، وهو مهندس برمجيات يبلغ من العمر 25 عامًا في أمازون ومقره في سياتل. لقد تم تحريره من أجل الطول والوضوح.

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

تقريبًا كل هندسة برمجيات أو دور ذي صلة سيتطلب شكلاً من أشكال المقابلة الفنية، لذلك من المهم بالنسبة للمتقدمين الاستعداد والأداء الجيد.

لقد أجريت العديد من المقابلات الفنية الوهمية وساعدت العملاء على بناء المهارات اللازمة لاقتحام الصناعة أخيرًا. هذه هي اقتراحاتي حول كيفية إجراء مقابلة فنية والحصول على وظيفة أحلامك التقنية.

كن واضحًا بشأن نوع الوظيفة التقنية التي تبحث عنها

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

إتقان هياكل البيانات الأساسية التي تشكل مشاكل الترميز

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

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

التركيز على التكرار

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

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

ألقِ نظرة على الحل ثم تراجع لمحاولة تجميع كيفية وصولك إلى هذه الإجابة. عندما تنتقل إلى سؤال جديد في اليوم التالي، ارجع إلى سؤالك السابق وحاول حله مرة أخرى. أنصح الأشخاص أيضًا باستخدام Blind 75 وNeetCode لحل مشكلات التدريب الإضافية وموارد المقابلة.

إليك ما يمنع حتى المهندسين الرائعين من التفوق في مقابلاتهم الفنية

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

لذلك، أوصي الأشخاص بالاستعداد لإجراء مقابلات وهمية. تواصل مع مهندس أو صديق ليجري لك مقابلة، أو شاهد مقاطع فيديو عبر الإنترنت لأشخاص آخرين يتلقون مقابلات وهمية. إن إجراء مقابلة وهمية مع شخص آخر يمكن أن يكون مفيدًا لأنك ستتعلم كيف يبدو الأمر من وجهة نظر الشخص الذي يجري المقابلة.

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

دليل خطوة بخطوة لاجتياز المقابلة الفنية الخاصة بك

تستغرق العديد من المقابلات الفنية حوالي 45 دقيقة وتتضمن سؤالاً إلى خمسة أسئلة تتعلق بالترميز. بعد تحية سريعة، سوف تحصل على مشكلة.

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

ليس هناك دائما إجابة واحدة صحيحة

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

إذا كنت تعمل في إحدى شركات التكنولوجيا الكبرى وترغب في مشاركة نصائح أو تجارب المقابلة، فيرجى إرسال بريد إلكتروني إلى Tess Martinelli على tmartinelli@businessinsider.com