أسئلة مقابلات Native Modules & Hardware APIs في React Native
10 سؤال عن Native Modules & Hardware APIs من مسار React Native. اقرأ الإجابة المختصرة لكل سؤال هنا، وافتح السؤال للشرح الكامل والأمثلة والأخطاء الشائعة والمصادر.
- متوسط
كيف تدير طلب أذونات النظام الحساسة (Permissions) على iOS و Android بطريقة متوافقة مع متطلبات المتاجر؟
بطلب الإذن في سياق الاستخدام الفعلي (In-context) وشرح السبب للمستخدم مسبقاً، وإضافة التوصيفات الإلزامية في Info.plist و AndroidManifest.xml، والتعامل مع حالات الرفض الدائم.
اقرأ الشرح الكامل - متقدم
كيف تبني Custom Native Module في أندرويد (Kotlin) وتربطه بـ React Native؟
بإنشاء فئة ترث ReactContextBaseJavaModule، ووضع وسم @ReactMethod على الدوال المصدرة، وتسجيلها في ReactPackage مخصص لإضافته إلى getPackages() في MainApplication.
اقرأ الشرح الكامل - متقدم
كيف تبني Custom Native Module في نظام iOS (Swift / Objective-C)؟
بإنشاء فئة Swift تحتوي على الدوال المرغوبة، واستخدام ملف جسر Objective-C (Bridging Header) وماكرو RCT_EXTERN_MODULE لتسجيلها في شجرة وحدات React Native.
اقرأ الشرح الكامل - متوسط
كيف تستخدم مستشعرات الحركة والعتاد (Accelerometer, Gyroscope, Barometer) في React Native؟
باستخدام حزمة expo-sensors للاشتراك في تدفق قراءات المستشعرات وتحديد وتيرة التحديث بالمللي ثانية (Update Interval) مع إلغاء الاشتراك فور مغادرة الشاشة.
اقرأ الشرح الكامل - متوسط
كيف تتعامل مع المصادقة الحيوية (Biometrics - FaceID & Fingerprint) في التطبيق؟
باستخدام expo-local-authentication لفحص توفر العتاد الحيوي أولاً، ثم استدعاء authenticateAsync مع رسالة واضحة للمستخدم ودعم إدخال رمز الهاتف كبديل عند الفشل.
اقرأ الشرح الكامل - متقدم
كيف تدير الإشعارات اللحظية المحلية والبعيدة (Push & Local Notifications) وإدارة التوكنات؟
باستخدام expo-notifications أو Notifee للحصول على تصريح المستخدم، واستخراج Push Token الخاص بالجهاز وإرساله للسيرفر، والاستماع لأحداث النقر على الإشعار للتوجيه المباشر.
اقرأ الشرح الكامل - متقدم
كيف تدير التتبع الدقيق للموقع الجغرافي بالخلفية (Background Geolocation) دون إغلاق التطبيق؟
بتسجيل مهمة خلفية عبر TaskManager و expo-location مع ضبط نوع النشاط ومسافة التحديث، وضمان الحصول على إذن ACCESS_BACKGROUND_LOCATION الصريح.
اقرأ الشرح الكامل - مبتدئ
كيف تتعامل مع الاهتزازات التفاعلية اللمسية (Haptic Feedback) لتحسين تجربة المستخدم؟
باستخدام مكتبة expo-haptics لإطلاق نبضات اهتزازية دقيقة وخفيفة (Light, Medium, Heavy, Success, Error) عند النقر على الأزرار أو السحب لتأكيد الإجراء فيزيائياً.
اقرأ الشرح الكامل - متوسط
كيف تدمج ميزة مسح وقراءة الباركود ورموز الاستجابة السريعة (QR Code Scanning)؟
باستخدام مكون CameraView من expo-camera (الذي حل محل حزمة expo-barcode-scanner المحذوفة) مع خاصية onBarcodeScanned وتحديد أنواع الأكواد المستهدفة لمنع الاستهلاك العشوائي للمعالج.
اقرأ الشرح الكامل - متوسط
كيف تدير حفظ وقراءة الملفات المحلية باستخدام FileSystem ومشاركة المحتوى عبر Sharing API؟
باستخدام expo-file-system لتنزيل الملفات وتخزينها في DocumentDirectory أو CacheDirectory، واستدعاء expo-sharing لمشاركة الملفات مع التطبيقات الأخرى.
اقرأ الشرح الكامل