أسئلة مقابلات Android Fundamentals في Android Native
10 سؤال عن Android Fundamentals من مسار Android Native. اقرأ الإجابة المختصرة لكل سؤال هنا، وافتح السؤال للشرح الكامل والأمثلة والأخطاء الشائعة والمصادر.
- مبتدئ
ما هي المراحل الأساسية لدورة حياة الـ Activity في أندرويد وكيف تنتقل بينها؟
تمر بست مراحل رئيسية: onCreate و onStart و onResume و onPause و onStop و onDestroy، وتكون مرئية وتفاعلية في onResume.
اقرأ الشرح الكامل - مبتدئ
ما الفرق بين دورة حياة الـ Fragment ودورة حياة الـ Activity ولماذا نستخدم viewLifecycleOwner؟
يمتلك الـ Fragment دورتي حياة: واحدة للـ Fragment نفسه وأخرى لواجهته (View)، ويجب استخدام viewLifecycleOwner لمراقبة البيانات لتفادي تسريب الذاكرة.
اقرأ الشرح الكامل - مبتدئ
ما الفرق بين Application Context و Activity Context ومتى تستخدم كلاً منهما؟
Activity Context مرتبط بدورة حياة الشاشة والثيمات وواجهات المستخدم، بينما Application Context يعيش طوال فترة تشغيل التطبيق وتستخدمه للعمليات العامة والـ Singletons.
اقرأ الشرح الكامل - مبتدئ
ما الفرق بين الـ Explicit Intent والـ Implicit Intent في أندرويد؟
الـ Explicit يحدد المكون المستهدف بالاسم الصريح داخل التطبيق، بينما الـ Implicit يعلن عن الإجراء المطلوب (Action) ليقوم النظام باختيار التطبيق المناسب.
اقرأ الشرح الكامل - متوسط
ما هي أنماط الإطلاق (Launch Modes) للـ Activity وما تأثيرها على الـ Backstack؟
تحدد كيفية فتح الـ Activity في المهام: standard (نسخة جديدة دائمًا)، singleTop (إعادة استخدام القمة)، singleTask (نسخة واحدة في المهمة)، و singleInstance (مهمة معزولة).
اقرأ الشرح الكامل - متوسط
ماذا يحدث عند حدوث Configuration Change (كدوران الشاشة) وكيف نحافظ على البيانات؟
يقوم النظام بإعادة إنشاء الـ Activity بالكامل؛ ونحافظ على البيانات غير العابرة عبر ViewModel والحالة الخفيفة الأساسية (كالمعرفات ونصوص الإدخال) عبر SavedStateHandle أو onSaveInstanceState لتنجو من موت العملية.
اقرأ الشرح الكامل - متوسط
ما هو دور الـ ContentProvider في معمارية أندرويد ومتى تحتاجه؟
هو مكوّن مركزي لإدارة ومشاركة البيانات المهيكلة بين التطبيقات المختلفة بأمان عبر واجهة تعتمد على مسارات الـ Uri.
اقرأ الشرح الكامل - متوسط
ما الفرق بين BroadcastReceiver المسجل استاتيكيًا والمسجل ديناميكيًا؟
المسجل استاتيكيًا يُعرّف في Manifest ويستيقظ التطبيق لاستقباله، بينما الديناميكي يُسجل برمجيًا في الكود ويعيش مع دورة حياة المكون المسجل له.
اقرأ الشرح الكامل - متقدم
ما الفرق بين موت العملية الكامل (Process Death) وإغلاق الـ Activity بواسطة المستخدم؟
إغلاق المستخدم ينهي الـ Activity ويمسح كائناتها وحالتها بإرادته، بينما موت العملية يحدث قسرًا بواسطة النظام لتفريغ الذاكرة مع حفظ الـ SavedState لاستعادتها لاحقًا.
اقرأ الشرح الكامل - متقدم
كيف تطبق نموذج الصلاحيات الديناميكية (Runtime Permissions) في أندرويد الحديث؟
تطلب الصلاحيات الخطرة (Dangerous Permissions) وقت الحاجة إليها فقط أثناء تشغيل التطبيق مع تقديم تبرير منطقي (Rationale) والتعامل مع الرفض الدائم.
اقرأ الشرح الكامل