Analisis kontes kuis Android kedua dari stand HeadHunter di Mobius 2018 Moscow

Di luar jendela ada musim semi yang lembab dan basah, tetapi pada musim gugur Mobius di stand HeadHunter terasa sangat panas. Kami menerbitkan bagian pertama dari kuis , hari ini kami menerbitkan yang kedua, sehingga Anda dapat meregangkan otak Anda sebelum konferensi mendatang.
Ayo pergi!



Ayo pergi!



Pertanyaan 1

Jawabannya
 

Penjelasan
Secara umum, Android pada awalnya dikembangkan oleh Android Inc. Pencipta berencana bahwa itu akan digunakan untuk membuat "kamera pintar". Pada 2005, Google membeli Android Inc dan mengubah vektor aplikasi platform ke perangkat seluler.

"Tepatnya platform dan sistem operasi yang sama yang kami buat untuk kamera - menjadi Android untuk ponsel," kata salah satu pendiri Android Andy Rubin.

Statistik Respon




Pertanyaan 2

Jawabannya
 Android Debug Bridge 

Penjelasan
ADB (Android Debug Bridge) adalah alat baris perintah yang mengeksekusi perintah pada perangkat Android. Ini adalah program klien-server yang terdiri dari tiga komponen:

- klien yang memungkinkan Anda mengirim perintah;
- daemon yang menjalankan perintah pada perangkat;
- Server yang mengelola komunikasi antara klien dan daemon.

Statistik Respon




Pertanyaan 3

Jawabannya
 Android Package 

Penjelasan
APK (Paket Android) adalah format file yang dapat dieksekusi arsip untuk Android. Dikemas dengan aapt (Alat Pengemasan Aset Android). Secara kondisional, pekerjaan utilitas ini dapat dibagi menjadi dua tahap:
- Kompilasi. Pada tahap ini, sumber daya sedang dipersiapkan: kelas R dihasilkan, sumber daya XML diterjemahkan ke dalam format biner, pemrosesan PNG, dll.
- Pengemasan (menghubungkan). Semua file perantara yang dibuat pada tahap kompilasi dikemas dalam APK.

Proses membangun aplikasi Android diuraikan dalam dokumentasi .

Statistik Respon




Pertanyaan 4


Jawabannya
 Agera 

Penjelasan
Agera adalah kerangka pemrograman reaktif untuk Android. Tidak termasuk dalam JetPack.

Jetpack - satu set perpustakaan yang menyederhanakan pengembangan aplikasi baru untuk Android.

Irisan - Templat UI untuk disematkan dalam aplikasi lain.

Android KTX adalah seperangkat fitur ekstensi Kotlin yang menyederhanakan pengembangan Android.

Pengikatan data adalah teknologi yang dengannya kita dapat secara otomatis mengikat data secara langsung dalam kode XML.



Statistik Respon




Pertanyaan 5


Jawabannya
 val hh = 1. 

Penjelasan
Pertanyaannya ada di cakrawala bahasa pemrograman.
Opsi `hh = 1` dapat ditemukan dalam Python,` def hh = 1` - di Groovy, dan opsi terakhir - di Java, di mana kita harus menentukan tipe data.

Statistik Respon




Pertanyaan 6


Jawabannya
 Remote 

Penjelasan
Normal - kategori ini mencakup izin yang tidak memerlukan akses ke data pengguna rahasia atau tidak memengaruhi pengoperasian aplikasi lain. Sistem secara otomatis memberikan izin ini ke aplikasi selama instalasi dan pengguna tidak dapat mencabutnya.

Tanda Tangan - secara otomatis disediakan untuk aplikasi oleh sistem selama instalasi, serta izin normal. Namun, perbedaannya adalah bahwa tidak setiap aplikasi bisa mendapatkan izin ini. Untuk melakukan ini, itu harus ditandatangani dengan sertifikat yang sama dengan aplikasi yang mengumumkan izin ini.

Berbahaya - kategori ini mencakup izin yang memerlukan akses ke data pengguna rahasia atau dapat memengaruhi pengoperasian aplikasi lain.

Khusus adalah SYSTEM_ALERT_WINDOW dan WRITE_SETTINGS.

Dokumentasi

Statistik Respon




Pertanyaan 7


Jawabannya
 Principle Of Least Astonishment 

Penjelasan
Oh, kelima surat itu.

Prinsip Tanggung Jawab Tunggal - sebuah kelas harus melakukan satu hal.
Prinsip Tertutup - entitas perangkat lunak harus terbuka untuk ekspansi, tetapi tertutup untuk perubahan.
Prinsip Substitusi L iskov (Prinsip substitusi Barbara Liskov) - perilaku kelas pewaris tidak boleh bertentangan dengan perilaku yang ditentukan oleh kelas induk.
I nterface Prinsip Segregasi - entitas perangkat lunak tidak boleh bergantung pada metode yang tidak mereka gunakan
Prinsip Pembalikan Ketergantungan - Abstraksi tidak harus bergantung pada perincian. Rinciannya harus bergantung pada abstraksi.

Tetapi "Prinsip Terkecil Ketertinggalan" tidak termasuk dalam SOLID . Aturan ini menyatakan bahwa jika tujuan suatu elemen tidak jelas, maka perilakunya harus diharapkan untuk pengguna (prinsip kejutan paling kecil).

Statistik Respon




Pertanyaan 8


Jawabannya
 Slices 

Penjelasan
Tentang Pengikatan Data dan Irisan kami berbicara sedikit lebih tinggi. Toast dan Snackbar adalah elemen untuk memberi tahu pengguna di aplikasi Android dan tidak dapat disematkan di aplikasi lain. Meskipun Toast dapat ditampilkan setelah dan setelah meminimalkan aplikasi, tidak seperti Irisan, Toast tidak dapat tertanam di mana pun.

Statistik Respon




Pertanyaan 9


Jawabannya
 64K 

Penjelasan
Spesifikasi file dex membatasi jumlah metode yang dapat dirujuk ke 65.536.
Dalam versi dengan Dalvik on board (era pra-API 21), untuk menghindari batasan ini perlu untuk menghubungkan pustaka multidex, yang menjadi bagian dari file dex utama dan mengontrol akses ke yang lain.
ART, pada gilirannya, mendukung memuat banyak file dex dari kotak. Ketika menginstal aplikasi, ART memindai file classN.dex dan mengkompilasinya menjadi file .oat tunggal untuk inisialisasi lebih lanjut dari aplikasi.

Multidex

Statistik Respon




Pertanyaan 10


Jawabannya
 onPostPause() 

Penjelasan
onPostCreate () - dipanggil setelah memanggil onStart () dan onRestoreInstanceState ()
onPostResume () - dipanggil setelah memanggil onResume ()
onResumeFragments () adalah versi terfragmentasi dari metode onResume (). Dipanggil di dalam onPostResume (), setelah onResume () memanggil fragmen.

Statistik Respon




Pertanyaan 11


Jawabannya
   

Penjelasan
9-patch adalah gambar .png biasa di mana tepi 1px berisi informasi layanan yang ditafsirkan oleh subsistem grafis Android sebagai berikut:
batas kiri dan atas menentukan area konten yang akan direntangkan.
batas kanan dan bawah menentukan area di mana konten akan ditempatkan.

Statistik Respon




Pertanyaan 12


Jawabannya
 Zygote 

Penjelasan
Zygote adalah salah satu komponen kunci dari sistem Android mana pun. Dia bertanggung jawab untuk menginisialisasi, memulai layanan sistem, memulai dan menghentikan aplikasi pengguna dan banyak tugas lainnya. Selama inisialisasi, Zygote membentuk lingkungan runtime untuk aplikasi Java (dengan memuat semua kelas Java dari framework) dan memulai layanan sistem tingkat tinggi (WindowManager, ActivityManager, dll.), Setelah itu ia akan memasuki mode tidur. Setelah menerima permintaan untuk memulai aplikasi, Zygote menyalin sendiri (bercabang) dan meluncurkan aplikasi yang diinginkan di atas salinan yang diterima dari mesin virtual. Prinsip operasi ini memungkinkan Anda untuk mengurangi konsumsi memori (Linux menyalin memori copy-on-write selama bercabang) dan mempercepat startup aplikasi (proses percabangan jauh lebih cepat daripada memulai mesin virtual baru).

Statistik Respon




Pertanyaan 13


Jawabannya
 Libraries 

Penjelasan
Tingkat arsitektur Android dianalisis dalam kuis sebelumnya dalam pertanyaan 14.

Statistik Respon




Pertanyaan 14


Jawabannya
  VM 

Penjelasan
Ada dua cara utama untuk mengimplementasikan mesin virtual: stack (Java, .Net CLR) dan register (Lua VM, Dalvik VM). Perbedaan utama antara kedua pendekatan tersebut adalah mekanisme yang digunakan untuk menulis dan menerima operan dan hasil eksekusi perintah.

Tumpukan VM menggunakan tumpukan untuk menyimpan operan. Operasi menerima data dari tumpukan, memprosesnya dan mendorong hasilnya kembali ke tumpukan sesuai dengan aturan LIFO.

Daftar VM menggunakan register prosesor untuk mengalokasikan operan. Instruksi VM semacam itu harus secara eksplisit memuat alamat (register) di mana operan terkandung.

Karena perbedaan ini, instruksi dalam register VM lebih cepat daripada instruksi serupa di stack VM, tetapi rata-rata mereka mengambil lebih banyak memori dengan secara eksplisit menentukan operan.

Keuntungan lain dari register VM adalah kemampuan untuk menyimpan nilai yang dihitung dalam register, yang menghemat waktu yang diperlukan untuk menghitung ulang ekspresi.

Alasan untuk memilih implementasi Dalvik VM sebagai register VM ( video atau slide (35.36)

Statistik Respon




Pertanyaan 15


Jawabannya
 Z 

Penjelasan
JNI - antarmuka asli Java - menyediakan kemampuan untuk menjalankan kode C / C ++ asli dari Jawa, dan sebaliknya.
Untuk memanggil fungsi Java dari kode C ++, Anda harus menjelaskan tanda tangannya dengan benar. Misalkan kita ingin memanggil fungsi:

 boolean f(String s) 

Kemudian di JNI kita bisa mendapatkan tautannya sebagai berikut:

 jmethodID myFunc = env->GetMethodID( activityClass, "myFunc", "(Ljava/lang/String;)Z"); 

Mengenai jenis-jenis dalam deskripsi tanda tangan: 'B' digunakan untuk byte, 'C' adalah char, 'I' adalah int.

Ketikkan tanda tanganTipe Java
Zboolean
Bbyte
Cchar
Spendek
Sayaint
Jpanjang
Fmengapung
Ddobel
L kelas berkualifikasi penuh;kelas sepenuhnya berkualitas
[tipeketik []
(tipe arg) tipe retjenis metode

( Sumber )

Sangat mengherankan bahwa rake dengan 'B' dan 'Z' tampaknya sangat populer sehingga Android dermaga dengan jelas menyatakan: "Ingat bahwa 'B' adalah byte dan 'Z' adalah boolean . "

Yah, kita ingat)

Statistik Respon

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


All Articles