Analyse des Android-Quiz vom Stand hh.ru auf der Mobius 2019 in Moskau

Am 7. und 8. Dezember ist eine Konferenz für Mobilfunkentwickler Mobius 2019 in Moskau erloschen. Die Berichte werden gelesen, die Gäste werden gefüttert, die Preise verlost, und hier ist die Analyse der interessantesten Fragen der drei Quiz'ov vom Stand hh.ru.





Frage 1
Welche physikalische Größe misst der Lichtsensor eines Smartphones?


Die antwort

Suite


Erklärung

Antwortstatistik





Frage 2
Das Hauptproblem, das JMM löst


Die antwort

Was liest ein bestimmter Lesevorgang in einem Multithread-Programm?


Erklärung

Leider beantwortet der JMM die Frage "Wie schreibe ich Multithread-Programme richtig?" Nicht. Er gibt uns jedoch Auskunft darüber, wie das Speichermodell in Java aufgebaut ist, damit wir die richtigen Entscheidungen treffen können.
"Was schreibt ein bestimmter Schreibvorgang in einem Multithread-Programm?" ist nicht die richtige Antwort, da wir als Programmierer in der Regel am Ergebnis dieses Eintrags interessiert sind.
"Sein oder Nichtsein" ist ein Auszug aus dem berühmten Shakespeare-Monolog Hamlet und hat, wer hätte gedacht, nichts mit Multithread-Programmen zu tun.
Die letzte Option bleibt - "Was ein bestimmter Lesevorgang in einem Multithread-Programm liest", was die richtige Antwort ist.
Zum Thema JMM empfehlen wir Ihnen den Bericht von Alexei Shipilev "Pragmatic JMM"


Antwortstatistik





Frage 3
Das Ergebnis des nächsten Codeblocks ist ...


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


Die antwort

onNext 1 + OnErrorNotImplementedException


Erklärung

Innerhalb der Funktion create rufen wir einen try-finally-Block auf, in dem wir eine Ausnahme ("whoa") auslösen. Da es keinen catch-Block gibt, muss eine Ausnahme die Ausführung der Kette unterbrechen, und die Steuerung wird an den onError-Handler der Observer-Schnittstelle übergeben, wo Exception ("whoa") hätte sein sollen. Es gibt jedoch zwei wichtige Punkte.
Erstens: Wir haben einen finally-Block, der ausgeführt werden muss. Darin senden wir die Zeichenfolge "onNext 1" an den onNext-Handler, der diese Zeichenfolge in der Konsole mit dem Zusatz "+" anzeigt.
Und zweitens: Der onError-Handler ist in der subscribe-Funktion nicht definiert, sodass RxJava eine Ausnahme "io.reactivex.exceptions.OnErrorNotImplementedException" auslöst und diese auch an die Konsole ausgibt. Wir erhalten also die Zeichenfolge "onNext 1 + OnErrorNotImplementedException".


Antwortstatistik





Frage 4
Welche der unten aufgeführten Android-Versionen wird am wenigsten von developer.android.com verwendet?


Die antwort

Lutscher 5.0


Erklärung

Antwortstatistik





Frage 5
Welche Bibliothek hat NICHT 2 im Namen?


Die antwort

Room2


Erklärung

Die neueste Version von Room ist 2.2.2. Der Name der Bibliothek enthält jedoch keine 2.
Kamera2
ViewPager2
Nachrüsten2


Antwortstatistik





Frage 6
Welche Art wird das Ergebnis des Ausdrucks in Kotlin sein?


 mutableListOf<Any>() + mutableListOf() 


Die antwort

Liste <Beliebig>


Erklärung

Die Antwort ist nicht offensichtlich, auf den ersten Blick ist es logisch, dass das Ergebnis eine MutableList ist. Wir selbst haben erst kürzlich eine solche Funktion der Kotlin-Standardbibliothek bemerkt. Wir verstehen, warum das so ist.
In Kotlin können Sie binäre Operationen mit Auflistungen ausführen, indem Sie die Syntax a + b verwenden, die in a.plus (b) übersetzt wird . Die Plus-Methode für MutableList aus Kotlin-Quellen:


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

Das heißt, der Rückgabetyp ist List <T>, in unserem Fall List <Any>. In diesem Fall ist der Typ des zweiten mutableListOf optional, Kotlin selbst leitet den Typ gemäß dem ersten Argument der Addition ab.


Antwortstatistik





Frage 7
Welches Framework zum Testen von Android-Anwendungen auf der Benutzeroberfläche gibt es NICHT?


Die antwort

Mokko


Erklärung

Espresso ist eine Bibliothek von Google. Es wurde im Jahr 2013 veröffentlicht. Es hat eine ausführliche Syntax, Kakao hat sich freiwillig gemeldet, um dieses Problem zu lösen
Kakao bietet eine praktische Syntax zum Schreiben der Benutzeroberfläche mit Kotlin DSL und Espresso, mit der Sie das Seitenobjektmuster verwenden können .
Kaspresso ist noch einen Schritt weiter gegangen und löst die Probleme der Flash-Tests, der Protokollierung, der Verwendung von adb, der Arbeit mit Android-Betriebssystemen und der Erstellung von Screenshots. Vollständiger Testbericht für Kaspresso
Mokko - existiert nicht


Antwortstatistik





Frage 8
Was für ein Mischmodus ist PorterDuff.Mode im Bild?


Die antwort

Quelle vorbei


Erklärung

PorterDuff.Mode, benannt nach Thomas Porter und Tom Duff, der 1984 den Artikel „Compositing Digital Images“ schrieb, der 12 Operationen zum Überlagern eines Bildes auf ein anderes beinhaltete. Mit PorterDuff.Mode können Sie nur die Ergebnisse dieser 12 Vorgänge abrufen.


Antwortstatistik





Frage 9
Wie sieht der Standard-DatePickerDialog unter Android 10 aus?


Die antwort

2


Erklärung

1 von Android 4.4
2 von Android 6.0 und höher
3 von Android 5.0
4 - ein Lieblingsmöbelstück in russischen Büros und ein Neujahrstraumgeschenk - Wandkalender


Antwortstatistik





Frage 10
Das erste Google Android-Smartphone, das in Zusammenarbeit mit Telefonherstellern herausgebracht wurde


Die antwort

Nexus eins


Erklärung

Google Nexus ist eine Reihe von Smartphones von Google und Herstellungspartnern.
Nexus G1 gibt es nicht, aber es könnte mit dem ersten Android-Smartphone T-Mobile G1 oder HTC Dream verwechselt werden.
Nexus One produzierte auch HTC. Auf dem Smartphone wurde Android 2.1 ausgeführt.
Das Galaxy Nexus ist das dritte Smartphone der Nexus- Serie, das Google und Samsung gemeinsam entwickelt haben.
Nexus 11 Pro gibt es nicht.


Antwortstatistik





Frage 11
Wie wird laut Dokumentation die Abkürzung wtf im Android-Logging-System (Log.wtf ()) entschlüsselt?


Die antwort

Was für ein schrecklicher Misserfolg!


Erklärung

Dokumentation log.wtf
Wrestling Takedown Federation - Die 10. Folge der 13. Staffel der Serie "South Park".
Wtf ist auch eine Abkürzung für Internet-Slang, dessen Dekodierung den habr-Regeln widerspricht, aber Sie wissen bereits alles perfekt.


Antwortstatistik





Frage 12
Was ist die neueste Version von Appcompat?


Die antwort

1.1.0


Erklärung

Mit der Veröffentlichung von AndroidX teilte Google Support-Bibliotheken und fügte ein neues Androidx-Paket hinzu, wobei eine neue Anzahl von 1 angegeben wurde. Dies bedeutet, dass die neueste Version von Appcompat jetzt in androidx.appcompat: appcompat enthalten ist und die neueste Version 1.1.0 aufweist.
Im Paket com.android.support:appcompat-v7 wurde die Bibliothek nur auf Version 28.0.0 aktualisiert. Die Versionen 29.0.0 RC und 29.0.0 wurden jedoch nie veröffentlicht.


Antwortstatistik





Frage 13
So heißt das Android-Logo vom Google Android-Team.


Die antwort

Bugdroid



Antwortstatistik





Frage 14
Welcher Abschnitt ist nicht in der Bewerbung für Arbeitsuchende enthalten?


Die antwort

Automatische Suche


Erklärung

Ende 2018 wurde eine umfassende Neugestaltung der Anwendung vorgenommen. Die automatische Suche wurde in Suchabo umbenannt. Das heißt, im Moment gibt es keinen Abschnitt mit dem Namen "automatische Suche".


Antwortstatistik





Frage 15
Das Android-Symbol ist ein grüner Roboter. Der Autor des Logos ist Irina Block. Was hat sie inspiriert?


Die antwort

Bild eines Mannes auf einer Toilettentür


Erklärung

"Am Ende ließ sie sich von einer ausgesprochen menschlichen Quelle inspirieren: den Piktogrammen des universellen Mannes und der universellen Frau, die oft an den Türen der Toilette auftauchen." The New York Times


Antwortstatistik



Die Quizanalyse wurde von unserem Entwickler Georgy Ryabykh georgyR durchgeführt

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


All Articles