كسر المقابلة الأمامية

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

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

قبل المقابلة

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

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

مفاهيم الواجهة الأمامية

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

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

فقط في حالة احتياجك لتجديد معلومات HTML و CSS ، فإليك بعض المفاهيم الأساسية التي يجب استعراضها.

  • الرسوم المتحركة CSS
  • صور متحركة لـ CSS
  • فصول زائفة
  • أنظمة الشبكة
  • الترميز الدلالي

بالإضافة إلى هذه المفاهيم ، تعرف على معالجات CSS الأولية مثل SASS أو LESS وفوائدها. تعرف أيضًا على اصطلاحات تسمية CSS مثل BEM و OOCSS.

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

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

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

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

  • الميراث النموذجي
  • تحديد النطاق
  • عمليات الإغلاق
  • حلقة الحدث
  • حدث محتدما
  • تطبيق واتصل واربط
  • الاسترجاعات والوعود
  • الرفع المتغير والوظيفة
  • كاري

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

توفر لك أنماط التصميم في Javascript حلولاً قابلة للتكرار للمشكلات الشائعة. هذه بعض أنماط التصميم التي من المهم معرفتها.

  • مصمم
  • مصنع
  • سينجلتون
  • كشف الوحدة
  • مظهر زائف
  • مراقب
  • MVC ، MVP ، MVVM

بالإضافة إلى أنماط تصميم Javascript ، من الجيد أن تكون على دراية بأطر عمل Javascript. هذا لا لا يعني أن عليك أن تذهب تعلم إطار آخر قبل المقابلة. بدلا من ذلك، ونعرف عندما و لماذا فرق الأمامية استخدام الأطر. أيضًا ، إذا كنت تجري مقابلة من أجل شيء مثل React + Flux أو Angular position ، فراجع بعض الوثائق الخاصة بهيكل الإطار مسبقًا.

مفاهيم علوم الحاسب

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

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

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

  • القوائم المرتبطة
  • Hashtables
  • الأكوام وقوائم الانتظار
  • الأشجار (ثنائية الأشجار والأكوام)
  • الرسوم البيانية

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

لتطبيقات هياكل البيانات هذه ، يمكنك إلقاء نظرة على SanFoundry. جميع الأمثلة الخاصة بهم في Java ولكن إعادة تنفيذها في Javascript أمر سهل للغاية.

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

  • بحث ثنائي
  • فقاعة الفرز
  • ترتيب بالإدراج
  • دمج الفرز
  • فرز سريع
  • اختيار نوع

بعد مراجعة هياكل البيانات والخوارزميات ، اختبر معلوماتك باستخدام Leetcode وأسئلة Javascript الفنية.

قم بتغليفه

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

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

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

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

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