in ,

10 مفاهيم في الجافا سكريبت عليك معرفتها قبل مقابلة العمل

هنالكَ كثيرٌ من الأشخاصِ يتعلمونَ لغةَ جافا سكريبت JavaScript، وتطويرِ صفحاتِ الويب، أملاً في الحصول على عملٍ. لكن غالباً ما يتركُ التعلّم الذاتيّ هذا فراغاتٍ في فهم لُغةِ جافا سكريبت ذاتها. ومنَ المفاجِئِ أنّ معرفةً قليلةً باللغةِ تكفي لصُنعِ صفحاتِ ويب معقّدةٍ، إذْ يبني المطوّرون مواقعَ كاملةً بأنفُسهم بدونِ فهمٍ جيّدٍ لأساسياتِ جافا سكريبت.

أقصرُ الطُرُقِ دوماً هي تجنبُ المواضيعِ المعقدّةِ و تطبيقُ الميزاتِ والسماتِ باستخدامِ مهاراتٍ أساسيّةٍ. إذْ أنّه من السهولةِ بمكانٍ إنشاءُ موقع ويب بالاعتمادِ على موقعِ Stack Overflow مثلاً بدونِ فَهمِ التعليماتِ المنسوخةِ منهُ.

موقع Stack Overflow:  هو عبارةٌ عن مجتمعٍ مُتكاملٍ بالنسبة للمبرمجين والمطورين، يوفّر منصّة لتبادلِ الخبراتِ، وطرحِ الأسئلةِ والأفكارِ ومناقشتها، والحصول على حلولٍ للمشاكلِ والأخطاءِ البرمجيّة المطروحة.

اقرأ أيضاً: البرمجة و الحصول على عمل.. من أين أبدأ؟

مقابلاتُ العملِ

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

إليك بعضاً من المفاهيم التي يُسألُ عنها بشكلٍ متكرّرٍ في مقابلاتِ العملِ التي تخصُّ مطوّري الويب. هُنا نفترضُ أنّك تملِكُ أساساً برمجيّاً جيداً، مثل الحلقاتِ و الدوالّ ( التوابع)، و دوال( توابع) الاستدعاء callbacks، وغيرها.

إليكَ المفاهيمَ  الذّهبيّةَ

1-القيمُ (values) والمراجعُ (References): افهمْ كيفيةَ نَسخِ الكائناتِ والمصفوفاتِ، والدوال (التوابعِ)، وتمريرها على الدوال. ضِف إلى ذلك، معرفة أنَ المراجعَ هي التي يتمُّ نسخُها، وافهمْ أنّ القيمَ الابتدائيّةَ هي التي يتمّ نسخها وتمريرها عند نسخ القيمة.

2-المجالُ أو النطاق (Scope): افهم الفرقَ بين مجالِ المتغيّرِ العام، ومجالُ الدّالةِ (التابع)، ومجالُ التركيبِ (البلوك). أي، افهم أيّ المتغيراتِ موجودٌ وأين؟ – بكلماتٍ أُخرى، اعرفْ كيفية إيجاد محرّك جافا سكريبت للمتحولات.

3- الرفع (Hoisting): افهمْ أنّ التصريحَ عن المتحولاتِ و الدوال يتمّ رفعه إلى أعلى المجال المتاح له. بينما تعليماتَ الدالة لا يتمّ رفعُها.

4-الإغلاقاتِ (Closures): لا تنسَ أنّ الدالة تكون متوفّرةٌ في المجالِ الذي أُنشِأت به. واعرفْ ما يُمكنُ فعلُه، مثل إخفاءِ البياناتِ والمعلوماتِ التي يتمّ حفظها في الذاكرة، والتوليد الديناميكي للدوال.

5- الكلمة المحجوزة This: تعلّم قوانين ربط this، وسلوكها. أيضاً، كيفيّة اكتشاف وضبط القيمة التي ستأخُذُها في دالةٍ ما، بالإضافة إلى معرفةِ الاستخدامِ الصّحيحِ والمناسبِ.

6-الكلمة المحجوزة New: لا تنسَ أنّها ترتبط بالبرمجة غرضيّة (كائنيّة) التوجّه. وكنْ على معرفة بما سيحدث لدالة تمّ استدعاؤها بـnew. أيضاً، افهم كيف يرث الكائن المولّد باستخدام new من الخواصِ الموجودةِ في التابعِ الأساسيّ.

7-الدوال Apply, call, bind : تعرّف على آليّةِ عملِ كلّ من هذه الدوال، وكيفية استخدامها، وما الذي تقوم به إذا تمّ استدعاؤها ضمن this.

8-النماذج و الوراثة( Prototypes and Inheritance): اعلمْ أنّ الوراثة في جافا سكريبت تعمل من خلال سلسلة [[Prototype]]، وافهم كيفيّةَ تطبيقِ الوراثةِ من خلالِ الدوال، والكائناتِ، وأنّ التعليمة new  تساعد في تطبيقها. اعرف خواصّ” __proto__” و” prototype” و كيفيّةِ عملِها.

9-جافا سكريبت غير المتزامنة( Asynchronous JS): افهم حلقة الحدث؛ كيف يتعاملُ المتصفّحُ مع دخل المستخدمِ، وطلباتِ الشبكةِ، والأحداثِ بشكلٍ عامٍ. تعلّم كيفيّة تمييزِ و تطبيقِ الكودِ غير المتزامنِ بشكلٍ صحيحٍ. افهمْ أنّ جافا سكريبت غير متزامنة، ويتم تنفيذ العملياتِ بمسارٍ واحدٍ single thread في الوقت ذاته.

10- دوال من مرتبة أعلى( Higher Order Functions): اعلمْ أنّ الدوال هي كائنات من الصنف الأول في جافا سكريبت، وتعلّم ما الذي يعنيهِ ذلك. اعرفْ أنّ استدعاءَ دالةٍ ضمن دالةٍ أُخرى ممكنٌ وليس خاطئ. وافهمْ التقنيات التي توفرها لك الإغلاقات و الدوال من مرتبة أعلى.

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

هل لديك اقتراحاتٍ لمفاهيم أُخرى، شاركها معنا في التعليقات أدناه.

اقرأ أيضاً: البرمجة و الحصول على عمل.. من أين أبدأ؟

  • ترجمة: شهد مكانسي.
  • مراجعة: نور عبدو.

بواسطة شهد مكانسي

4 تعليق

ضع تعليقك

2 Pings & Trackbacks

  1. Pingback:

  2. Pingback:

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

معادلة شرودنجر

هل أصبحنا قريبين من تصنيع روبوتات حية بخصائص عضوية بشرية؟