أسئلة مقابلات React Native مع الإجابات
100 سؤال من أسئلة مقابلات العمل في React Native، مقسمة على 10 موضوعات: React Native Architecture & Bridge / New Architecture وCore Components & Primitives وStyling, Layout & Flexbox وReact Navigation & Screen Stacks وState & Local Storage (AsyncStorage, MMKV) وAnimations & Gestures (Reanimated & RNGH) وNative Modules & Hardware APIs وPerformance & Memory Optimization وExpo Ecosystem & EAS وRelease, App Stores & CI/CD. تغطي الأسئلة المستويات متوسط ومتقدم ومبتدئ، ولكل سؤال إجابة مختصرة تقولها في الانترفيو، وشرح أعمق، وأخطاء شائعة، وروابط للمصادر الرسمية مع تاريخ آخر مراجعة.
الموضوعات
React Native Architecture & Bridge / New Architecture
10 سؤال
Core Components & Primitives
10 سؤال
Styling, Layout & Flexbox
10 سؤال
React Navigation & Screen Stacks
10 سؤال
State & Local Storage (AsyncStorage, MMKV)
10 سؤال
Animations & Gestures (Reanimated & RNGH)
10 سؤال
Native Modules & Hardware APIs
10 سؤال
Performance & Memory Optimization
10 سؤال
Expo Ecosystem & EAS
10 سؤال
Release, App Stores & CI/CD
10 سؤال
أسئلة مقابلات React Native Architecture & Bridge / New Architecture في React Native
- ما هي معمارية React Native التقليدية (The Bridge) وما هي الاختناقات الأدائية المرتبطة بها؟
- ما هي الـ New Architecture في React Native وما هو دور الـ JSI (JavaScript Interface)؟
- ما هو نظام Fabric وما الفرق بينه وبين نظام التصيير القديم في React Native؟
- ما هي الـ TurboModules وكيف تحسن من سرعة إقلاع التطبيق (Startup Time)؟
- ما هو دور محرك Hermes ولماذا أصبح المحرك الافتراضي في React Native؟
- ما هي خيوط المعالجة الرئيسية (Threads) في تطبيق React Native وكيف يتم التوزيع بينها؟
- ما هي أداة Codegen في معمارية React Native الجديدة ولماذا تعد إلزامية؟
- ما الفرق بين React Native CLI الخالص (Bare Workflow) و Expo Managed Workflow؟
- كيف يتم الربط بين مكتبة Yoga Layout ونظام التصيير في React Native؟
- كيف تتعامل مع معضلة الـ App State (Active, Background, Inactive) وحفظ الطاقة؟
أسئلة مقابلات Core Components & Primitives في React Native
- لماذا يعتبر FlatList خياراً أفضل بكثير من ScrollView مع القوائم الطويلة في React Native؟
- ما هي أهم خصائص ضبط أداء FlatList (مثل windowSize و initialNumToRender و getItemLayout)؟
- ما الفرق بين TouchableOpacity و TouchableHighlight و Pressable ومتى نعتمد Pressable دائماً؟
- كيف يعمل مكون Image في React Native وما هي قيود ومشاكل الكاش الشائعة معه؟
- كيف تستخدم مكون SectionList لعرض البيانات المقسمة إلى مجموعات مصنفة مع رؤوس ثابتة (Sticky Headers)؟
- كيف تتعامل مع مشكلة حجب لوحة المفاتيح للمدخلات باستخدام KeyboardAvoidingView؟
- ما هي الـ Modal في React Native وكيف يتم التعامل مع النوافذ المنبثقة بشكل سليم؟
- ما هو مكون SafeAreaView وكيف تطور في React Native وتكامله مع react-native-safe-area-context؟
- كيف تدير مدخلات النصوص المتعددة (TextInput) وحركات التبديل بين الحقول بالـ Focus؟
- ما الفرق بين مكون Switch ومكون ActivityIndicator وكيف تخصص مظهرهما عبر المنصتين؟
أسئلة مقابلات Styling, Layout & Flexbox في React Native
- ما هي الفروقات الرئيسية بين CSS على المتصفح ونظام التنسيق في React Native؟
- لماذا يعتبر StyleSheet.create مفضلاً على استخدام Inline Styles المباشرة؟
- كيف تتعامل مع تصميم واجهات متجاوبة (Responsive Layouts) لمختلف أحجام الهواتف والتابلت؟
- كيف يتم التعامل مع الظلال (Shadows & Elevation) بين نظامي iOS و Android؟
- كيف تدعم وتخصص الخطوط المخصصة (Custom Fonts) والتعامل مع مشاكل الارتفاع والـ Line Height؟
- كيف تدعم اتجاه الكتابة من اليمين لليسار (RTL Support) وتخطيط الواجهات للغة العربية؟
- ما هي مكتبة NativeWind وكيف تمكن المطورين من استخدام Tailwind CSS داخل React Native؟
- كيف تدير الوضع الليلي والنهاري (Dark & Light Mode) بسلاسة بالاعتماد على useColorScheme؟
- ما الفرق بين position: "relative" و position: "absolute" في تخطيط React Native؟
- ما هي فائدة واستخدامات خاصية AspectRatio في بناء البطاقات والصور المرنة؟
أسئلة مقابلات React Navigation & Screen Stacks في React Native
- ما هو الفرق الجوهري بين Native Stack Navigator و Stack Navigator في React Navigation؟
- كيف تطبق أمان الأنواع الكامل (Type-Safe Navigation) في React Navigation مع TypeScript؟
- كيف تنظم مسارات التطبيق المتداخلة (Nested Navigators) كالجمع بين Bottom Tabs و Stack؟
- كيف تدير الروابط العميقة (Deep Linking & Universal Links) لفتح شاشات محددة من الروابط الخارجية؟
- ما هي أحداث دورة حياة الشاشة في React Navigation (useFocusEffect و useIsFocused)؟
- كيف تطبق تدفق المصادقة المشروط (Conditional Authentication Flow) بأفضل ممارسة؟
- ما هي معمارية Expo Router وكيف تختلف بنية File-based Routing عن React Navigation التقليدي؟
- كيف تخصص شريط العنوان العلوي (Custom Navigation Header) مع الحفاظ على أداء الـ Native؟
- كيف تتعامل مع زر الرجوع الفعلي (Hardware Back Button) في أجهزة أندرويد داخل شاشاتك؟
- ما هي استراتيجيات تحسين الذاكرة وتجنب تراكم الشاشات في الـ Navigation Stack (Memory Pressure)؟
أسئلة مقابلات State & Local Storage (AsyncStorage, MMKV) في React Native
- ما الفرق بين AsyncStorage ومكتبة react-native-mmkv ولماذا تعتبر MMKV أسرع بمراحل؟
- كيف تخزن الرموز الحساسة (Tokens & Secrets) بأمان باستخدام Keychain (iOS) و Keystore (Android)؟
- كيف تستخدم Zustand مع MMKV لإنشاء مخزن حالة عالمي متزامن ومحفوظ محلياً (Persistent Store)؟
- متى نستخدم قاعدة بيانات SQLite محلية (مثل OP-SQLite أو WatermelonDB) بدلاً من Key-Value Storage؟
- كيف تدير التزامن دون اتصال بالإنترنت (Offline Sync) واستراتيجيات مزامنة البيانات مع الخادم؟
- كيف تراقب حالة اتصال الشبكة في React Native باستخدام @react-native-community/netinfo؟
- كيف تتعامل مع تخزين وإدارة البيانات الكبيرة المؤقتة (Caching) باستخدام TanStack Query؟
- ما هي ضوابط حفظ وتأمين تفضيلات المستخدم (User Preferences) في التطبيق؟
- كيف تتعامل مع مسح بيانات المستخدم بالكامل عند تسجيل الخروج (Logout Cleansing)؟
- ما هي معمارية State Machine وكيف تستخدم مكتبة XState لإدارة التدفقات الحساسة؟
أسئلة مقابلات Animations & Gestures (Reanimated & RNGH) في React Native
- لماذا يعتبر Animated API المدمج بطيئاً ولماذا تعد مكتبة React Native Reanimated هي المعيار الصناعي؟
- ما هو مفهوم الـ Shared Values في Reanimated وكيف تختلف عن useState؟
- كيف تدمج React Native Gesture Handler (RNGH) مع Reanimated لبناء تفاعلات إيماءات لمسية فورية؟
- ما هي حركات التخطيط التلقائية (Layout Animations) في Reanimated؟
- ما هي حركات العناصر المشتركة (Shared Element Transitions) بين الشاشات وكيف تنفذها؟
- متى نستخدم Lottie Animations وكيف نتحكم في تشغيل ملفات JSON الحركية في React Native؟
- ما هي حركات النوابض الفيزيائية (Spring Physics) ومزاياها مقارنة بالحركات التوقيتية (Timing Animations)؟
- كيف تبني مؤشر تمرير مخصص (Custom Scroll Interpolation) باستخدام useAnimatedScrollHandler؟
- ما هي مكتبة React Native Skia وكيف تستخدم للرسوم البيانية والمؤثرات البصرية ثنائية الأبعاد فائقة السرعة؟
- كيف تكتشف وتعالج تقطيع الفريمات وسقوط الإطارات (Dropped Frames) أثناء الحركات؟
أسئلة مقابلات Native Modules & Hardware APIs في React Native
- كيف تدير طلب أذونات النظام الحساسة (Permissions) على iOS و Android بطريقة متوافقة مع متطلبات المتاجر؟
- كيف تبني Custom Native Module في أندرويد (Kotlin) وتربطه بـ React Native؟
- كيف تبني Custom Native Module في نظام iOS (Swift / Objective-C)؟
- كيف تستخدم مستشعرات الحركة والعتاد (Accelerometer, Gyroscope, Barometer) في React Native؟
- كيف تتعامل مع المصادقة الحيوية (Biometrics - FaceID & Fingerprint) في التطبيق؟
- كيف تدير الإشعارات اللحظية المحلية والبعيدة (Push & Local Notifications) وإدارة التوكنات؟
- كيف تدير التتبع الدقيق للموقع الجغرافي بالخلفية (Background Geolocation) دون إغلاق التطبيق؟
- كيف تتعامل مع الاهتزازات التفاعلية اللمسية (Haptic Feedback) لتحسين تجربة المستخدم؟
- كيف تدمج ميزة مسح وقراءة الباركود ورموز الاستجابة السريعة (QR Code Scanning)؟
- كيف تدير حفظ وقراءة الملفات المحلية باستخدام FileSystem ومشاركة المحتوى عبر Sharing API؟
أسئلة مقابلات Performance & Memory Optimization في React Native
- كيف تكتشف وتعالج تسريبات الذاكرة (Memory Leaks) في تطبيقات React Native؟
- ما هي ظاهرة الـ Overdraw في أجهزة أندرويد وكيف تؤثر على سلاسة رسم الواجهة؟
- كيف تحسن من حجم حزمة التطبيق النهائية (App Bundle Size Reduction) في أندرويد و iOS؟
- كيف تسرع وقت بدء تشغيل التطبيق (Time to Interactive - TTI)؟
- ما هي خاصية removeClippedSubviews ومتى يكون تفعيلها سلاحاً ذا حدين؟
- كيف تتعامل مع أخطاء تصيير وتكبير حجم الصور (Image Downscaling) في وقت التشغيل؟
- كيف يؤثر استخدام console.log المفرط على أداء تطبيق React Native في بيئة الإنتاج؟
- ما هي معمارية FlashList من Shopify وما الذي تحسّنه مقارنة بـ FlatList؟
- كيف تستخدم React Profiler لتحديد أسباب إعادة تصيير المكونات في شاشات الموبايل؟
- كيف تمنع تجميد الشاشة أثناء تنفيذ العمليات الحسابية الضخمة باستخدام InteractionManager؟
أسئلة مقابلات Expo Ecosystem & EAS في React Native
- ما هي معمارية Expo الحديثة وما هو مفهوم Continuous Native Generation (CNG)؟
- ما هي الـ Expo Config Plugins وكيف تسمح بتعديل كود ومكتبات الـ Native بأمان؟
- ما هو نظام EAS Build وكيف يختلف عن البناء المحلي على جهاز المطور؟
- ما هو التحديث عبر الهواء (Over-The-Air - OTA Updates) بواسطة EAS Update ومخاطره؟
- ما هو Expo Dev Client ولماذا حل محل تطبيق Expo Go التقليدي للتطوير الاحترافي؟
- كيف تدير المتغيرات البيئية (Environment Variables) في Expo بأمان وموثوقية؟
- ما هي معمارية Expo Modules API وكيف تبسط كتابة وحدات أصلية متوافقة مع Swift و Kotlin؟
- كيف تدير شاشات البداية والـ Splash Screen الاحترافية باستخدام expo-splash-screen؟
- ما هي معايير واختبارات القبول الصارمة للـ App Clips (iOS) و Instant Apps (Android) في Expo؟
- كيف يتم تشخيص وتحليل تقارير الأعطال (Crash Reporting) باستخدام Sentry في تطبيقات Expo؟
أسئلة مقابلات Release, App Stores & CI/CD في React Native
- ما هي المتطلبات الصارمة لنشر التطبيقات على متجر Apple App Store ومراجعات إرشادات آبل؟
- كيف تعد تطبيق أندرويد للنشر على متجر Google Play وما هي صيغة Android App Bundle (AAB)؟
- كيف تدير شهادات التوقيع الرقمي (Code Signing) في iOS باستخدام Fastlane Match؟
- ما هي استراتيجيات توزيع النسخ التجريبية للمختبرين (TestFlight & Internal App Sharing)؟
- كيف تبني خط أتمتة مستمر (CI/CD Pipeline) متكامل لمشاريع React Native باستخدام GitHub Actions؟
- ما هي استراتيجيات الترقية الدورية لإصدارات React Native (Upgrading Strategy)؟
- كيف تدير أرقام الإصدارات (Versioning) بين versionCode و versionName و CFBundleVersion؟
- ما هي الفحوصات الأمنية وقواعد حماية الكود المصدري ضد الهندسة العكسية (Reverse Engineering)؟
- كيف تدير الشراء داخل التطبيق (In-App Purchases - IAP) واشتراكات المتاجر باستخدام RevenueCat؟
- ما هي معايير إطلاق التحديثات التدريجية (Phased / Staged Rollouts) وكيف تنقذك من الكوارث غير المكتشفة؟