كيفية إحراز تقدم أثناء الدراسة لإجراء مقابلات الترميز

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

أنت تقوم بعمل متسق. لقد مررت بمئات من مشكلات التدريب وحجزت ساعة كل يوم للدراسة. لكنك فقط لا تتقدم.

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

عندما أعمل مع عملاء تدريب 1: 1 ، هذا هو بالضبط الموقف الذي أجده في كثير من الأحيان. وفي جميع الحالات تقريبًا ، بمجرد تحديد الشيء (أو الأشياء) التي تعيقهم ، فإنهم يواجهون اختراقات كبيرة. أدى حل هذه المشكلات إلى حصول عملائي على وظائف في Amazon و Bloomberg و Uber والمزيد!

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

1. تطوير أساس قوي

لقد تحدثت عن هذه المشكلة من قبل ، ولكن أحد أهم مفاتيح النجاح في مقابلات الترميز هو وجود أساس قوي لأساسيات علوم الكمبيوتر.

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

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

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

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

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

أفضل طريقة للقيام بذلك هي أن تأخذ دورة هياكل البيانات والخوارزميات في معهد ماساتشوستس للتكنولوجيا (Python) أو برينستون (Java). قم بشراء الكتاب ، وقم بالمهام ، وقم بإجراء الاختبارات. إذا قمت بالعمل ، يمكنك بسهولة إكمال الدورة التدريبية في 3 أشهر أو أقل ، وسيكون لديك أساس قوي للمضي قدمًا.

2. احصل على المزيد من الخبرة في الترميز

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

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

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

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

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

إذا كنت جديدًا في العمل مع المصدر المفتوح ، فإن First Timers Only هي مصدر رائع لمن يتطلعون إلى البدء. يشاركون دروسًا تعليمية حول كيفية المساهمة ، وقاموا بتجميع قائمة بالمشاريع المحتملة التي قد تكون مفيدة للمبتدئين.

3. نهج استراتيجي لكل سؤال مقابلة

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

تبدو الخطة الأكثر شيوعًا التي أراها لحل مشكلات المقابلة مشابهًا لما يلي:

  1. انظر إلى المشكلة
  2. فكر في المشكلة
  3. توصل إلى حل
  4. اكتب الحل
  5. نجاح

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

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

هذا محفوف بالمخاطر في أحسن الأحوال.

أفضل طريقة لإجراء المقابلات هي أن يكون لديك خطة لعب واضحة لكيفية التعامل مع كل مقابلة وكل مشكلة في المقابلة. فيما يلي مخطط تقريبي لكيفية التعامل مع مقابلة مدتها ساعة:

[0: 00–0: 05] استقر وتأكد من أنك تفهم تمامًا المشكلة التي يطلبونها. العمل من خلال أي مثال المدخلات المقدمة.

[0: 05–0: 10] اكتشف حل القوة الغاشمة للمشكلة. لا يوجد تشفير في هذه المرحلة ، فقط تحدث من خلاله وارسم أي صور إذا وجدت ذلك مفيدًا. إذا واجهتك مشكلة في التوصل إلى حل للقوة الغاشمة ، فحاول حل المشكلة يدويًا وترجمة عمليتك لحلها إلى خوارزمية.

[ 0: 10–0: 15] حسِّن الحل. خذ هذه الدقائق الخمس لاكتشاف أفضل حل ممكن في هذه الفترة الزمنية. عند مقارنة الحلول ، ضع في اعتبارك التعقيدات الزمنية.

[0: 15–0: 35] قم بترميز الحل الخاص بك. حتى لو لم يكن الحل الأمثل ، فمن الأفضل أن يكون لديك حل كامل وغير مثالي بدلاً من الحل الأمثل غير الكامل.

[0: 35–0: 50] اختبر الرمز وأصلح أي مشاكل. هذا مهم للغاية. لا يهم إذا لم تكن شفرتك مثالية في المرة الأولى ، ولكن من الأفضل أن تكون قادرًا على تحديد الأخطاء.

[0: 50–1: 00] أسئلة للمحاور.

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

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

4. النظر في الحلول الممكنة المختلفة

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

هذا دائما يخيب ظني في كثير من الأحيان ، هناك حل آخر كان من الممكن أن يكون أفضل وكانوا قريبين جدًا. أو ربما كانت هناك حلول مماثلة لها مقايضات مختلفة.

على سبيل المثال ، ضع في اعتبارك هذه المشكلة:

  • حل واحد له O(n)تعقيد زمني وتعقيد O(1)المكان
  • حل آخر له O(log n)تعقيد زمني وتعقيد O(log n)المكان

أي من هذه الحلول أفضل؟

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

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

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

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

5. ابدأ بحل القوة الغاشمة

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

لكن دعني أسألك هذا: أيهما أفضل ، حل القوة الغاشمة أم لا حل؟

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

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

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

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

يمنحك البدء بحل القوة الغاشمة الوضوح ونقطة البداية لجعل كل شيء آخر أسهل.

6. خطط للحل الكامل قبل كتابة التعليمات البرمجية

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

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

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

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

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

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

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

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

7. ضع الصورة الكبيرة في الاعتبار

واحدة من أكبر المشاكل التي أراها للمطورين الأكثر خبرة هي أنهم عالقون تمامًا في الحشائش مع وجود مشكلة. يبدأون في الهوس حول ما إذا كان يجب أن تكون الحلقة <؛ N or &lt ؛ = N ولا يمكن معرفة النهج الصحيح.

هذا مثال رائع على فقدان الغابة للأشجار. السؤال الذي يحاولون حله يصبح سؤال "كيف أكتب هذه الحلقة بشكل صحيح؟" بدلاً من "ما الغرض من تقديم هذه الحلقة في السياق الأكبر لشفراتي؟"

وخير مثال على ذلك هو المشكلة حيث تحاول استخدام بنية بيانات خاطئة. لنفترض أنك تخزن القيم المفهرسة من 1-Nوقررت أنك تريد استخدام HashMap. يمكنك إدراج 1 -> valقيمة 1, 2 ->ue2 ، وهكذا.

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

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

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

8. استخدم التجريد لصالحك

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

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

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

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

بهذا المنطق ، يمكننا الآن عزل عملية عكس القائمة المرتبطة والتفكير في كيفية القيام بذلك بشكل فعال. في حين أن هذه المشكلة هي مثال بسيط للغاية ، فمن السهل أن نرى كيف يقلل هذا من مقدار التعقيد الذي يتعين علينا التفكير فيه في أي وقت.

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

هذا له العديد من المزايا:

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

أجد أنه كلما كانت المشكلة أكثر انخراطًا ، زادت قيمة تقسيم الأشياء إلى مكونات يمكن التحكم فيها.

9. اختبر الكود الخاص بك

عندما نقوم بشيء جديد ، فإننا نميل إلى نسيان الكثير من الأشياء التي نعرفها بالفعل. نفترض أن الأشياء التي نعرفها بالفعل لا تنطبق.

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

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

أحد الأشياء التي ينساها الناس طوال الوقت هو اختبار حل المقابلة. ولكن هل ستلتزم بتعليمات برمجية في العالم الحقيقي دون اختبارها بدقة أولاً؟

تختبر الكود الخاص بك لأنك تريد التأكد من صحته وأنه يفعل ما تعتقد أنه يجب أن يفعله. هذا أكثر أهمية في البيئة المجهدة للمقابلة لأنك أكثر عرضة لارتكاب الأخطاء.

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

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

10. الحصول على ردود فعل جيدة

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

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

"لذا ،" قد تقول ، "من يهتم؟ يمكنني فقط الحكم على أدائي ".

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

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

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

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

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