لمدة ستة أيام ، في الفترة من 13 أغسطس إلى 20 أغسطس 2018 ، مررت بمقابلات مع ست شركات في سيليكون فالي (ينكدين وييلب وأبل وأمازون وفيسبوك وجوجل) وتلقيت عرض عمل من كل شركة.
في عملية الإعداد ، التي أصفها أدناه ، اعتمدت بشكل كبير على
وظيفة هذا
العام الماضي - كان هو الذي دفعني في وقت ما إلى التفكير فيما إذا كان الوقت قد حان للانتقال إلى شركة أخرى. لم أشعر أنني أتجول باستمرار في الطرف الآخر من البلاد وأعود للبحث عن وظيفة مثالية ، لذلك كان من الواضح أنه كان عليّ أن أجمع إرادتي وأخطط لجميع المقابلات حتى يتسنى لهم الذهاب تلو الآخر. استهدفت الوظائف الشاغرة ذات الصلة بتطوير الأجهزة المحمولة ، ولكن النهج الموصوف في التدريب والنصائح والحيل مناسب أيضًا للحالات الأخرى.
آمل أن تلهم قصتي شخصًا ما في نفس الموقف (ليس سعيدًا تمامًا بالوظيفة الحالية ، ويريد الانتقال إلى منطقة الخليج ، ولكن إلى حد ما غير مستعد) ، يجرؤ - الذي يعرف ما يخبئه المستقبل له.
مقدمة و الإحصاء
قررت بحزم أنني أرغب في العمل في منطقة الخليج ، حيث يمكنني الحصول على شركة كبيرة والنمو بجدية كمطور للهاتف المحمول. كنت أعمل في الشركات الناشئة ، وكانت تجربة جيدة ، لكن هذه المرة لعدة أسباب كنت أبحث عن سمكة أكبر (لا يعني فقط حجم الفريق ، ولكن أيضًا العاصمة). كنت أعلم أيضًا أنه ليس لدي أي شركة محددة ، وكذلك فهم المرتب الذي أحتاجه ، حتى لا أخسر مقارنةً بما لدي. أخيرًا ، لم أكن أرغب في إرسال مئات السير الذاتية ، كما فعلت بالفعل بعد الجامعة.
مع كل هذا في الاعتبار ، لقد أرسلت السيرة الذاتية لعشرين شركة. أربعة منهم (رديت ، نيست ، سترايب ، أوبر) رفضوني فور تلقي الرسالة. من بين الستة عشر المتبقية ، لم يقدم عشرة (Lyft، Airbnb، Dropbox، Instagram، YouTube، Square، Robinhood، Twitter، Snap، Slack) أي تعليقات على الإطلاق. يشير الحساب البسيط إلى أن ست شركات استجابت واقترح أن أتحدث مع أحد المجندين. ونتيجة لذلك ، تلقيت ستة دعوات لإجراء مقابلة هاتفية ، وستة - لإجراء مقابلة في المكتب وستة عروض عمل.
بعد مراجعة التقويم الخاص بي على Google ، أقدر أنه تم توزيعه مثل هذا:
- 7 لقاءات مع مجندين في 10 أيام
- 7 المقابلات الفنية في 11 يوما
- 29 مقابلة مكتبية في 8 أيام
- 3 آثار مقابلة عبر الهاتف
عند وضع هذه الأرقام معًا ، يمكننا حساب: لقد أجريت 46 مقابلة في 73 يومًا (إذا عدت الفواصل الزمنية بين المراحل). كان الأمر صعبًا ، وكان علي قضاء أسابيع طويلة من الراحة في الاجتماعات. بدأت العمل مبكراً حتى أتمكن من المغادرة مبكراً وقضاء الأمسيات في المحادثات الهاتفية. تم إنشاء تعقيدات بسبب ضرورة الاستمرار في أداء واجباتهم بشكل صحيح في عملهم الحالي - ومع ذلك ، كنت أحاول دائمًا إعطاء الأولوية له وإعادة جدولة الاجتماعات إذا كانت الظروف تتطلب ذلك. لم أكن أنوي التأرجح لجعل المقابلة أكثر ملاءمة. هذا غير أخلاقي ، ويترك انطباعًا سيئًا ، وعلاوة على ذلك ، قد ينتهي الأمر بعدم العثور على مكان جديد ، وتدمير سمعتك على المكان القديم.
الشركات (بالترتيب الزمني)
LinkedIn (سانيفيل ، كاليفورنيا)ينكدين LinkedIn ، في الواقع ، تطبيقات لطيفة للغاية ، وأنها
تقدم مساهمة كبيرة في مجتمع المصادر المفتوحة. طوال فترة تفاعلنا ، أعجبت كل من ثقافة الشركات والحلول الهندسية. إذا قارنت الموضع في تصنيف الهيبة في سوق iOS في بداية ونهاية العملية برمتها ، فإن هذه الشركة هي التي ارتفعت أكثر في نظري.
Yelp (سان فرانسيسكو ، كاليفورنيا)يبدو تطبيق Yelp رائعًا: تشعر بروعة الملابس وتحدث عن معرفة شاملة بمنصة iOS. أحببت الجو في مكتبهم. المبنى نفسه جميل للغاية ، وسأكون سعيدًا للعمل في فريق مع أي من الأشخاص الذين قابلتهم. مقارنةً بشركات أخرى من قائمتي ، هذه القائمة صغيرة جدًا وتؤثر على كل شيء - لكن لها تأثير إيجابي. يبدو أن الفريق قد عمل بشكل جيد للغاية ، وأن عمليات العمل تتكشف بسرعة كبيرة.
Apple (كوبرتينو ، كاليفورنيا)لطالما كانت آبل جزءًا لا يتجزأ من سوق iOS (ها ها ها). لقد كنت معجبا مسعورا منذ الطفولة (حسنا ، من سن الثانية عشرة بالتأكيد). وبفضل أجهزة كمبيوتر Mac الخاصة بهم حصلت على البرمجة. لقد ساعدني تطبيق iPhone SDK على تقديم طلبي الأول وطرحه. عندما دعوني لإجراء مقابلة في المكتب ، ثم أصبحوا جزءًا من الفريق - كان الأمر يشبه الحلم. لا أعرف حتى ماذا أقول في حسابهم.
أمازون (بالو ألتو ، كاليفورنيا)لن أسمي أمازون شركة تركز أساسًا على تطوير الأجهزة المحمولة ، بل على العكس. ومع ذلك ، استوفى الموقف والفريق المعايير التي حددتها لنفسي في البداية. المكتب في بالو ألتو ، حيث قابلتهم ، لم يثر إعجابي ، لكن هذا ملجأ مؤقت ويجب أن ينتقلوا قريبًا إلى مبنى أكثر انسجامًا مع أسلوب أمازون. لذلك في هذا الصدد ، لم يكن لدي حظ مع مرور الوقت. بدا الأشخاص الذين تحدثت إليهم متحمسين جدًا لمشاريعهم. حرفيًا من كل شركة سمعت: "لدينا أجواء هنا تمامًا كما هو الحال في الشركات الناشئة!" ، لكن مع شركة أمازون يبدو الأمر حقيقيًا.
Facebook (مينلو بارك ، كاليفورنيا)لقد أجريت مقابلة معهم في أحدث مبنى لهم. بشكل عام ، يبدو أن كل شيء كان رائعًا ، لكنني أتذكر تفاصيل الاجتماع بشكل غامض: لقد كان يومي الخامس من المقابلات على التوالي ، وكان قلة النوم تشعر بها. أتذكر فقط أنني تلقيت الكثير من السعادة من التواصل مع الموظفين وأن الاجتماع في العشاء كان مفيدًا للغاية.
جوجل (ماونتن فيو ، كاليفورنيا)في Google ، كما أفهمها ، تُجرى المقابلات لموقف معين بشكل أو بآخر في نمط ما. تمكنت من التحدث مع العديد من أعضاء الفريق الذين يعملون على واحد من أكبر منتجات iOS للشركة ، لكنني تقدمت بطلب لشغل منصب لا يرتبط على وجه التحديد بأنشطتهم. بعد أن أعطت لجنة التوظيف الضوء الأخضر ، تم نقلي إلى المرحلة التالية ، حيث اختاروا الفريق المناسب ، وأخيراً وجدت خيارًا مناسبًا. هذه عملية طويلة جدًا ، بالمقارنة مع وتيرة مفاوضات الفرق الأخرى التي تحدثت معها. اضطررت دائمًا إلى إبقاء أصحاب العمل الآخرين على دراية بكيفية قيامنا بأعمال تجارية مع Google ، وجوجل ، على التوالي ، مع ما توصلنا إليه مع شركات أخرى.
خطة التدريب
سأوضحها: عندما بدأت ، تمكنت من الناحية النظرية من حل معظم المهام من قسم "بسيط" في Leetcode في حوالي ثلاثين دقيقة وحوالي 25 ٪ من المهام من قسم "متوسط الصعوبة" ، إذا لم تقم بتعيين حدود زمنية. كان حل المهام من قسم "التعقيد" بالنسبة لي بمثابة محاولة لإثبات المساواة بين فئتي NP و P. باختصار ، كان لدي الكثير من العمل الذي يجب القيام به.
لتضييق الخوارزميات ، التفتت أولاً إلى كتاب
Cracking the Coding Interview . في يوم الأحد ، في الصباح ، استيقظت ، مشيت إلى المقهى ، وهناك حلت مشاكل Objective-C. بعد أن قمت بإعداد عدد لا بأس به من المهام من الكتاب (في مكان ما حوالي خمسة وثلاثين) ، انتقلت إلى Leetcode واستعرضت المهام التي تتوافق مع الفصول التي أكملتها. بعد عدة أسابيع من هذه الفصول الدراسية ، شعرت أنني تعلمت بالفعل "الأساسيات" جيدًا وانتقلت إلى المرحلة التالية.
مسلحًا بمعرفتي الأساسية ، تناولت
عناصر من مقابلات البرمجة . هذا الكتاب أكثر تعقيدًا من الكتاب السابق. يتم إعطاء خطط الدروس الموصى بها هناك ، وحاولت عدم الانحراف عنها كثيرًا. إذا كنت أتذكر بشكل صحيح ، تم تصميم واحد لمدة أربعة أسابيع من التدريب ، ولقد مررت بالكامل تقريبا. في رأيي ، من المهم للغاية ممارسة حل المهام على السبورة أو إجراء بروفة هاتفية مع شخص ما. علاوة على ذلك ، يعني مصطلح "ذو أهمية حاسمة" ليس "مفيدًا" فحسب ، بل يجب اعتباره عنصرًا إلزاميًا في المنهاج الدراسي. ليس لدي أدنى شك في أن شخصًا ما سوف يكون قادرًا على الحصول على وظيفة من دونها ، لكن بنفسي لم أجد طريقة أفضل لتطوير مهاراتي.
إذا احتاج شخص ما إلى شريك لإجراء التدريبات على المقابلات الخاصة بالوظائف المرتبطة بـ iOS ، فسأكون سعيدًا بالمساعدة. يمكنك أن تجدني في
CS Career Hackers - اتصل ، تبدو ، سنتفق بطريقة أو بأخرى ، إذا لم أكن مشغولاً للغاية. وإذا لم يكن كذلك ، فهناك أشخاص آخرون سوف يدعمونك عن طيب خاطر. بالطبع ، سوف تكون محرجا. هذه هي بيت القصيد. إذا كان كل شيء يعمل من تلقاء نفسه ، فعندئذ لا يوجد أي معنى في الممارسة ، أليس كذلك؟ إذا كنت تشعر بالخجل الشديد أثناء التمرينات في السبورة أو على الهاتف ، فأنت تفعل ما تحتاجه بالضبط - تدرب نفسك مسبقًا. شخصيا ، في البداية شعرت بقيود شديدة ، وبعد ذلك في مرحلة ما ، كان التدريب أكثر من ثماره.
بعد شهر من إكمال المهمة اليومية (ساعتان إلى ثلاث ساعات في أيام الأسبوع ، وأكثر في عطلات نهاية الأسبوع) ، ركزت على قسم "
أسئلة المقابلة الشعبية " في Leetcode. لم أذهب من خلالهم جميعًا ، لكنني مررت بما يكفي. للتحضير لمقابلة على الخوارزميات ، الشيء الرئيسي هو الوصول إلى المستوى حيث يمكنك العثور على حل في سياق المقابلة. لا يستحق المحاولة حفظ جميع القرارات ، إنه أمر مستحيل. كانت كل المهام التي واجهتها تقريبًا خلال هذا الأسبوع من المقابلات جديدة بالنسبة لي - ولكن في نفس الوقت ، بدت كما رأيتها بالفعل. بعد كل شيء ، تحدث عملية التطوير نفسها وفقًا لنفس المخطط. تحدد العديد من المهام بشكل عام بعضها البعض ، لكن لكل حالة مجموعة خاصة من القيود.
ما تعلمته
أدرج أدناه قائمة في الاستنتاجات التي خلصت إليها بنفسي ، بترتيب عشوائي. كل هذه التوصيات ستكون مفيدة للغاية بالنسبة لي إذا عرفتها مسبقًا - سواء تلك المتعلقة بالإعداد للمقابلات الفنية ، وتلك التي تتحدث عن التخطيط والفروق الدقيقة الأخرى التي لا تتعلق بالبرمجة. لا يوجد أي شيء ينطبق فقط على نظام التشغيل iOS وحصريًا ، لذلك أعتقد أنه بشكل عام مناسب لجميع المقابلات في صناعتنا.
- لا تسقط. عندما كنت أبحث عن وظيفتي الجادة الأولى بعد دراستي الجامعية ، لم يكن لدي سوى ما يكفي لمدة أسبوع أو فصلين من الفصول. لقد فكرت في مثل هذا: على ما يبدو ، لا يتم منحها لي. بعد كل شيء ، لقد مر أكثر من أسبوع ، ولم يلاحظ أي تقدم تقريبًا ، فما الفائدة من إضاعة الوقت أكثر من ذلك؟ لكن هذه المرة قررت أنه ليس لدي خيار آخر. بعد بعض الوقت ، بدأت الصورة في التبلور. سيكون من الضروري استثمار الكثير من العمل ، ولكن الرغبة في الدراسة هي التي تميز المتقدمين الناجحين عن الآخرين.
- التدريب هو لدينا (تقريبا) كل شيء. بالطبع ، هناك حاجة أيضًا إلى مستوى معين من القدرات الفطرية ، لكن الممارسة (أي التدريب) يمكن أن تتغير كثيرًا. لا يتم توظيف الناس لما ولدوا به. يتم تعيينهم لحقيقة أنهم قادرون على أداء واجبات معينة بنجاح ، وأين ومتى تلقوا المعرفة اللازمة لا يهم.
- التدريب مع الأصدقاء هو الراحة لدينا. لا يهم إذا كنت تتدرب على السبورة أو تستخدم شيئًا مثل Codeshare ، فإن النقطة المهمة هي أنه عندما تغوص في جو المقابلة مع شخص ما لفترة طويلة ، فإن الأمر بعيد عن أن يكون مخيفًا. إذا فشل الدماغ أثناء المقابلة وفجأت في نوع من الغباء ، فلن يزعجك ذلك. حسنًا ، إذا تمكنت من العثور على شخص يعرف الحلول حتى بالنسبة لتلك المهام التي لا تفهمها ، والذي يمكنه دفعك في الاتجاه الصحيح - فسيكون ذلك مثاليًا بشكل عام. على محمل الجد ، مثل هذا التدريب يستحق وزنه بالذهب.
- التغطية حاسمة. يمكنك التدريب قبل الغباء (وحتى المنتج) - وما زلت لا تحصل على وظيفة ، لأن سيرتك الذاتية لم تصل إلى الشخص المناسب أو تعرضت للهجوم من قبل ذهول في السبورة ولم تحل المشكلة في الوقت المحدد. أفضل ضمان هو منح نفسك أقصى فرصة. أي إرسال سيرة ذاتية لكل من يناسبك ولمن تناسبك المتطلبات ، وليس فقط الخيار الأفضل. لقد اخترت أكبر 20 شركة كاملة!
- القرار عملية وليست نتيجة. الحفظ لن يحقق أي شيء. حوالي أسبوع ، عُرِض علي حوالي عشرين مهمة في الخوارزميات ، وكانت واحدة منها فقط مألوفة بالنسبة لي (التي أبلغت عنها على الفور ، رغم أن كثيرين اعتبروها زائدة عن الحاجة). لكنني تعلمت تحديد الأنماط ، وبالتالي تمكنت من إيجاد حلول أثناء التنقل.
- لا تستسلم. لقد تعثرت أكثر من مرة أو مرتين ، وكان على القائم بإجراء المقابلة أن يأخذني إلى الإجابة الصحيحة. هذا لم يمنعني من تلقي عروض العمل من جميع الشركات. كانت هناك مقابلة واحدة ، شعرت بأنها فشلت على نحو ميؤوس منه (أربعة من الجلسات الخمس ، في رأيي ، لم تجر سوى "لا" محددة) ، لكن في الواقع ، دعوني في النهاية إلى الفريق. باختصار ، ما لا يحدث إلا في الحياة.
- لا تتعجل لاكتساح المهام. عندما كنت أدرس مع صديق ، غالبًا ما يرفض أصعب المهام ، قائلاً إن هذا لن يفيدني. ومن المثير للاهتمام ، أنه من بين الأنواع الأربعة من المهام التي ، حسب قوله ، "بالتأكيد لن تسقط" ، تم القبض على اثنين. ليس تمامًا بالشكل الذي حللنا به ، ولكن بطريقة مشابهة جدًا. إذا واجهت بانتظام خلال عملية التدريب نوعًا ما من المفاهيم - فعليك القيام بذلك.
- لا تقلل من أهمية المهارات اللينة. أعتقد أنني مدين لجزء كبير من نجاحي بحقيقة أن إجاباتي (الصادقة إلى حد ما) على الأسئلة تتفق مع سياسة الشركة. لديّ نظرية مفادها أن المطورين الأقوياء يجدون أحيانًا صعوبة في العثور على وظيفة لائقة لمجرد أنهم يتصرفون بوقاحة أو يكذبون أو لا يعرفون كيفية البقاء في مواقف لا تتعلق بالبرمجة. في رأيي ، كل هذه أسباب جيدة لرفض مرشح. لذلك ، مارس سلوكك بنفس طريقة المهارات الفنية.
- اظهار علمك. أثناء المقابلات ، تحدث المواقف غالبًا عندما ذكرت ، رداً على سؤال ، بعض مهاراتي الأخرى مع التحذير من أنه بسبب ضيق الوقت ، لم أستطع أن أخبرني بالتفصيل عن تنفيذ هذا الحل. هل تتحدث عن الخطوط؟ أظهر في قرارك أنك تعرف كيفية العمل مع Unicode ، أو أخبر كيف تدعمه. استدعاء طريقة خاصة؟ اشرح كيف تعمل الأشياء مع الأساليب في Objective-C. تحديث البيانات في عرض الجدول؟ اذكر الرسوم المتحركة التي يمكنك دعمها. إذا كنت على دراية سيئة بشيء ما ، فإن إثارة هذا الموضوع ، بالطبع ، لا يستحق ذلك. ولكن إذا كان لديك ما تقوله ، اغتنم الفرصة لتجاوز الإطار الضيق الذي يحركك فيه السؤال الأولي ، وأظهر ميزتك على أولئك الذين لا يتركون المسار المطروق.
- حاول ألا تصل إلى البار ، بل ارفعه. لا يعتمد الانطباع الذي تتخذه في المقابلة على ما إذا كنت ستُعرض على وظيفة فحسب ، بل يعتمد أيضًا على الشروط التي ستُعرض عليها. إذا كنت في مرحلة ما سوف تكون على يقين من أن معرفتك لهذا المنصب الشاغر كافية - ممتازة! لكن لا تنسى: هناك فرق كبير بين "الوصول إلى حد ما" أو "الصواب المطلق". يجب أن يكون هدفك الثاني. كانت الظروف التي تم تقديمها في البداية لي (أي قبل المفاوضات) جيدة جدًا ، وأعتقد أن المقابلات لعبت دورًا مهمًا هنا.
في الختام
حسنا ، هذا كل شيء! كان الماراثون لا يزال هناك ، لكنني لست نادما على أي شيء. آمل مخلصًا أن كل ما كتبته هنا سيساعد شخصًا ما على الانطلاق بحثًا عن الحلم. إذا كان شخص ما مهتمًا بالنصائح ذات الصلة بشكل خاص بقطاع iOS ، فيمكنني مشاركتها ، لذا اكتب
التعليقات .
إذا كان هذا يشجعك: هذه هي وظيفتي الثانية بعد الكلية ، ولدي حوالي عامين ونصف من الخبرة ، وليس لدي أسماء كبيرة في سيرتي الذاتية ، لقد تخرجت من كلية متواضعة للغاية ، لم يكن لها قط شركات كبيرة في "معرض الوظائف" ، لقد بدأت العملية التحضير في أواخر أبريل ، وبدأت في إرسال السيرة الذاتية في يونيو ويوليو ، وأخيرا ، في غضون بضعة أشهر فقط حصلت على وظيفة أحلم بها فقط.
أخيرًا ، أريد أن أعلن مرة أخرى عن مجتمع
CS Career Hackers . إذا كنت تبحث عن مكان لممارسة ، أو ترغب فقط في الدردشة مع أشخاص في وضعك (أو على دراية به ، من أي جانب) ، يرجى عدم المرور. لقد صادفته بعد بضعة أشهر فقط من توقيع العقد ، لكن على أي حال ، إنه رائع هناك. حظا سعيدا مع الاستعدادات الخاصة بك!