Pada 7-8 Desember, sebuah konferensi untuk pengembang ponsel Mobius 2019 Moscow mereda. Laporan dibaca, para tamu diberi makan, hadiah diundi, dan di sini adalah analisis pertanyaan paling menarik dari tiga quiz'ov dari stand hh.ru.

Pertanyaan 1
Berapa kuantitas fisik yang diukur oleh sensor cahaya pada smartphone?

Pertanyaan 2
Masalah utama yang dipecahkan JMM

JawabannyaApa yang dibaca baca tertentu dalam program multi-utas?
PenjelasanSayangnya, JMM tidak menjawab pertanyaan "Bagaimana cara menulis program multithreaded dengan benar," tetapi itu memberi kita informasi tentang bagaimana model memori di Jawa dirancang sehingga kita dapat membuat keputusan yang tepat.
"Apa yang akan ditulis oleh penulis tertentu dalam program multithreaded?" bukan jawaban yang benar, karena, sebagai programmer, kami biasanya tertarik pada hasil entri ini.
"Menjadi atau tidak menjadi" adalah kutipan dari Hamlet monolog Shakespeare yang terkenal dan, yang akan berpikir, tidak ada hubungannya dengan program multithreaded.
Opsi terakhir tetap - "Apa yang dibaca oleh pembaca tertentu dalam program multithreaded", yang merupakan jawaban yang benar.
Pada topik JMM, kami menyarankan Anda melihat laporan oleh Alexei Shipilev "Pragmatic JMM"
Pertanyaan 3
Hasil dari blok kode selanjutnya adalah ...
Observable.create<Int> { emitter -> try { throw Exception("whoa") } finally { emitter.onNext(1) } }.subscribe { print("onNext $it + ") }

JawabannyaonNext 1 + OnErrorNotImplementedException
PenjelasanDi dalam fungsi create, kita memanggil blok try-akhirnya di mana kita melempar pengecualian Exception ("whoa"). Karena tidak ada blok tangkap, pengecualian harus mengganggu pelaksanaan rantai, dan kontrol dilewatkan ke pengendali onError antarmuka Observer, di mana Exception ("whoa") seharusnya didapat. Tetapi ada dua poin penting.
Pertama: kita memiliki blok akhirnya yang harus dieksekusi. Di dalamnya, kami mengirim string "onNext 1" ke penangan onNext, yang menampilkan string ini di konsol dengan penambahan karakter "+".
Dan yang kedua: penangan onError tidak didefinisikan dalam fungsi berlangganan, jadi RxJava melempar pengecualian "io.reactivex.exceptions.OnErrorNotImplementedException", dan juga output ke konsol. Jadi kita mendapatkan string "onNext 1 + OnErrorNotImplementedException".
Pertanyaan 4
Versi android apa yang tercantum di bawah ini yang paling sedikit digunakan oleh developer.android.com?

Pertanyaan 5
Perpustakaan mana yang TIDAK benar-benar memiliki 2 nama?

Pertanyaan 6
Apa jenis hasil ekspresi di Kotlin?
mutableListOf<Any>() + mutableListOf()

PenjelasanJawabannya tidak jelas, sekilas logis bahwa hasilnya adalah MutableList. Kami sendiri baru-baru ini memperhatikan fitur perpustakaan standar Kotlin. Kami mengerti mengapa demikian.
Di Kotlin, Anda dapat melakukan operasi biner pada koleksi menggunakan sintaks a + b, yang diterjemahkan menjadi a.plus (b) . Metode plus untuk MutableList dari sumber Kotlin:
public operator fun <T> Collection<T>.plus(elements: Array<out T>): List<T> { .. }
Yaitu, tipe pengembaliannya adalah Daftar <T>, dalam Daftar Kasus kami <Any>. Dalam hal ini, jenis mutableListOf kedua adalah opsional, Kotlin sendiri akan menyimpulkan jenis sesuai dengan argumen tambahan pertama.
Pertanyaan 7
Kerangka apa untuk UI yang menguji aplikasi Android TIDAK ada?

PenjelasanEspresso adalah perpustakaan dari Google. Itu dirilis kembali pada tahun 2013. Memiliki sintaksis verba, Kakao mengajukan diri untuk memecahkan masalah ini
Kakao menyediakan sintaks yang nyaman untuk menulis UI menggunakan Kotlin DSL dan Espresso, memungkinkan Anda untuk menggunakan pola Obyek Halaman .
Kaspresso melangkah lebih jauh dan menyelesaikan masalah tes flashing, logging, menggunakan adb, bekerja dengan OS Android, membuat screenshot. Artikel ulasan lengkap untuk Kaspresso
Mokko - tidak ada
Pertanyaan 8
Mode blending seperti apa yang ditunjukkan oleh PorterDuff.Mode pada gambar?


PenjelasanPorterDuff.Mode dinamai Thomas Porter dan Tom Duff, yang menulis artikel "Compositing Digital Images" pada tahun 1984, yang mencakup 12 operasi penumpukan satu gambar ke yang lain. PorterDuff.Mode hanya memungkinkan Anda untuk mendapatkan hasil dari 12 operasi ini.

Pertanyaan 9
Seperti apa tampilan DatePickerDialog standar pada Android 10?

Penjelasan1 dari Android 4.4
2 dari Android 6.0 ke atas
3 dari Android 5.0
4 - perabot favorit di kantor Rusia dan hadiah impian Tahun Baru - kalender dinding
Pertanyaan 10
Ponsel pintar Google Android pertama yang dirilis bekerja sama dengan produsen ponsel

PenjelasanGoogle Nexus adalah serangkaian smartphone dari Google dan mitra manufaktur.
Nexus G1 tidak ada, tetapi bisa dikacaukan dengan smartphone Android pertama T-Mobile G1 atau HTC Dream .
Nexus One juga memproduksi HTC. Smartphone menjalankan Android 2.1.
Galaxy Nexus adalah smartphone seri Nexus ketiga yang dikembangkan bersama oleh Google dan Samsung.
Nexus 11 pro tidak ada.
Pertanyaan 11
Bagaimana menurut dokumentasi singkatan wtf didekripsi dalam sistem logging Android (Log.wtf ())?

JawabannyaKegagalan yang mengerikan!
PenjelasanDokumentasi log.wtf
Wrestling Takedown Federation - Episode ke-10 dari musim ke-13 dari seri "South Park".
Wtf juga merupakan singkatan dalam bahasa gaul Internet, yang decoding yang bertentangan dengan aturan habr, tetapi Anda sudah tahu segalanya dengan sempurna.
Pertanyaan 12
Apa versi terbaru dari Appcompat?

PenjelasanDengan rilis AndroidX, Google berbagi perpustakaan dukungan dan menambahkan paket androidx baru, memulai hitungan baru dari 1. Ini berarti bahwa versi terbaru dari Appcompat sekarang terletak di androidx.appcompat: appcompat dan memiliki versi terbaru 1.1.0.
Dalam paket com.android.support:appcompat-v7 , perpustakaan diperbarui hanya ke versi 28.0.0. Tetapi versi 29.0.0 RC dan 29.0.0 tidak pernah keluar.
Pertanyaan 13
Itulah yang disebut logo Android oleh Google Android Team.

Pertanyaan 14
Bagian apa yang tidak ada dalam aplikasi jam kerja bagi pencari kerja?

PenjelasanPada akhir 2018, desain ulang besar aplikasi dibuat. Dan "pencarian otomatis" telah diubah namanya menjadi "pencarian berlangganan". Artinya, saat ini tidak ada bagian dengan nama "pencarian otomatis".

Pertanyaan 15
Simbol Android adalah robot hijau. Penulis logo dianggap sebagai Blok Irina. Apa yang menginspirasinya?

JawabannyaGambar seorang pria di pintu toilet
Penjelasan"Pada akhirnya, dia mengambil inspirasi dari sumber manusia yang jelas: pictograms dari pria dan wanita universal yang sering muncul di pintu toilet." The New York Times
Analisis kuis dilakukan oleh pengembang kami Georgy Ryabykh georgyR