25 أسئلة وأجوبة المقابلات الشخصية الأكثر شيوعًا [للمستجدين]

نشرت: 2020-12-18

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

يجب على أي شخص يطمح لبناء مستقبل مهني في مجال تطوير البرمجيات إتقان أساسيات C.

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

لذلك ، دون مزيد من اللغط ، دعنا نتحقق من أكثر 25 سؤالاً من الأسئلة الشائعة في المقابلات C!

ج أسئلة وأجوبة المقابلة

  1. ما هي الميزات الأساسية لـ C؟

لغة البرمجة C هي:

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

تحتوي لغة C على أربع فئات من أنواع البيانات:

  • نوع البيانات الأساسية
  • نوع البيانات المشتق
  • نوع البيانات التي تم تعدادها
  • نوع بيانات باطل
  1. اشرح "Dangling Pointer Variable" بلغة C.

في برمجة لغة سي ، يشير المؤشر إلى موقع الذاكرة أو عنوان متغير موجود. ومع ذلك ، إذا تم حذف هذا المتغير وتوجه المؤشر إلى نفس موقع الذاكرة ، فإنه يطلق عليه Dangling Pointer Variable.

  1. ما هو "المؤشر على المؤشر؟"

يشير "المؤشر على المؤشر" إلى متغير المؤشر الذي يحمل عنوان متغير مؤشر آخر. في جوهره ، يشير المؤشر مرتين للإشارة إلى البيانات الموجودة في متغير المؤشر المحدد.

  1. حدد "مصفوفة".

المصفوفة هي بنية بيانات تحتوي على عناصر متعددة من نفس نوع البيانات بطريقة منظمة. تتكون المصفوفات عادةً من ثلاثة أنواع: أحادي البعد وثنائي الأبعاد وثلاثي الأبعاد.

  1. ما هو المتغير الثابت؟ لماذا تستخدم المتغيرات الثابتة في لغة سي؟

المتغير الثابت هو الذي يتم الإعلان عنه بواسطة الكلمة الأساسية "Static". المتغير الثابت يحتفظ بقيمته بين مكالمات دوال متعددة.

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

  1. حدد "نطاق" المتغير.

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

  1. ما هو تخصيص الذاكرة الديناميكي؟

تخصيص الذاكرة الديناميكي هو إجراء تخصيص الذاكرة لبرنامج C ومتغيراته أثناء وقت التشغيل. بينما تقوم malloc () و calloc () و realloc () بتخصيص الذاكرة ، فإن الوظيفة free () تحرر مساحة الذاكرة المستخدمة.

قراءة : أسئلة وأجوبة مقابلة SQL

  1. اشرح الفرق بين دالات calloc () و malloc ().

في لغة C ، يعتبر كل من calloc () و malloc () من وظائف تخصيص الذاكرة التي تخصص الذاكرة من منطقة الكومة (الذاكرة الديناميكية). يتمثل الاختلاف الأساسي بين وظيفتي تخصيص الذاكرة في أن calloc () يقوم بتحميل جميع مواقع الذاكرة المعينة بالقيمة 0 بينما لا يقوم malloc () بذلك.

  1. اشرح "تخصيص الذاكرة الثابتة".

بخلاف تخصيص الذاكرة الديناميكي الذي يخصص الذاكرة في وقت التشغيل ، يخصص تخصيص الذاكرة الثابتة الذاكرة أثناء الترجمة. لا يتيح لك تخصيص الذاكرة الثابتة زيادة تخصيص الذاكرة أثناء تنفيذ برنامج C. يمكنك تنفيذ الذاكرة الثابتة باستخدام stacks / heap وتخصيص الذاكرة باستخدام الكلمة الأساسية "Static". بشكل عام ، يتطلب تخصيص الذاكرة الثابتة مساحة ذاكرة أكبر لتخزين المتغيرات أكثر من تخصيص الذاكرة الديناميكي.

  1. تسمية بعض رموز C؟

الرمز المميز هو معرف. وعادة ما تكون أصغر وحدة في برنامج سي. الثوابت والسلاسل والكلمات الأساسية والعوامل والمعرفات والأحرف الخاصة هي عدد قليل من رموز C المستخدمة في كتابة برامج C.

  1. هل سيتم ترجمة كود C أو تنفيذه بدون وظيفة main ()؟

في حالة عدم وجود دالة main () ، سيقوم برنامج C بالتجميع بدلاً من التنفيذ لأن الوظيفة main () إلزامية لتشغيل أي برنامج C.

  1. حدد "بنية متداخلة".

يتم إنشاء البنية المتداخلة عندما يحتوي عنصر أو عضو بيانات دالة على عضو بيانات في بنية أخرى.

  1. التمييز بين المعلمات الفعلية والرسمية.

يتم إرسال المعلمات الفعلية من الوظيفة الأساسية إلى وظيفة التقسيم الفرعي ، وتُعرف المعلمات المعلنة كوظيفة مقسمة فرعية باسم المعلمات الرسمية.

  1. ما هو توجيه المعالج؟

توجيه المعالج المسبق عبارة عن وظيفة داخلية محددة مسبقًا تعمل كتوجيه للمترجم لأداء مهام محددة قبل بدء عملية الترجمة. وبالتالي ، يتم دائمًا تنفيذ توجيه ما قبل المعالج قبل تنفيذ برنامج C.

  1. حدد "وسيطات سطر الأوامر".

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

  1. كيف يمكنك تعيين معلمات للوظائف؟

هناك طريقتان لتعيين المعلمات للوظائف:

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

تسجيل الخروج: أسئلة مقابلة مطور مكدس كاملة

  1. ما هو "الاتحاد" في سي؟

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

  1. اشرح "العودية".

العودية هي عندما تستدعي دالة نفسها ، وتُعرف الوظيفة التي تستدعي نفسها باسم دالة تكرارية. تحدث الدالة العودية على مرحلتين:

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

يمكنك التصريح عن دالة في لغة C كما يلي:

return_type function_name (قائمة المعلمات الرسمية)

{

الوظيفة_الجسم

}

  1. ماذا تفعل وظيفة sprintf ()؟

تُستخدم وظيفة sprintf () لطباعة السلاسل. يجلب العدد الإجمالي للأحرف في سلسلة. تقوم هذه الوظيفة بنقل البيانات إلى المخزن المؤقت ، وبالتالي لا تطبع الإخراج على الشاشة. صيغة الدالة sprintf () هي:

int sprintf (char * str ، const char * format ، ...) ؛

  1. ما الفرق بين دالتَي getch () و getche ()؟

في برنامج C ، تقرأ وظيفة getch () حرفًا واحدًا من الكلمة الأساسية. نظرًا لأنه يستخدم أي مخزن مؤقت ، فلن يعرض البيانات التي تدخلها على الشاشة. على العكس من ذلك ، بينما تقرأ وظيفة getche () أيضًا حرفًا واحدًا من الكلمة الأساسية ، فإنها تعرض البيانات على الشاشة.

  1. ما هو "Rvalue" و "Ivalue"؟

Rvalue هو التعبير الذي يقع على الجانب الأيمن من عامل الإسناد. يتم تعيينه إلى Ivalue الذي يقع على مشغل التخصيص. يجب أن تشير lvalue إلى متغير وليس ثابتًا.

  1. قم بتسمية محددات فئة التخزين المختلفة في C.

في C ، هناك أربعة محددات تخزين:

  • آلي
  • ثابتة
  • يسجل
  • خارجي
  1. هل هناك فرق بين التصريح عن ملف الرأس باستخدام "" و <>؟

إذا قمت بتعريف ملف رأس باستخدام ”“ ، يبحث المترجم عن ملف الرأس في دليل العمل الحالي ، وإذا لم يعثر على الملف هناك ، فإنه يبحث في مواقع أخرى للعثور على ملف الرأس. ومع ذلك ، إذا قمت بتعريف ملف الرأس باستخدام <> ، يبحث المترجم عن الملف باتباع المسار المضمن.

تحقق من: 15 نصيحة للمقابلة لتبرز في مقابلة العمل

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

خاتمة

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

إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فتحقق من برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم و 9+ مشاريع و المهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

كن مطورًا للمكدس الكامل

تقدم الآن للحصول على درجة الماجستير في هندسة البرمجيات