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

بضع كلمات عن نفسك
أنا طالب في السنة الأولى من برنامج الماجستير في حرم سان بطرسبرغ في HSE ، تخرجت من برنامج البكالوريوس في أكاديمية التعلم الآلي. خلال دراسته الجامعية ، شارك بنشاط في البرمجة الرياضية ، وشارك أيضًا في العديد من الاختراقات. يمكنك أن تقرأ عن هذا الأخير هنا ، هنا وهنا .
حول التدريب
للبدء ، أريد أن أتحدث قليلاً عن كيف يبدو التدريب الداخلي في Google من الداخل.
يرتبط كل متدرب يأتي إلى Google بفريق. قد يكون هذا فريقًا يقوم بتطوير بنية أساسية داخلية لم يسمع عنها أي شخص من خارج الشركة أي شيء ، أو منتج يستخدمه ملايين الأشخاص حول العالم. قد تشمل هذه المنتجات موقع YouTube الشهير ومحرّر مستندات Google وغيرها. نظرًا لأن العشرات أو حتى المئات من المطورين يشاركون في تطوير هذه المشاريع ، فسوف ينتهي بك المطاف في فريق متخصص في جزء أضيق منه. على سبيل المثال ، في صيف عام 2018 ، عملت في محرّر مستندات Google ، مضيفًا وظائف جديدة للعمل مع الجداول.
نظرًا لأنك متدرب في الشركة ، لديك مدير يسمى المضيف. هذا هو مؤقت كامل منتظم ، والتي تشارك نفسها في تطوير المنتجات. إذا كنت لا تعرف شيئًا أو لا تستطيع حلها أو واجهت أي مشاكل ، فعليك الاتصال به. عادة ، يتم تحديد اجتماعات أسبوعية فردية ، حيث يمكنك مناقشة الموقف الحالي في العمل في المشروع أو الدردشة حول شيء غير ذي صلة تمامًا. بالإضافة إلى ذلك ، يعد المضيف أحد هؤلاء الأشخاص الذين سيقيمون العمل الذي قمت به أثناء فترة التدريب. سيتم تقييم آخر بواسطة مراجع إضافي ثانٍ. وبالطبع ، إنهم مهتمون بجعل كل شيء يناسبك.
ستقوم Google بتطعيمك ، لكن ليس من المؤكد ، من الجيد أن تكتب وثيقة تصميم قبل القيام بشيء ما. بالنسبة لأولئك الذين لا يعرفون ، يعد dzdok مستندًا يحدد جوهر المشكلة الحالية ، بالإضافة إلى وصف تقني مفصل لحلها. يمكنك كتابة disdoc للمنتج بأكمله ولأي وظيفة جديدة. بعد قراءة هذه الوثائق ، من الممكن أن نفهم لأي غرض تم تصميم المنتج وكيف تم تنفيذه. في كثير من الأحيان ، في التعليقات ، يمكنك مشاهدة حوارات بين المهندسين تناقش طرقًا مختلفة لتنفيذ جزء من المشروع. وهذا يعطي فهمًا جيدًا لسبب اتخاذ كل قرار.
من ميزات التدريب الداخلي أنه يتعين عليك استخدام أدوات التطوير الداخلية الرائعة ، والتي يوجد بها الكثير من Google. بعد أن عملت معهم وتحدثت مع العديد من الأشخاص الذين عملوا سابقًا في أمازون ونفيديا وغيرها من شركات التكنولوجيا المعروفة ، يمكنني أن أستنتج أن هذه الأدوات لديها فرصة جيدة لتكون الأفضل بين كل ما ستقابله في حياتك. على سبيل المثال ، تتيح لك أداة تسمى Google Code Search ، ليس فقط عرض قاعدة الشفرة بأكملها ، وسجل التغييرات في كل سطر من التعليمات البرمجية ، ولكن أيضًا تتيح لك التنقل عبر الشفرة التي اعتدنا عليها في بيئات التطوير الحديثة ، مثل Intellij Idea. مجرد متصفح! هناك ناقص مرتبط بنفس الميزة وهو أنك ستفقد هذه الأدوات نفسها خارج Google.
بالنسبة إلى الأشياء الجيدة ، فإن لدى الشركة مكاتب رائعة ، حيث تتغذى بشكل جيد ، وتوفر صالة ألعاب رياضية وتأمين جيد ونيشتياكي أخرى. فقط اترك صورتين من مكتب نيويورك هنا:



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

Hackerrank / مسابقة مسابقة TripleByte
إذا كان المجند الخاص بك يحب سيرتك الذاتية ، فستتلقى رسالة في غضون أسبوعين إلى المهمة التالية. على الأرجح ، سيُطلب منك المشاركة في مسابقة في Hackerrank ، حيث ستحتاج إلى حل المشكلات الخوارزمية في الوقت المخصص ، أو TripleByte Quiz ، حيث ستحتاج إلى الإجابة على أسئلة مختلفة بخصوص الخوارزميات وتطوير البرامج وتصميم الأنظمة منخفضة المستوى. هذه المرحلة بمثابة مرشح أولي في عملية الاختيار.
مقابلة الفرز
إذا كان الاختبار ناجحًا ، تنتظرك مقابلة الفرز ، حيث ستتحدث مع المجند عن اهتماماتك والمشاريع التي تقدمها الشركة للمتدربين. إذا كنت مهتمًا ، وسوف تلبي تجربتك السابقة توقعات الشركة ، فسيتم إعطاؤك ضوءًا أخضر. في تجربتي ، هذا هو المكان الذي لا يمكن التنبؤ به في العملية برمتها ، والتي تعتمد بشدة على المجند.
إذا نجحت في هذه الاختبارات الثلاثة ، فإن الحصة الرئيسية للفرصة تأخرت بالفعل. ثم كانت هناك مقابلات فنية تعتمد عليك أكثر ، مما يعني أنه يمكنك التأثير بشكل أكبر على نتائجها. وهذا جيد!
المقابلات الفنية
بعد ذلك ، تأتي المقابلات الفنية التي تتم عادةً عبر Skype أو Hangouts. لكن في بعض الأحيان هناك خدمات أكثر غرابة تتطلب تثبيت برامج إضافية. لذلك ، تأكد من أن كل شيء يعمل على جهاز الكمبيوتر الخاص بك.
يعتمد تنسيق المقابلات الفنية اعتمادًا كبيرًا على الموقف الذي تجري معه المقابلات. إذا كنا نتحدث عن موضع Software Engineering Intern ، فمن المحتمل أن تعرض على بعض المشكلات الحسابية ، والتي يجب حلها في بعض برامج تحرير التعليمات البرمجية على الإنترنت ، على سبيل المثال ، coderpad.io . قد يسألون أيضًا سؤالًا حول التصميم الموجه للكائنات لمعرفة مدى نجاحك في تصميم البرامج. على سبيل المثال ، قد يُطلب منهم تصميم متجر بسيط عبر الإنترنت. صحيح ، لم أواجه مثل هذه المهمة أبدًا ، والتي من خلالها سيكون من الممكن حقًا الحكم على هذه المهارة. في نهاية المقابلة ، ستتاح لك بالتأكيد الفرصة لطرح الأسئلة. أوصي بشدة بأخذ هذا على محمل الجد ، لأنه بفضل الأسئلة يمكنك إظهار اهتمامك بالمشروع ، وإظهار كفاءتك في الموضوع. عادةً ما أعد قائمة بالأسئلة المحتملة مسبقًا:
- كيف يتم ترتيب العمل في المشروع؟
- ما هي المهمة الصعبة التي كان عليك حلها مؤخرًا؟
- ما هي مساهمة المطور في المنتج النهائي؟
- لماذا قررت الذهاب إلى العمل في هذه الشركة؟
لا تتم مقابلتك دائمًا من قبل شخص ستعمل معه في المستقبل. لذلك ، يمكن أن تقدم أحدث الأسئلة فكرة عما يحدث في الشركة ككل. بالنسبة لي ، على سبيل المثال ، من المهم أن يكون لي تأثير على المنتج النهائي.
إذا أتممت المقابلة الأولى بنجاح ، فسيتم تقديم مقابلة ثانية لك. من الأولى ، سيتم تمييزه من قبل القائم بإجراء المقابلة ، وبالتالي ، المهام. من المرجح أن يظل التنسيق كما هو. بعد اجتياز المقابلة الثانية ، يمكنهم تقديم ثالث.
مقابلة في الموقع
إذا لم يتم رفضك حتى هذه المرحلة ، فستنتظرك مقابلة في الموقع عندما تتم دعوة المرشح للمقابلة في مكتب الشركة. وعادة ما يتكون من عدة مقابلات فنية وسلوكية واحدة. أثناء المقابلة السلوكية ، تتحدث مع المدير عن مشاريعك ، وعن القرارات التي اتخذتها في مواقف مختلفة ، وما شابه ذلك. بمعنى ، يحاول القائم بإجراء المقابلة فهم شخصيتك بشكل أفضل وفهم تجربتك بتفاصيل أكثر. بعض الشركات التي تجري 3-4 مقابلات تقنية ، بدلاً من المقابلات في الموقع تقدم عرضًا عن بُعد من خلال سلوك واحد فقط.
الآن يبقى فقط في انتظار استجابة المجند. إذا سارت الأمور بسلاسة ، فستتوجه إليك بالتأكيد رسالة بها العرض الذي طال انتظاره. إذا لم يكن هناك عرض ، لا تثبط. الشركات ترفض بشكل منهجي المرشحين الجيدين. حاول التقدم للحصول على التدريب مرة أخرى العام المقبل.
مقابلة الترميز
لذا ، مهلا ... لم نقم بأي مقابلات بعد. لقد اكتشفنا للتو كيف تبدو العملية برمتها ، وعلينا الآن أن نستعد جيدًا للمقابلات حتى لا تفوت الفرصة لقضاء الصيف بشكل رائع ومفيد.
هناك موارد مثل Codeforces و Topcoder و Hackerrank ، والتي ذكرتها بالفعل. في هذه المواقع ، يمكنك العثور على عدد كبير من مشكلات الخوارزمية ، بالإضافة إلى إرسال حلولها للتحقق التلقائي. كل شيء رائع ، ولكنه أشبه بإطلاق النار على العصافير. تم تصميم العديد من المهام على هذه الموارد لفترة طويلة من الحل ، وتتطلب معرفة الخوارزميات المتقدمة وهياكل البيانات ، في حين أن المهام في المقابلات عادة ما تكون غير معقدة للغاية ومصممة لمدة 5-20 دقيقة. لذلك ، في حالتنا ، فإن مورد مثل LeetCode ، الذي تم إنشاؤه كأداة للتحضير للمقابلات الفنية ، هو أكثر ملاءمة. إذا قمت بحل 100-200 مشكلة بدرجات متفاوتة من التعقيد ، فلن تواجه أي مشكلة أثناء المقابلة مع وجود احتمال كبير. من بين المهام اللائقة ، يوجد أيضًا Facebook Code Lab ، حيث يمكنك اختيار مدة الجلسة ، على سبيل المثال ، 60 دقيقة ، وسيقوم النظام باختيار مجموعة من المهام لك ، والتي لا تستغرق أكثر من ساعة لحلها في المتوسط.
يُنصح الكثيرون بقراءة مقابلة تشفير الترميز . أنا نفسي قرأت فقط بعض من أجزائه. لكن تجدر الإشارة إلى أنني قمت بحل الكثير من المشكلات الحسابية في سنوات مدرستي. من لم يكن لديه مثل هذه التجربة ، لا يزال يستحق على الأقل من خلال تصفح هذا الكتاب.
أيضًا ، إذا كان هناك في حياتك عدد قليل من المقابلات الفنية مع شركات أجنبية ، فمن المستحسن إجراء بضع مقابلات تجريبية. ولكن أكثر ، كلما كان ذلك أفضل. هذا سيساعدك على الشعور بثقة أكبر أثناء المقابلة وأقل عصبية. يمكن ترتيب مقابلات تجريبية في Pramp .
المقابلات السلوكية
كما ذكرت من قبل ، أثناء المقابلة السلوكية ، يحاول القائم بإجراء المقابلة معرفة المزيد عن تجربتك وفهم شخصيتك. ماذا لو كنت مطورًا رائعًا ، لكنك غير قادر على العمل في فريق؟ أخشى أن الكثيرين لن يكونوا راضين. على سبيل المثال ، قد يُطرح عليك السؤال التالي: "ما هو ضعفك؟" بالإضافة إلى الأسئلة من هذا النوع ، سيُطلب منك التحدث عن المشروعات التي لعبت فيها دورًا رئيسيًا ، وعن المشكلات التي تعين عليك مواجهتها ، بالإضافة إلى حلولها. تجدر الإشارة إلى أنه في الدقائق الأولى من المقابلات الفنية قد يتم سؤالك أيضًا عن هذا. كيفية التحضير لمثل هذه المقابلات مكتوبة بشكل جيد في فصل في تكسير مقابلة الترميز.
جوجل
والآن بعد أن أصبح من الواضح كيف تبدو عملية اختيار المتدربين في الحالة العامة ، وكيفية التحضير للمقابلات ، فقد حان الوقت للحديث عن كيفية عمل ذلك في حالة Google.
يمكن العثور على قائمة بالمتدربين الداخليين المتاحين هنا . إذا كنت تخطط للذهاب في تدريب صيفي ، فعليك البدء في التقديم في سبتمبر.
مقابلات العمل
هنا ، تبدو العملية غير عادية بعض الشيء. سيكون لديك مقابلة الفرز واثنين من التقنية. إذا أظهرت نفسك جيدًا فيها ، فستذهب إلى مرحلة البحث عن المشروع. ستحتاج إلى ملء استبيان طويل إلى حد ما تشير فيه إلى جميع مهاراتك الحالية ، بالإضافة إلى التعبير عن تفضيلاتك بشأن موضوع المشروع والموقع الذي تريد أن تتدرب فيه.
من المهم جدًا ملء هذا النموذج جيدًا وبدقة! المضيفين المحتملين الذين يبحثون عن أشخاص في المشروع ، ينظرون إلى المتدربين المتاحين وترتيب محادثات مع هؤلاء المرشحين الذين يحبونهم. يمكنهم تصفية الطلاب حسب الموقع والكلمات الأساسية وعلامات الاختيار في الاستبيان ، وفرز النقاط للمقابلات.
أثناء المحادثة ، يتحدث المحاور عن المشروع الذي سيتم العمل عليه ، ويتعرف أيضًا على تجربة المرشح. هناك فرصة عظيمة لمعرفة كيف ستبدو عملية العمل بالفعل ، لأنك تتواصل مع الشخص الذي سيكون مضيفك. بعد المقابلة ، تكتب رسالة إلى المجند مع انطباعاتك عن المشروع. إذا كنت قد أحببت المشروع وأحبك القائم بإجراء المقابلة ، فسيكون العرض في انتظارك. خلاف ذلك ، ستتوقع مكالمات لاحقة ، والتي قد تكون 2-3-4 قطع ، وربما لا أكثر. تجدر الإشارة إلى أنه حتى إذا نجحت في إجراء المقابلات جيدًا ، ولكن لم يخترك فريق واحد في مرحلة البحث عن المشروع (أو ربما لم يتحدث إليك أحد) ، إذن ، للأسف ، سوف تترك بدون عرض.
امريكا او اوروبا؟
من بين أشياء أخرى ، سوف تحتاج إلى تحديد مكان التدريب الخاص بك. كان لدي خيار بين الولايات المتحدة الأمريكية وأوروبا والشرق الأوسط . وهنا من المهم أن تعرف بعض الميزات. على سبيل المثال ، هناك شعور بأن الدخول إلى الولايات المتحدة الأمريكية أكثر صعوبة. أولاً ، عليك أن تخوض مسابقة إضافية تستغرق 90 دقيقة ، حيث ستحتاج إلى حل المشكلات الخوارزمية ، بالإضافة إلى استطلاع آخر مدته 15 دقيقة ، في محاولة لكشف شخصيتك. ثانياً ، في تجربتي وتجربة أصدقائي ، من غير المرجح أن تكون مهتمًا بمرحلة البحث عن الفريق. على سبيل المثال ، في عام 2017 ، أجريت محادثة واحدة فقط ، وبعدها اختار الفريق مرشحًا آخر ، ولم أتلق عرضًا. في حين أن اللاعبين الذين تغذوا على أوروبا لديهم 4-5 مشاريع. في عام 2018 ، وجدوا لي فريقًا في شهر يناير ، وقد فات الأوان. كان الرجال يعملون في نيويورك ، وقد أحببت مشروعهم ، ووافقت على ذلك.
كما ترون ، الأمور أكثر تعقيدًا مع الولايات المتحدة الأمريكية. لكنني أردت الوصول إلى هناك أكثر من أوروبا. زائد في الولايات المتحدة الأمريكية يدفعون أكثر.

ماذا تفعل بعد؟
في نهاية فترة التدريب ، لديك خياران:
- الحصول على التدريب للعام المقبل.
- خذ مقابلتين تقنيتين للحصول على وظيفة بدوام كامل.
يتوفر هذان الخياران شريطة أن تكون قد أكملت مشروعك الحالي بنجاح. إذا لم تكن هذه هي فترة التدريب الأولى ، فقد يقدمون لك وظيفة بدوام كامل دون إجراء مقابلات.
لذلك ، تنشأ الحالة التالية ، والتي يمكن وصفها في صورة واحدة:

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