JavaRush /مدونة جافا /Random-AR /الأكروبات في مقابلة فنية: كيف دخلت إلى Google وMicrosoft ...

الأكروبات في مقابلة فنية: كيف دخلت إلى Google وMicrosoft والمزيد

نشرت في المجموعة
ترجمة وتعديل المقال " اتقن مقابلتك الفنية: ما الذي دفعني إلى الانضمام إلى Google وMicrosoft والمزيد في مجتمع بدء التشغيل على Medium". الأكروبات في مقابلة فنية: كيف دخلت إلى Google وMicrosoft والمزيد - 1قبل أول مقابلة تدريب لي، لم يكن لدي أي فكرة أنه سيتم طرح أسئلة فنية أيضًا. لقد افترضت أنه لن يكون هناك سوى مجموعة من أسئلة "أخبرني عن نفسك" تنتظرني. ومع ذلك، لم أكن مستعدًا لهم بشكل مناسب أيضًا. قضيت ساعتين في مركز التوجيه المهني محاولًا الحصول على بعض النصائح القيمة من الجميع، وساعتين أخريين في المنزل للتدرب على إجابات لأسئلة مختلفة. لكن عندما جئت لإجراء المقابلة، لم يسألني القائم بالمقابلة عن نقاط قوتي وضعفي. وبدلاً من ذلك، تم تسليمي قلمًا وطُلب مني أن أذهب إلى السبورة. ولم أعتقد حتى أنهم سيتحققون من مهاراتي الفنية أولاً! ادهشني هذا! لم أكن أعرف كيف أجيب على الأسئلة بشكل صحيح، وبعد ساعات قليلة تلقيت بريدًا إلكترونيًا يتضمن رفضًا مهذبًا. ولحسن الحظ، بعد هذه الحادثة أجريت العديد من المقابلات الناجحة. لقد أجريت خمسين مقابلة فنية وأعدت لها العديد من أصدقائي. يبدو أن أسلوبي يعمل بشكل جيد، حيث ساعدني وآخرين على النجاح في المقابلات في شركات مثل Google، وMicrosoft، وApple، وAmazon، وما إلى ذلك. أود أن أساعد الجميع شخصيا، ولكن ليس هناك ما يكفي من الوقت لذلك. أفضل ما يمكنني فعله هو مشاركة دليل خطوة بخطوة حول كيفية إجراء المقابلات الفنية. لقد تعلمت ما يمكن وما لا يمكن فعله في مثل هذه المواقف من خلال التجربة والخطأ. إذن، إليك قائمة من النصائح المفيدة التي قمت بتجميعها على مدار عدة سنوات من الممارسة.

1. لا تقفز مباشرة إلى المقابلات الوهمية.

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

2. مهارات الاتصال > مستوى التدريب الفني

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

2.1 تعلم كيفية طرح الأسئلة التوضيحية

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

2.2 تعلم التعبير عن الأفكار

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

3. تحسين معرفتك ومهاراتك التقنية

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

4. تدرب!

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

5. ماذا تفعل إذا "توقفت" أثناء المقابلة؟

لنتخيل الآن أنك دخلت في مقابلة حقيقية وأدركت فجأة أن السؤال قد حيرك. ليس لديك أي فكرة عما يجب القيام به وكيفية حل المشكلة. تريد فقط الخروج من الغرفة وعدم العودة. أفهم - لقد مررت بمواقف مازلت أحلم بها في الكوابيس. لكن لا تقلق، فالأمل لم يفقد بعد. حدث هذا أكثر من مرة خلال المقابلات، لكنها عادة ما تنتهي بعرض. إنه أمر صعب، ويثير أعصابك، ولكن كل شيء ممكن. خذ قسطا من الراحة والتفكير. خذ نفسا، ورتب أفكارك. ربما سيكون لديك "فكرة". اختبر الحل الخاص بك بمثال بسيط. حاول إنشاء نسخة مبسطة من الحل لمشكلة مماثلة، ولكن بشكل أبسط، مع الانتباه إلى الإجراءات خطوة بخطوة. على سبيل المثال، إذا كنت بحاجة إلى فرز قائمة، ماذا تفعل؟ تجد أصغر رقم وتضعه في البداية. كيف يمكنك تنفيذ هذا الحل في التعليمات البرمجية؟ أخبرنا عن حل خاص. إذا لم يظهر حل كامل، فلا بأس. أخبر الشخص الذي يجري معك المقابلة بذلك، لكن دعه يشاركك أيضًا في قطار أفكارك. هل يشبه هذا التحدي أي تحدي واجهته؟ هل يبدو أنك بحاجة إلى استخدام بنية بيانات محددة لحلها؟ شارك المنطق الذي يرشدك. كن صادقا. إذا كنت متأكدًا من أن السؤال الذي تم طرحه عليك هو من مجال معرفة غير مألوف بالنسبة لك، فأخبر الشخص الذي يجري معك المقابلة بذلك. لنفترض أنك مستعد للبحث عن حل، ولكنك لا تمتلك المهارات اللازمة بعد. لقد سُئلت ذات مرة سؤالاً يتعلق بأمن الشبكة. في ذلك الوقت، لم يكن لدي أي ممارسة في هذا المجال، الذي أخبرت المحاورين عنه. لقد شرحوا لي الأساسيات اللازمة حتى أتمكن من التعامل مع المهمة. سيتم إجراء مقابلات معك من قبل أشخاص حقيقيين :) إنهم يفهمونك تمامًا، لأنهم أنفسهم مروا بمواقف مماثلة. هذه هي كل النصائح التي طورتها خلال عدة سنوات من المقابلات. لقد ساعدوني وأصدقائي في الوصول إلى الشركات الكبرى. حظا سعيدا في البحث!
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION