دليل مقابلة React Native

تركز معظم مدونات المقابلات على التعريفات. يسألونك "ما هو المكون (component)؟" فتعطي إجابة من الكتاب المدرسي. هذه الإجابة ستؤدي إلى رفضك.

تستخدم المقابلات الحقيقية السيناريوهات. يصف المحاور تطبيقاً يعاني من سقوط الإطارات (drops frames)، أو قائمة تعيد الرندرة (re-renders) بشكل مفرط، أو شاشة تتجمد. إنهم يريدون رؤية طريقة تفكيرك. يريدون معرفة ما إذا كنت تفهم سبب عمل الأشياء، وليس فقط أسماء الأدوات.

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

يغطي الدليل:

  • الأساسيات ودورة حياة التطبيق (App Lifecycle)
  • التنقل والتوجيه (Navigation and Routing)
  • واجهة المستخدم، التنسيق، والتخطيط (UI, Styling, and Layout)
  • محرك JS، تعدد الخيوط (Threading)، والمعمارية الجديدة (JSI/Fabric)
  • الشبكات، واجهات برمجة التطبيقات (APIs)، واستمرارية البيانات (Data Persistence)
  • إدارة الحالة (Client vs. Server state)
  • الأداء، الذاكرة، والرندرة (Rendering)
  • الأمن والاختبار
  • سيناريوهات متقدمة لعام 2026

بعض النقاط الرئيسية لمقابلتك القادمة:

  • الأداء: إذا شعرت أن التطبيق بطيء، قم بعمل Profiling له أولاً. حدد ما إذا كان التأخير في خيط الـ JS أو خيط الـ UI.
  • المعمارية: لا تستخدم Redux لكل شيء. استخدم React Query لحالة الخادم (server state) و Zustand أو Redux Toolkit لحالة العميل (client state).
  • المعمارية الجديدة: افهم كيف يزيل JSI عنق الزجاجة في الـ bridge للسماح بالاتصال المتزامن (synchronous communication).
  • القوائم: استخدم FlatList أو FlashList للقوائم الطويلة. لا تستخدم ScrollView أبداً لمجموعات البيانات الكبيرة.
  • الرسوم المتحركة: قم بتشغيل الرسوم المتحركة على خيط الـ UI باستخدام Reanimated أو الـ native driver لتجنب التقطيع (jank) في خيط الـ JS.

لا تكتفِ بحفظ هذه الإجابات فقط. اقرأها بتمهل. انطقها بصوت عالٍ. يجب أن تفهم المنطق حتى تتمكن من شرحه تحت الضغط.

اقرأ الدليل الكامل من هنا: https://dev.to/prabhasg56/react-native-developer-interview-questions-answers-real-scenario-based-questions-14ko