في 7-8 ديسمبر ، اختتم مؤتمر لمطوري الهواتف المحمولة Mobius 2019 Moscow. تتم قراءة التقارير ، ويتم تغذية الضيوف ، وتناقص الجوائز ، وهنا تحليل الأسئلة الأكثر إثارة للاهتمام من مسابقة الثلاثة من الموقف hh.ru.

السؤال 1
ما هي الكمية المادية التي يقيسها مستشعر الضوء في الهاتف الذكي؟

السؤال 2
القضية الرئيسية التي يحلها JMM

الجوابماذا ستقرأ قراءة معينة في برنامج متعدد الخيوط؟
توضيحلسوء الحظ ، فإن JMM لا يجيب على السؤال "كيفية كتابة برامج ذات مؤشرات ترابط متعددة بشكل صحيح" ، لكنه يقدم لنا معلومات حول كيفية تصميم نموذج الذاكرة في Java حتى نتمكن من اتخاذ القرارات الصحيحة.
"ما الذي سيكتبه كتاب معين في برنامج متعدد مؤشرات الترابط؟" ليست هي الإجابة الصحيحة ، لأننا ، كمبرمجين ، نهتم عادة بنتيجة هذا الإدخال.
"أن تكون أو لا تكون" مقتطف من هاملت الشهير المونولوجي لشكسبير ، والذي كان يعتقد أنه ليس له علاقة ببرامج متعددة مؤشرات الترابط.
يبقى الخيار الأخير - "ما ستقرأه قراءة معينة في برنامج متعدد مؤشرات الترابط" ، وهو الجواب الصحيح.
حول موضوع JMM ، نوصي بمشاهدة تقرير Alexei Shipilev "Pragmatic JMM"
السؤال 3
ستكون نتيجة الكود التالي من الكود ...
Observable.create<Int> { emitter -> try { throw Exception("whoa") } finally { emitter.onNext(1) } }.subscribe { print("onNext $it + ") }

الجوابonNext 1 + OnErrorNotImplementedException
توضيحداخل وظيفة الإنشاء ، ندعو كتلة المحاولة التي نلقي فيها استثناء ("قف"). نظرًا لعدم وجود كتلة catch ، يجب أن يوقف الاستثناء تنفيذ السلسلة ، ويتم تمرير التحكم إلى معالج onError لواجهة Observer ، حيث يجب أن يكون Exception ("whoa") قد حصل. ولكن هناك نقطتان مهمتان.
أولاً: لدينا أخيرًا كتلة يجب تنفيذها. فيه ، نرسل السلسلة "onNext 1" إلى معالج onNext ، الذي يعرض هذه السلسلة في وحدة التحكم مع إضافة الحرف "+".
والثاني: لم يتم تعريف معالج onError في وظيفة الاشتراك ، لذلك يطرح RxJava استثناء "io.reactivex.exceptions.OnErrorNotImplementedException" ، كما أنه يتم إخراجه إلى وحدة التحكم. حتى نحصل على السلسلة "onNext 1 + OnErrorNotImplementedException".
السؤال 4
ما هو إصدار android المدرجة أدناه الأقل استخدامًا من قِبل developer.android.com؟

السؤال 5
ما هي المكتبة التي ليس لديها بالفعل اسمان؟

السؤال 6
ما النوع الذي ستكون عليه نتيجة التعبير في Kotlin؟
mutableListOf<Any>() + mutableListOf()

توضيحالجواب غير واضح ، للوهلة الأولى من المنطقي أن تكون النتيجة قائمة MutableList. لقد لاحظنا أنفسنا مؤخرًا هذه الميزة في مكتبة Kotlin القياسية. نحن نفهم لماذا هذا هو الحال.
في Kotlin ، يمكنك إجراء عمليات ثنائية على المجموعات باستخدام بناء الجملة a + b ، والذي يترجم إلى a.plus (b) . طريقة الجمع ل MutableList من مصادر Kotlin:
public operator fun <T> Collection<T>.plus(elements: Array<out T>): List<T> { .. }
وهذا هو ، نوع الإرجاع هو قائمة <T> ، في حالتنا قائمة <Any>. في هذه الحالة ، يكون نوع mutableListOf الثاني اختياريًا ؛ وسوف يستنتج Kotlin نفسه النوع بواسطة الوسيطة الأولى للإضافة.
السؤال 7
ما هو الإطار لاختبار واجهة المستخدم لتطبيقات Android غير موجود؟

توضيحإسبرسو هي مكتبة من جوجل. تم إصداره مرة أخرى في عام 2013. تطوع Kakao في بناء جملة مطوّلة ، لحل هذه المشكلة
يوفر Kakao بناء جملة مناسب لكتابة واجهة المستخدم باستخدام Kotlin DSL و Espresso ، ويسمح لك باستخدام نمط كائن الصفحة .
لقد ذهب Kaspresso إلى أبعد من ذلك وحل مشكلات الاختبارات الوامضة وتسجيل الدخول واستخدام adb والعمل مع نظام التشغيل Android وخلق لقطات شاشة. مقالة مراجعة كاملة لكاسبرسو
Mokko - غير موجود
السؤال 8
أي نوع من وضع المزج هو PorterDuff.Mode هو مبين في الصورة؟


السؤال 9
كيف يبدو DatePickerDialog القياسي على نظام Android 10؟

توضيح1 من نظام أندرويد 4.4
2 من أندرويد 6.0 وما فوق
3 من أندرويد 5.0
4 - قطعة أثاث مفضلة في المكاتب الروسية وهدية أحلام رأس السنة - تقويم حائط
السؤال 10
أول هاتف ذكي يعمل بنظام Google Android تم إصداره بالتعاون مع شركات تصنيع الهواتف

توضيحGoogle Nexus عبارة عن سلسلة من الهواتف الذكية من Google وشركاء التصنيع.
Nexus G1 غير موجود ، لكن يمكن الخلط بينه وبين أول هاتف ذكي يعمل بنظام Android T-Mobile G1 أو HTC Dream .
أنتجت نيكزس واحد أيضا HTC. كان الهاتف الذكي يعمل بنظام أندرويد 2.1.
يعد Galaxy Nexus هو الهاتف الذكي الثالث من سلسلة Nexus الذي تم تطويره بشكل مشترك بين Google و Samsung.
Nexus 11 pro غير موجود.
السؤال 11
كيف وفقًا للوثائق ، يتم فك ترميز اختصار wtf في نظام تسجيل Android (Log.wtf ())؟

توضيحlog.wtf الوثائق
اتحاد مصارعة الإزالة - الحلقة العاشرة من الموسم الثالث عشر من مسلسل "ساوث بارك".
Wtf هو أيضًا اختصار في اللغة العامية للإنترنت ، حيث يتعارض فك التشفير مع قواعد habr ، لكنك تعرف بالفعل كل شيء تمامًا.
السؤال 12
ما هو أحدث إصدار من Appcompat؟

السؤال 13
هذا ما يطلق عليه شعار Android بواسطة فريق Google Android.

السؤال 14
ما القسم غير موجود في تطبيق سمو للباحثين عن عمل؟

توضيحفي نهاية عام 2018 ، تم إجراء إعادة تصميم كبيرة للتطبيق. وتم تغيير اسم "البحث التلقائي" إلى "اشتراك البحث". هذا هو ، في الوقت الحالي لا يوجد قسم باسم "البحث التلقائي".

السؤال 15
رمز أندرويد هو روبوت أخضر. يعتبر مؤلف الشعار هو Irina Block. ما الذي ألهمها؟

توضيح"في النهاية ، استلهمت مصدرًا بشريًا واضحًا: الصور التوضيحية للرجل والمرأة العالميين التي تظهر غالبًا على أبواب الحمام." نيويورك تايمز
تم إجراء اختبار المسابقة من قبل مطورنا Georgy Ryabykh georgyR