اذهب إلى المحتوى
  • 0

الطريقة الصحية لدراسة البرمجة والاستعداد لمقابلات العمل

Ahmed Mohammed46

السؤال

Recommended Posts

  • 0

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

خوارزميات الـ Graph:

  • Breadth First Search (BFS)
  • Depth First Search (DFS)
  • Dijkstra

خوارزميات البرمجة الديناميكيّة (Dynamic Programming):

  • أطول سلسلة جزئيّة مشتركة (Longest Common Subsequence)
  • أطول سلسلة جزئيّة متزايدة (Longest Increasing Subsequence)
  • مشكلة حقيبة الظهر 1/0 Knapsack Problem

خوارزميات البحث والترتيب (Sorting & Searching Algorithms):

  • البحث الثنائي (Binary Search)
  • الترتيب السريع (Quick Sort)
  • الترتيب الدمجي (Merge Sort)
  • خوارزمية نوث-برات-نوريس (Knuth-Morris-Pratt Algorithm)

هياكل البيانات (Data Structures):

  • شجرة فنويك/ الشجرة الثنائية (Fenwick tree/ Binary Tree)
  • الشجرة الإحصائية (Segment Tree)
  • المخطط (Graph)
  • جدول التجزئة (Hash Table)
  • المكدسات والأرتال (Stacks & Queues)

بالطبع، هناكَ المزيد والمزيد ولكنّني قمتُ بذكر أهمّها.

المقابلات التقنية تتضمن عادة عدة مراحل تهدف إلى تقييم مهارات وقدرات المرشحين. هذه المراحل تشمل:

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

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

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

الجوانب الرئيسية التي يتم تقييمها تشمل:

   الجانب التقني: يُطلب من المرشح حلاً لمشكلة برمجية أو شرح كيفية عمل تقنية أو خوارزمية معينة. يجب أن يكون المرشح على دراية بالخوارزميات والهياكل البيانية وغيرها من المفاهيم التقنية.

   الجانب السلوكي: يتم تقييم سلوك المرشح وقدرته على التواصل والتعامل مع الفريق. يُطلب من المرشح الإجابة عن أسئلة حول تجاربه السابقة وكيفية تعامله مع التحديات والصراعات.

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

في النهاية، بعد اجتياز مراحل المقابلات التقنية، يُخبر المرشح بالنتيجة وقد يتم تقديم عرض وظيفي إذا تم اختياره. 
 

كيف تحضر لمقابلة عمل لوظيفة مهندس برمجيات؟

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

وبخصوص دراسة البرمجة ستجد هنا شرح مفصل:

وبالطبع بعد تنفيذ المشاريع وتكوين معرض أعمال مكون من مشاريع حقيقية وتعلم المهارات اللازمة للوظيفة التي تنوي التقدم لها، عليك تنمية مهارة الـ Problem solving لديك ويمكنك البدء بموقع Codwars ثم بعد ذلك عليك حل المسائل من خلال leetcode.

وعليك البحث عن الـ technical questions الخاصة باللغة والإطار، فمثلاُ ابحث عن javascript interview questions ونفس الأمر بالنسبة لمكتبة React مثلاً، ثم قم بدراسة تلك الأسئلة والتعلم منها.

أيضًا عليك تعلم كيفية إجتياز الجزء الخاص بالـ Soft skills في المقابلة، ابحث عن Behavioral Interview questions أو soft skills interview questions.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 9 ساعة قال Ahmed Mohammed46:

كيف تذاكر البرمجة و تستعد للمقابلات 

هذا يعتمد على نوع المجال الذي تتقدم عليه سواء باك اند ديفلوبر أو فرونت ايند أو مطور ذكاء صنعي، يجب عليك أن تعرف معلومات أكثر حول الشركة التي تقدم للمقابلة عندهم وهل ستكون المقابلة باللغة الانكليزية أم باللغة العربية، في حال اللغة الانكليزية تستطيع كتابة mock interview + اسم المجال الذي تقدم عليه باللغة الانكليزية مثلا "mock interview backend laraval" ستجد الكثير من المقابلات المسجلة ويمكنك وضع نفسك في مكان المتقدم والإجابة عليها، نسبيا حتى في حال كان اللغة عربية أو انكليزية اغلب المقابلات تسأل عن مهارة "problem solving" من خلال طرح عدة مشاكل في المقابلة وحلها باستخدام لغة البرمجة التي تعمل عليها، من الممكن اخبار المتقدم بأنه يوجد 3 مراحل في المقابلة الاولى من الممكن أن تكون مقابلة تعرفيه تعكس شخصيتك فيجب أن تركز على الانطباع الأول عنك ثم يتم دعوتك إلى المرحلة الثانية والتي تسمى مقابلة تقنية وهنا يتم اخبارك أنه يوجد 2 او 3 مشاكل ويطلب حلها باللغة التي تعمل عليها أو إي لغة تفضلها ثم المرحلة الاخيرة المقابلة مع الفريق والتعرف عليك بشكل أكثر وتحديد المنصب والراتب..الخ 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...