Manifest Android Interview (Edisi Bahasa Indonesia)
Manifest Android Interview (Edisi Bahasa Indonesia)
Panduan lengkap untuk menaklukkan wawancara teknis Android
Tentang Buku
Manifest Android Interview adalah panduan komprehensif yang dirancang untuk meningkatkan keahlian pengembangan Android Anda melalui 108 pertanyaan wawancara dengan jawaban terperinci, 162 pertanyaan praktis tambahan, dan 50+ bagian "Tips Pro untuk Penguasaan". Pertanyaan-pertanyaan wawancara terutama berfokus pada pengembangan Android—termasuk Framework, UI, Pustaka Jetpack, dan Logika Bisnis—serta Jetpack Compose, yang mencakup Fundamental, Runtime, dan UI.
Setiap pertanyaan memberikan penjelasan mendalam, memandu Anda melalui jalur pembelajaran terstruktur untuk Android dan Jetpack Compose sambil memperkuat pemahaman Anda tentang konsep-konsep kunci. Di akhir setiap pertanyaan, Anda akan menemukan pertanyaan praktis yang dirancang untuk mensimulasikan skenario wawancara nyata, memungkinkan Anda untuk mengasah keterampilan pemecahan masalah dan mempersiapkan diri secara efektif untuk diskusi teknis.
Buku ini mencakup sumber daya yang relevan dan referensi tambahan bagi mereka yang ingin mempelajari lebih lanjut di luar kontennya. Upaya telah dilakukan untuk menyediakan catatan kaki untuk istilah-istilah kunci sebanyak mungkin yang mungkin tidak familiar atau kompleks, memastikan bahwa pemula dapat dengan mudah memahami konsep-konsep yang menantang sambil memperdalam pemahaman mereka.
Bagian "Tips Pro untuk Penguasaan" mendalami topik-topik lanjutan, mengungkap struktur API internal dan menawarkan wawasan ahli untuk menjaga ketertarikan pengembang senior. Bagi pengembang tingkat menengah, bagian ini berfungsi sebagai sumber daya berharga untuk memperkuat keahlian Android dan menumbuhkan pendekatan yang lebih analitis terhadap tantangan teknis.
Saya berharap buku ini membantu Anda mendapatkan perspektif baru, mempertajam keterampilan pemecahan masalah, dan membangun pemahaman komprehensif tentang pengembangan & ekosistem Android. Baik Anda sedang mempersiapkan wawancara besar berikutnya atau sekadar mendorong diri untuk menguasai pengembangan Android, saya mendorong Anda untuk berpikir melampaui implementasi—memahami alasannya, bereksperimen dengan pendekatan berbeda, dan terus belajar dengan rasa ingin tahu dan semangat.
Untuk fakta menarik, untuk siapa buku ini ditujukan, apa yang dicakup, dan apa yang tidak dicakup, silakan baca postingan blog Manifest Android Interview: The Ultimate Guide to Cracking Android Technical Interviews.
Daftar Isi
- Kata Pengantar
- Testimoni
- Manuel Vivo (Staff Android Engineer di Bumble, Mantan Android DevRel di Google)
- Matt McKenna (Senior Android Engineer di Block, Android GDE)
- Alejandra Stamato (Lead Android Engineer di HubSpot, Mantan Android DevRel di Google)
- Simona Milanovic (Senior Android Developer Relations Engineer)
- Tentang Buku Ini
- Untuk Para Peserta Wawancara
- Untuk Pewawancara
- Sponsor
- Stream
- Laporan Masalah & Diskusi
- 0. Pertanyaan Wawancara Android
- Kategori 0: Kerangka Kerja Android
- Q) 0. Apa itu Android?
- Q) 1. Apa itu Intent?
- Q) 2. Apa tujuan dari Pending Intent?
- Q) 3. Apa perbedaan antara Serializable dan Parcelable
- Q) 4. Apa itu Context dan apa saja jenis Context yang ada?
- Q) 5. Apa itu kelas Application?
- Q) 6. Apa tujuan dari file AndroidManifest?
- Q) 7. Jelaskan siklus hidup Activity
- Q) 8. Jelaskan lifecycle Fragment
- Q) 9. Apa itu Service?
- Q) 10. Apa itu BroadcastReceiver?
- Q) 11. Apa tujuan ContentProvider, dan bagaimana ia memfasilitasi berbagi data yang aman antar aplikasi?
- Q) 12. Bagaimana cara menangani perubahan konfigurasi?
- Q) 13. Bagaimana Android menangani manajemen memori, dan bagaimana cara menghindari kebocoran memori?
- Q) 14. Apa penyebab utama kesalahan ANR, dan bagaimana Anda dapat mencegahnya?
- Q) 15. Bagaimana cara menangani deep links?
- Q) 16. Apa itu task dan back stack?
- Q) 17. Apa tujuan dari Bundle?
- Q) 18. Bagaimana cara Anda mengirim data antar Activities atau Fragments
- Q) 19. Apa yang terjadi pada Activity selama perubahan konfigurasi?
- Q) 20. Apa itu ActivityManager?
- Q) 21. Apa keuntungan menggunakan SparseArray
- Q) 22. Bagaimana cara menangani izin runtime?
- Q) 23. Apa peran Looper, Handler, dan HandlerThread?
- Q) 24. Bagaimana cara melacak eksepsi?
- Q) 25. Apa itu build variants dan flavors?
- Q) 26. Bagaimana cara memastikan aksesibilitas?
- Q) 27. Apa itu sistem berkas Android?
- Q) 28. Apa itu Android Runtime (ART), Dalvik, dan Dex Compiler?
- Q) 29. Apa perbedaan antara file APK dan file AAB?
- Q) 30. Apa itu optimasi R8?
- Q) 31. Bagaimana cara mengurangi ukuran aplikasi?
- Q) 32. Apa itu proses dalam aplikasi Android, dan bagaimana sistem operasi Android mengelolanya?
- Kategori 1: UI Android - Views
- Q) 33. Jelaskan siklus hidup View
- Q) 34. Apa perbedaan antara View dan ViewGroup?
- Q) 35. Pernahkah Anda menggunakan ViewStub dan bagaimana Anda mengoptimalkan kinerja UI menggunakannya?
- Q) 36. Bagaimana cara mengimplementasikan view kustom?
- Q) 37. Apa itu Canvas dan bagaimana cara menggunakannya?
- Q) 38. Apa itu invalidasi dalam sistem View?
- Q) 39. Apa itu ConstraintLayout?
- Q) 40. Kapan Anda harus menggunakan SurfaceView alih-alih TextureView?
- Q) 41. Bagaimana cara kerja RecyclerView secara internal?
- Q) 42. Apa perbedaan antara Dp dan Sp?
- Q) 43. Apa kegunaan dari nine-patch image?
- Q) 44. Apa itu Drawable, dan bagaimana penggunaannya dalam pengembangan UI?
- Q) 45. Apa itu Bitmap di Android, dan bagaimana cara menangani Bitmap besar secara efisien?
- Q) 46. Bagaimana cara mengimplementasikan animasi?
- Q) 47. Apa itu Window?
- Q) 48. Bagaimana cara merender halaman web?
- Kategori 2: Pustaka Jetpack
- Q) 49. Apa itu pustaka AppCompat?
- Q) 50. Apa itu Material Design Components (MDC)?
- Q) 51. Apa keuntungan menggunakan ViewBinding?
- Q) 52. Bagaimana cara kerja DataBinding?
- Q) 53. Apa itu LiveData?
- Q) 54. Apa itu Jetpack ViewModel?
- Q) 55. Apa itu Jetpack Navigation Library?
- Q) 56: Apa itu Dagger 2 dan Hilt?
- Q) 57. Apa itu library Jetpack Paging?
- Q) 58. Apa itu Baseline Profile?
- Kategori 3: Logika Bisnis
- Q) 59. Bagaimana cara Anda mengelola tugas latar belakang yang berjalan lama?
- Q) 60. Bagaimana cara melakukan serialisasi format Json ke objek
- Q) 61. Bagaimana cara Anda menangani permintaan jaringan untuk mengambil data, dan library atau teknik apa yang Anda gunakan untuk efisiensi dan keandalan?
- Q) 62. Mengapa sistem paging penting untuk memuat kumpulan data besar, dan bagaimana cara mengimplementasikannya dengan RecyclerView?
- Q) 63. Bagaimana cara mengambil dan merender gambar dari jaringan?
- Q) 64. Bagaimana cara menyimpan dan mempertahankan data secara lokal?
- Q) 65. Bagaimana cara menangani fitur offline-first?
- Q) 66. Di mana Anda meluncurkan tugas untuk memuat data awal? LaunchedEffect vs. ViewModel.init()
- Kategori 0: Kerangka Kerja Android
- 1. Pertanyaan Wawancara Jetpack Compose
- Kategori 0: Dasar-Dasar Compose
- Q) 0. Apa struktur Jetpack Compose?
- Q) 1. Apa saja fase-fase Compose?
- Q) 2. Mengapa Jetpack Compose adalah kerangka kerja UI deklaratif?
- Q) 3. Apa itu rekomposisi, dan kapan hal itu terjadi? Juga, bagaimana hubungannya dengan kinerja aplikasi?
- Q) 4. Bagaimana cara kerja fungsi composable secara internal?
- Q) 5. Apa itu stabilitas dalam Jetpack Compose, dan bagaimana hubungannya dengan kinerja?
- Q) 6. Apakah Anda pernah memiliki pengalaman mengoptimalkan performa Compose dengan meningkatkan stabilitas?
- Q) 7. Apa itu composition dan bagaimana membuatnya?
- Q) 8. Strategi apa saja yang tersedia untuk migrasi proyek berbasis XML ke Jetpack Compose?
- Q) 9. Mengapa Anda harus selalu menguji performa Compose dalam mode release?
- Q) 10. Idiom Kotlin apa yang sering digunakan dalam Jetpack Compose?
- Kategori 1: Compose Runtime
- Q) 11. Apa itu State dan API apa yang digunakan untuk mengelolanya?
- Q) 12. Apa keuntungan yang bisa Anda dapatkan dari state hoisting?
- Q) 13. Apa perbedaan antara remember dan rememberSaveable?
- Q) 14. Bagaimana cara aman membuat scope coroutine dalam fungsi composable?
- Q) 15. Bagaimana cara menangani efek samping di dalam fungsi composable?
- Q) 16. Apa tujuan rememberUpdatedState, dan bagaimana cara kerjanya?
- Q) 17. Apa tujuan produceState, dan bagaimana cara kerjanya?
- Q) 18. Apa itu snapshotFlow dan bagaimana cara kerjanya?
- Q) 19. Apa tujuan dari derivedStateOf, dan bagaimana ini membantu mengoptimalkan rekomposisi?
- Q) 20. Apa siklus hidup dari fungsi composable atau Composition?
- Q) 21. Apa itu SaveableStateHolder?
- Q) 22. Apa tujuan dari sistem snapshot?
- Q) 23. Apa itu mutableStateListOf dan mutableStateMapOf
- Q) 24. Bagaimana cara mengumpulkan Flow Kotlin dalam fungsi composable dengan aman sambil mencegah kebocoran memori?
- Q) 25. Apa peran CompositionLocals?
- Kategori 2: Compose UI
- Q) 26. Apa itu Modifier?
- Q) 27. Apa itu Layout?
- Q) 28. Apa itu Box?
- Q) 29. Apa perbedaan antara Arrangement dan Alignment?
- Q) 30. Apa itu Painter?
- Q) 31. Bagaimana cara memuat gambar dari jaringan?
- Q) 32. Bagaimana cara merender ratusan item sebagai daftar secara efisien sambil menghindari ketidaklancaran UI?
- Q) 33. Bagaimana cara mengimplementasikan paginasi dengan lazy list?
- Q) 34. Apa itu Canvas?
- Q) 35. Pernahkah Anda menggunakan Modifier graphicsLayer?
- Q) 36. Bagaimana cara mengimplementasikan animasi visual di Jetpack Compose?
- Q) 37. Bagaimana cara melakukan navigasi antar layar?
- Q) 38. Bagaimana Preview bekerja dan bagaimana Anda menanganinya?
- Q) 39. Bagaimana cara menulis pengujian unit untuk komponen atau layar UI Compose?
- Q) 40. Apa itu pengujian tangkapan layar, dan bagaimana hal tersebut membantu memastikan konsistensi UI selama pengembangan?
- Q) 41. Bagaimana Anda memastikan aksesibilitas di Jetpack Compose?
- Kategori 0: Dasar-Dasar Compose
Jaminan Kepuasan 100% Selama 60 Hari dari Leanpub
Dalam waktu 60 hari setelah pembelian, Anda bisa mendapatkan pengembalian dana 100% untuk pembelian Leanpub apa pun, hanya dengan dua klik.
Secara teknis, ini berisiko bagi kami, karena Anda tetap akan memiliki file buku atau kursus. Namun kami sangat yakin dengan produk dan layanan kami, serta dengan penulis dan pembaca kami, sehingga kami dengan senang hati menawarkan jaminan pengembalian dana penuh untuk semua yang kami jual.
Anda hanya bisa mengetahui seberapa bagus sesuatu dengan mencobanya, dan berkat jaminan pengembalian dana 100% kami, sama sekali tidak ada risiko untuk mencobanya!
Jadi, tidak ada alasan untuk tidak mengklik tombol Tambah ke Keranjang, bukan?
Lihat ketentuan lengkap...
Dapatkan $8 untuk Pembelian $10, dan $16 untuk Pembelian $20
Kami membayar royalti 80% untuk pembelian $7,99 atau lebih, dan royalti 80% dikurangi biaya tetap 50 sen untuk pembelian antara $0,99 dan $7,98. Anda mendapatkan $8 untuk penjualan $10, dan $16 untuk penjualan $20. Jadi, jika kami menjual 5000 salinan buku Anda yang tidak dikembalikan seharga $20, Anda akan mendapatkan $80,000.
(Ya, beberapa penulis bahkan telah menghasilkan lebih dari itu di Leanpub.)
Faktanya, para penulis telah menghasilkanlebih dari $14 juta dengan menulis, menerbitkan dan menjual di Leanpub.
Pelajari lebih lanjut tentang menulis di Leanpub
Pembaruan Gratis. Bebas DRM.
Jika Anda membeli buku Leanpub, Anda mendapatkan pembaruan gratis selama penulis memperbarui bukunya! Banyak penulis menggunakan Leanpub untuk menerbitkan buku mereka secara bertahap, selama proses penulisan. Semua pembaca mendapatkan pembaruan gratis, terlepas dari kapan mereka membeli buku atau berapa banyak yang mereka bayar (termasuk yang gratis).
Kebanyakan buku Leanpub tersedia dalam format PDF (untuk komputer) dan EPUB (untuk ponsel, tablet dan Kindle). Format yang tersedia untuk sebuah buku ditampilkan di pojok kanan atas halaman ini.
Yang terpenting, buku-buku Leanpub tidak memiliki proteksi DRM yang merepotkan, sehingga Anda dapat dengan mudah membacanya di perangkat yang didukung.
Pelajari lebih lanjut tentang format ebook Leanpub dan di mana membacanya