- Передмова
- Відгуки
- Manuel Vivo (Staff Android Engineer at Bumble, Ex Android DevRel at Google)
- Matt McKenna (Senior Android Engineer at Block, Android GDE)
- Alejandra Stamato (Lead Android Engineer at HubSpot, Ex Android DevRel at Google)
- Simona Milanovic (Senior Android Developer Relations Engineer)
- Про цю книгу
- Для кандидатів на співбесіду
- Для інтерв’юерів
- Спонсори
- Stream
- Звіти про проблеми та обговорення
- 0. Питання для співбесіди з Android
- Категорія 0: Фреймворк Android
- П) 0. Що таке Android?
- П) 1. Що таке Intent?
- П) 2. Яке призначення PendingIntent?
- П) 3. Які відмінності між Serializable та Parcelable
- П) 4. Що таке Context і які типи Context існують?
- З) 5. Що таке клас Application?
- П) 6. Яке призначення файлу AndroidManifest?
- З) 7. Опишіть життєвий цикл Activity
- П) 8. Опишіть життєвий цикл фрагмента
- П) 9. Що таке Service?
- З) 10. Що таке BroadcastReceiver?
- П) 11. Яка мета ContentProvider, і як він забезпечує безпечний обмін даними між додатками?
- Q) 12. Як обробляти зміни конфігурації?
- Q) 13. Як Android керує пам’яттю, і як уникнути витоків пам’яті?
- П) 14. Які основні причини помилок ANR і як можна запобігти їх виникненню?
- П) 15. Як ви обробляєте глибокі посилання?
- П) 16. Що таке tasks та back stack?
- П) 17. Яке призначення Bundle?
- П) 18. Як передавати дані між Activities або Fragments
- П) 19. Що відбувається з Activity під час змін конфігурації?
- З) 20. Що таке ActivityManager?
- П) 21. Які переваги використання SparseArray
- П) 22. Як обробляти дозволи під час виконання?
- П) 23. Які ролі виконують Looper, Handler та HandlerThread?
- Q) 24. Як відстежувати винятки?
- П) 25. Що таке варіанти збірки та продуктові варіації?
- П) 26. Як забезпечити доступність?
- З) 27. Що таке файлова система Android?
- З) 28. Що таке Android Runtime (ART), Dalvik та Dex Compiler?
- П) 29. Які відмінності між файлом APK та файлом AAB?
- П) 30. Що таке оптимізація R8?
- П) 31. Як зменшити розміри додатку?
- П) 32. Що таке процес в Android-додатках і як операційна система Android керує ним?
- Категорія 1: Android UI - Views
- П) 33. Опишіть життєвий цикл View
- З) 34. У чому різниця між View та ViewGroup?
- Q) 35. Чи використовували ви колись ViewStub і як ви оптимізуєте продуктивність інтерфейсу користувача за його допомогою?
- П) 36. Як реалізувати користувацькі відображення?
- П) 37. Що таке Canvas і як його використовувати?
- П) 38. Що таке інвалідація в системі View?
- П) 39. Що таке ConstraintLayout?
- П) 40. Коли слід використовувати SurfaceView замість TextureView?
- П) 41. Як працює RecyclerView внутрішньо?
- П) 42. Яка різниця між Dp та Sp?
- П) 43. Яке призначення зображення nine-patch?
- П) 44. Що таке Drawable і як він використовується в розробці UI?
- П) 45. Що таке Bitmap в Android і як ефективно працювати з великими растровими зображеннями?
- П) 46. Як реалізувати анімації?
- П) 47. Що таке Window?
- П) 48. Як відобразити веб-сторінку?
- Категорія 2: Бібліотека Jetpack
- П) 49. Що таке бібліотека AppCompat?
- П) 50. Що таке Material Design Components (MDC)?
- П) 51. Які переваги використання ViewBinding?
- П) 52. Як працює DataBinding?
- П) 53. Що таке LiveData?
- З) 54. Що таке Jetpack ViewModel?
- П) 55. Що таке бібліотека Jetpack Navigation?
- П) 56: Що таке Dagger 2 та Hilt?
- З) 57. Що таке бібліотека Jetpack Paging?
- П) 58. Що таке Базовий профіль?
- Категорія 3: Бізнес-логіка
- П) 59. Як би ви керували фоновими завданнями тривалого виконання?
- П) 60. Як серіалізувати формат Json в об’єкт
- Q) 61. Як ви обробляєте мережеві запити для отримання даних, і які бібліотеки чи методи ви використовуєте для забезпечення ефективності та надійності?
- П) 62. Чому система посторінкового завантаження важлива для завантаження великих наборів даних і як її можна реалізувати з RecyclerView?
- П) 63. Як завантажувати та відображати зображення з мережі?
- П) 64. Як зберігати та підтримувати дані локально?
- П) 65. Як ви реалізуєте функції офлайн-першого підходу?
- П) 66. Де запускати завдання для завантаження початкових даних? LaunchedEffect проти ViewModel.init()
- Категорія 0: Фреймворк Android
- 1. Питання для співбесіди з Jetpack Compose
- Категорія 0: Основи Compose
- П) 0. Яка структура Jetpack Compose?
- П) 1. Які фази має Compose?
- П) 2. Чому Jetpack Compose є декларативним UI-фреймворком?
- П) 3. Що таке рекомпозиція і коли вона відбувається? Також, як вона пов’язана з продуктивністю додатка?
- П) 4. Як внутрішньо працює функція, що компонується?
- П) 5. Що таке стабільність у Jetpack Compose і як вона пов’язана з продуктивністю?
- П) 6. Чи маєте ви досвід оптимізації продуктивності Compose шляхом покращення стабільності?
- П) 7. Що таке композиція і як її створити?
- П) 8. Які стратегії доступні для міграції проєкту на базі XML до Jetpack Compose?
- П) 9. Чому завжди слід тестувати продуктивність Compose у режимі релізу?
- П) 10. Які ідіоми Kotlin часто використовуються в Jetpack Compose?
- Категорія 1: Середовище виконання Compose
- П) 11. Що таке Стан і які API використовуються для керування ним?
- П) 12. Які переваги ви можете отримати від підняття стану?
- П) 13. Які відмінності між remember та rememberSaveable?
- П) 14. Як безпечно створити область корутини у функціях для компонування?
- З) 15. Як обробляти побічні ефекти всередині компонувальних функцій?
- Q) 16. Яке призначення rememberUpdatedState і як він працює?
- П) 17. Яке призначення produceState і як він працює?
- Q) 18. Що таке snapshotFlow і як воно працює?
- П) 19. Яке призначення derivedStateOf і як він допомагає оптимізувати перекомпозицію?
- П) 20. Який життєвий цикл функцій, що компонуються, або Композиції?
- П) 21. Що таке SaveableStateHolder?
- П) 22. Яке призначення системи знімків?
- З) 23. Що таке mutableStateListOf та mutableStateMapOf
- П) 24. Як безпечно збирати Flow Kotlin у функціях, що компонуються, запобігаючи витокам пам’яті?
- З) 25. Яка роль CompositionLocals?
- Категорія 2: Compose UI
- П) 26. Що таке Modifier?
- З) 27. Що таке Layout?
- З) 28. Що таке Box?
- П) 29. Які відмінності між Arrangement та Alignment?
- П) 30. Що таке Painter?
- З) 31. Як завантажувати зображення з мережі?
- П) 32. Як можна ефективно відображати сотні елементів у списку, уникаючи UI зависань?
- П) 33. Як реалізувати пагінацію з лінивими списками?
- П) 34. Що таке Canvas?
- П) 35. Чи використовували ви коли-небудь модифікатор graphicsLayer?
- П) 36. Як реалізувати візуальні анімації в Jetpack Compose?
- П) 37. Як здійснювати навігацію між екранами?
- П) 38. Як працює попередній перегляд і як ви з ним працюєте?
- П) 39. Як писати модульні тести для компонентів та екранів Compose UI?
- П) 40. Що таке тестування знімків екрану і як воно допомагає забезпечити узгодженість інтерфейсу користувача під час розробки?
- П) 41. Як забезпечити доступність у Jetpack Compose?
- Категорія 0: Основи Compose
Manifest Android Interview (Українське Видання)
Вичерпний посібник з успішного проходження технічних інтерв'ю з Android
Щоб успішно пройти вашу наступну співбесіду на позицію Android-розробника, зосередьтеся на справжньому розумінні концепцій, а не просто на запам'ятовуванні відповідей, та практикуйте їх застосування. Ця книга, що містить 108 питань для співбесіди, 162 додаткових практичних завдання та понад 50 професійних порад, допоможе вам вдосконалити навички, зрозуміти причинно-наслідкові зв'язки та підготуватися до реальних технічних викликів.
The authors are letting you choose the price you pay for this book!
Щоб успішно пройти вашу наступну співбесіду на позицію Android-розробника, зосередьтеся на справжньому розумінні концепцій, а не просто на запам'ятовуванні відповідей, та практикуйте їх застосування. Ця книга, що містить 108 питань для співбесіди, 162 додаткових практичних завдання та понад 50 професійних порад, допоможе вам вдосконалити навички, зрозуміти причинно-наслідкові зв'язки та підготуватися до реальних технічних викликів.
About
About the Book
Manifest Android Interview - це вичерпний посібник, створений для вдосконалення ваших навичок розробки під Android через 108 питань для співбесіди з детальними відповідями, 162 додаткових практичних завдань та 50+ розділів "Професійні поради для майстерності". Питання для співбесіди в основному зосереджені на розробці під Android — включаючи Фреймворк, UI, бібліотеки Jetpack та Бізнес-логіку — а також Jetpack Compose, охоплюючи Основи, Середовище виконання та UI.
Кожне питання містить глибокі пояснення, проводячи вас структурованим шляхом навчання Android та Jetpack Compose, одночасно зміцнюючи ваше розуміння ключових концепцій. Наприкінці кожного питання ви знайдете практичні завдання, розроблені для симуляції реальних ситуацій на співбесіді, що дозволяє вдосконалити ваші навички розв'язання задач та ефективно підготуватися до технічних обговорень.
Ця книга містить відповідні ресурси та додаткові посилання для тих, хто прагне вивчити більше поза її змістом. Було докладено зусиль, щоб забезпечити якомога більше виносок для ключових термінів, які можуть бути незнайомими або складними, гарантуючи, що початківці зможуть легко зрозуміти складні концепції, поглиблюючи своє розуміння.
Розділ "Професійні поради для майстерності" глибше занурюється в просунуті теми, розкриваючи внутрішні структури API та пропонуючи експертні погляди, щоб утримувати інтерес досвідчених розробників. Для розробників середнього рівня цей розділ служить цінним ресурсом для зміцнення експертизи в Android та формування більш аналітичного підходу до технічних викликів.
Я сподіваюся, що ця книга допоможе вам отримати нові перспективи, відточити навички розв'язання проблем та побудувати всебічне розуміння розробки під Android та його екосистем. Незалежно від того, чи готуєтесь ви до наступної важливої співбесіди, чи просто прагнете опанувати розробку під Android, я заохочую вас мислити за межами реалізації — зрозуміти чому, експериментувати з різними підходами та продовжувати навчання з цікавістю та пристрастю.
Щоб дізнатися цікаві факти, для кого це призначено, що охоплює, а що ні, перегляньте блог-пост Manifest Android Interview: The Ultimate Guide to Cracking Android Technical Interviews.
Categories
Feedback
Price
Pick Your Price...
Minimum price
$42.99
$52.99
You pay
$52.99Authors earn
$42.39Author
About the Authors
Jaewoong
The author of this book, Jaewoong Eum (known as skydoves), is a Google Developer Expert (GDE) for Android, Kotlin, and Firebase, an open-source developer created over 80+ open-source libraries and projects, collectively amassing 15+ million downloads annually. The author is also the founder of Dove Letter—a subscription-based repository dedicated to sharing, learning, and discussing Android and Kotlin development.
TranslateAI
Leanpub now has a TranslateAI service which uses AI to translate their book from English into up to 31 languages, or from one of those 31 languages into English. We also have a GlobalAuthor bundle which uses TranslateAI to translate English-language books into either 8 or 31 languages.
Leanpub exists to serve our authors. We want to help you reach as many readers as possible, in their preferred language. So, just as Leanpub automates the process of publishing a PDF and EPUB ebook, we've now automated the process of translating those books!
Contents
Table of Contents
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.