Analyse du quiz Android du stand hh.ru au Mobius 2019 Moscou

Les 7 et 8 décembre, une conférence pour les développeurs mobiles Mobius 2019 Moscou s'est éteinte. Les rapports sont lus, les invités sont nourris, les prix sont tirés au sort, et voici l'analyse des questions les plus intéressantes des trois quiz'ov du stand hh.ru.





Question 1
Quelle quantité physique le capteur de lumière d'un smartphone mesure-t-il?


La réponse

Suite


Explication

Statistiques de réponse





Question 2
Le principal problème que JMM résout


La réponse

Que lira une lecture particulière dans un programme multithread?


Explication

Malheureusement, le JMM ne répond pas à la question "Comment écrire correctement des programmes multithreads", mais il nous donne des informations sur la façon dont le modèle de mémoire en Java est conçu afin que nous puissions prendre les bonnes décisions.
"Qu'est-ce qu'une écriture particulière écrit dans un programme multithread?" n'est pas la bonne réponse, car, en tant que programmeurs, nous sommes généralement intéressés par le résultat de cette entrée.
"Etre ou ne pas être" est un extrait du célèbre monologue shakespearien Hamlet et, qui aurait pensé, n'a rien à voir avec des programmes multithread.
La dernière option reste - "Ce qu'une lecture particulière lira dans un programme multithread", ce qui est la bonne réponse.
Au sujet de JMM, nous vous recommandons de voir le rapport d'Alexei Shipilev "Pragmatic JMM"


Statistiques de réponse





Question 3
Le résultat du prochain bloc de code sera ...


Observable.create<Int> { emitter -> try { throw Exception("whoa") } finally { emitter.onNext(1) } }.subscribe { print("onNext $it + ") } 


La réponse

onNext 1 + OnErrorNotImplementedException


Explication

À l'intérieur de la fonction de création, nous appelons un bloc try-finally dans lequel nous lançons une exception Exception ("whoa"). Puisqu'il n'y a pas de bloc catch, une exception doit interrompre l'exécution de la chaîne et le contrôle est passé au gestionnaire onError de l'interface Observer, où Exception ("whoa") aurait dû avoir. Mais il y a deux points importants.
Premièrement: nous avons un bloc enfin qui doit être exécuté. Dans ce document, nous envoyons la chaîne «onNext 1» au gestionnaire onNext, qui affiche cette chaîne dans la console avec l'ajout du caractère «+».
Et le second: le gestionnaire onError n'est pas défini dans la fonction d'abonnement, donc RxJava lève une exception "io.reactivex.exceptions.OnErrorNotImplementedException", et il est également sorti sur la console. Nous obtenons donc la chaîne «onNext 1 + OnErrorNotImplementedException».


Statistiques de réponse





Question 4
Quelle version d'Android répertoriée ci-dessous est la moins utilisée par developer.android.com?


La réponse

Lollipop 5.0


Explication

Statistiques de réponse





Question 5
Quelle bibliothèque n'a PAS réellement 2 dans le nom?


La réponse

Chambre2


Explication

La dernière version de Room est la 2.2.2. Mais il n'y en a pas 2 au nom de la bibliothèque.
Camera2
ViewPager2
Retrofit2


Statistiques de réponse





Question 6
De quel type sera le résultat de l'expression dans Kotlin?


 mutableListOf<Any>() + mutableListOf() 


La réponse

Liste <Any>


Explication

La réponse n'est pas évidente, à première vue, il est logique que le résultat soit une MutableList. Nous avons nous-mêmes récemment remarqué une telle fonctionnalité de la bibliothèque standard de Kotlin. Nous comprenons pourquoi il en est ainsi.
Dans Kotlin, vous pouvez effectuer des opérations binaires sur des collections en utilisant la syntaxe a + b, qui se traduit par a.plus (b) . La méthode plus pour MutableList à partir de sources Kotlin:


 public operator fun <T> Collection<T>.plus(elements: Array<out T>): List<T> { .. } 

Autrement dit, le type de retour est List <T>, dans notre cas List <Any>. Dans ce cas, le type du second mutableListOf est facultatif; Kotlin lui-même déduira le type en fonction du premier argument d'addition.


Statistiques de réponse





Question 7
Quel cadre pour tester l'interface utilisateur des applications Android n'existe PAS?


La réponse

Mokko


Explication

Espresso est une bibliothèque de Google. Il a été publié en 2013. Il a une syntaxe verbeuse, Kakao s'est porté volontaire pour résoudre ce problème
Kakao fournit une syntaxe pratique pour écrire l'interface utilisateur à l'aide de Kotlin DSL et Espresso, vous permet d'utiliser le modèle d' objet de page .
Kaspresso est allé encore plus loin et résout les problèmes de tests de clignotement, de journalisation, d'utilisation d'Adb, de travail avec Android OS, de création de captures d'écran. Article complet pour Kaspresso
Mokko - n'existe pas


Statistiques de réponse





Question 8
Quel type de mode de fusion est PorterDuff.Mode montré dans l'image?


La réponse

Source sur


Explication

PorterDuff.Mode porte le nom de Thomas Porter et Tom Duff, qui ont écrit l' article «Compositing Digital Images» en 1984, qui comprenait 12 opérations de superposition d'une image sur une autre. PorterDuff.Mode vous permet simplement d'obtenir les résultats de ces 12 opérations.


Statistiques de réponse





Question 9
À quoi ressemble le DatePickerDialog standard sur Android 10?


La réponse

2


Explication

1 à partir d'Android 4.4
2 à partir d'Android 6.0 et supérieur
3 d'Android 5.0
4 - Un meuble préféré dans les bureaux russes et un cadeau de rêve du Nouvel An - Calendrier mural


Statistiques de réponse





Question 10
Le premier smartphone Google Android lancé en collaboration avec les fabricants de téléphones


La réponse

Nexus one


Explication

Google Nexus est une série de smartphones de Google et de partenaires de fabrication.
Le Nexus G1 n'existe pas, mais il pourrait être confondu avec le premier smartphone Android T-Mobile G1 ou HTC Dream .
Nexus One a également produit HTC. Le smartphone fonctionnait sous Android 2.1.
Le Galaxy Nexus est le troisième smartphone de la série Nexus développé conjointement par Google et Samsung.
Le Nexus 11 pro n'existe pas.


Statistiques de réponse





Question 11
Comment, selon la documentation, l'abréviation wtf est déchiffrée dans le système de journalisation Android (Log.wtf ())?


La réponse

Quel terrible échec!


Explication

Documentation log.wtf
Wrestling Takedown Federation - Le 10e épisode de la 13e saison de la série "South Park".
Wtf est aussi une abréviation d'argot Internet, dont le décodage est contraire aux règles habr, mais vous savez déjà tout parfaitement.


Statistiques de réponse





Question 12
Quelle est la dernière version d'Appcompat?


La réponse

1.1.0


Explication

Avec la sortie d' AndroidX, Google a partagé les bibliothèques de support et ajouté un nouveau package androidx, en commençant un nouveau compte à partir de 1. Cela signifie que la dernière version d'Appcompat se trouve désormais dans androidx.appcompat: appcompat et possède la dernière version 1.1.0.
Dans le package com.android.support:appcompat-v7 , la bibliothèque a été mise à jour uniquement vers la version 28.0.0. Mais les versions 29.0.0 RC et 29.0.0 ne sont jamais sorties.


Statistiques de réponse





Question 13
C'est ainsi que le logo Android est appelé par l'équipe Google Android.


La réponse

Bugdroid



Statistiques de réponse





Question 14
Quelle section ne figure pas dans la demande hh pour les demandeurs d'emploi?


La réponse

Recherche automatique


Explication

Fin 2018, une refonte importante de l'application a été effectuée. Et «recherche automatique» a été renommé «abonnement de recherche». C'est-à-dire qu'à l'heure actuelle il n'y a pas de section avec le nom "recherche automatique".


Statistiques de réponse





Question 15
Le symbole Android est un robot vert. L'auteur du logo est considéré comme Irina Block. Qu'est-ce qui l'a inspirée?


La réponse

Image de l'homme à la porte des toilettes


Explication

"Au final, elle s'est inspirée d'une source distinctement humaine: les pictogrammes de l'homme et de la femme universels qui apparaissent souvent sur les portes des toilettes." The New York Times


Statistiques de réponse



L'analyse du quiz a été réalisée par notre développeur Georgy Ryabykh georgyR

Source: https://habr.com/ru/post/fr480950/


All Articles