أسئلة مقابلات UI & Layouts في Android Native
6 سؤال عن UI & Layouts من مسار Android Native. اقرأ الإجابة المختصرة لكل سؤال هنا، وافتح السؤال للشرح الكامل والأمثلة والأخطاء الشائعة والمصادر.
- مبتدئ
ما هي المراحل الثلاث الأساسية لرسم أي View على الشاشة في أندرويد؟
تمر بثلاث مراحل متتالية: القياس (Measure) ثم التموضع (Layout) ثم الرسم (Draw).
اقرأ الشرح الكامل - مبتدئ
ما الفرق بين ViewBinding و DataBinding في تطوير أندرويد؟
ViewBinding يوفر وصولاً سريعًا وآمنًا للأنواع (Type-safe) لعناصر الـ XML بدون كلفة ترجمة ثقيلة، بينما DataBinding يدعم ربط البيانات ثنائي الاتجاه داخل ملف الـ XML نفسه.
اقرأ الشرح الكامل - مبتدئ
كيف يعمل نمط ViewHolder داخل الـ RecyclerView ولماذا يعتبر فعالاً؟
يعيد تدوير الـ Views التي تخرج عن نطاق الشاشة لعرض عناصر جديدة بدل إنشائها من الصفر، مما يمنع استدعاءات findViewById المتكررة.
اقرأ الشرح الكامل - متوسط
ما فائدة DiffUtil و ListAdapter مقارنة باستدعاء notifyDataSetChanged()؟
يحسب DiffUtil الفروقات بين قائمتين في خلفية غير متزامنة ويطبق تحريكات دقيقة وموضعية للعناصر المتغيرة فقط بدلاً من إعادة رسم القائمة بأكملها.
اقرأ الشرح الكامل - متوسط
كيف يساهم ConstraintLayout في تحسين أداء واجهة المستخدم مقارنة بـ LinearLayouts المتداخلة؟
يتيح بناء واجهات مستخدم معقدة بتسلسل هرمي مسطح (Flat Hierarchy) دون تداخل الحاويات، مما يقلل كلفة Measure و Layout المزدوجة.
اقرأ الشرح الكامل - متقدم
كيف تدير أحداث اللمس المتعدد والاعتراض (Touch Interception) في Custom ViewGroup؟
تتحكم في مسار اللمس عبر dispatchTouchEvent، وتقرر الحاوية اعتراضا عبر onInterceptTouchEvent، بينما تتعامل الـ View مع اللمس الفعلي في onTouchEvent.
اقرأ الشرح الكامل