P
prepair.app
Пройти інтерв'ю →
EnglishУкраїнськаРусскийDeutsch
🟩

Junior Android (Kotlin)Питання на співбесіді Android розробника

Junior · без досвіду / до 1 року

Співбесіда Android-розробника крутиться навколо ідіом Kotlin, корутин і життєвого циклу платформи — більшість senior-питань насправді перевіряють, чи розумієте ви, що процес можуть убити будь-якої миті. Нижче — питання, які ставлять найчастіше, кожне з еталонною відповіддю. Junior: базова теорія, визначення та прості практичні кейси.

Спробувати — без реєстрації
Готуємо питання…

Теми для підготовки

Можливості мови Kotlin
Корутини та Flow
Життєвий цикл Android
Jetpack Compose
Архітектура і DI
Room, Retrofit і тести

9 питань рівня Junior з відповідями

1

Чим `val` відрізняється від `var` і чи робить `val` обʼєкт незмінним?

Відповідь

val означає, що посилання не можна перепризначити, var — що можна. Обʼєкт це незмінним не робить: у val, що зберігає MutableList, елементи й далі додаються. Для справжньої незмінності потрібен незмінний тип, а не лише незмінна привʼязка.

2

Як влаштована null-безпека в Kotlin?

Відповідь

Типи за замовчуванням не допускають null, а той, що допускає, пишеться як String?. Компілятор змушує обробити випадок null — через ?., ?: або розумне приведення після перевірки. !! від цього відмовляється і кидає виняток, тому у власному коді він має траплятися приблизно ніколи.

3

Що таке data class і що він дає?

Відповідь

Клас, завдання якого — зберігати значення. Компілятор генерує equals, hashCode, toString, copy і деструктуризацію за властивостями первинного конструктора. Підступ у тому, що потрапляють лише вони: поле, оголошене в тілі, мовчки лишається поза equals.

4

Чим `==` відрізняється від `===` у Kotlin?

Відповідь

== викликає equals — структурне порівняння. === порівнює посилання, тобто чи це той самий обʼєкт. Це зворотно до Java, де посилання перевіряє ==, і на цьому спотикаються ті, хто прийшов звідти.

5

Який життєвий цикл Activity і які колбеки найважливіші?

Відповідь

onCreate один раз при створенні, onStart і onResume у міру появи та отримання фокусу, далі onPause, onStop і onDestroy на виході. Важливі пари: захоплювати в onStart, звільняти в onStop. Часта помилка — утримувати ресурс через onStop, лишаючи його живим, поки застосунок у фоні.

6

Що відбувається з Activity при повороті і чому це проблема?

Відповідь

За замовчуванням вона знищується і створюється заново, тому все, що лежало в полях, зникає, а незавершена робота лишається сиротою. Заради цього стан живе у ViewModel, яка переживає перестворення, а тимчасовий стан UI — в onSaveInstanceState. Поворот лише найпомітніший випадок: те саме стається при зміні локалі чи розміру вікна.

7

Що таке Intent і чим явний відрізняється від неявного?

Відповідь

Повідомлення з проханням до системи щось запустити. Явний називає конкретний компонент і застосовується всередині власного застосунку. Неявний описує дію — поділитися, відкрити посилання — і система пропонує того, хто це вміє; уміти може ніхто, тому потрібен запасний шлях.

8

Що таке ANR і як його уникнути?

Відповідь

Application Not Responding — система показує діалог, коли головний потік заблоковано близько пʼяти секунд на вводі або широкомовний приймач працює надто довго. Стається це від того, що хтось виконав мережу, диск або запит до бази в головному потоці. Лікується структурно: усе, що може зайняти час, іде в корутину на Dispatchers.IO, а StrictMode у зневаджувальній збірці свариться раніше, ніж це побачить користувач.

9

Що потрібно, щоб показати список у `RecyclerView`?

Відповідь

Розмітка одного рядка, адаптер, який створює і звʼязує view holder'и, і layout manager. ViewHolder існує для того, щоб findViewById виконувався один раз на перевикористовуваний рядок, а не за кожного звʼязування, — заради цього віджет і замінив ListView. DiffUtil далі обчислює мінімальний набір змін між старим і новим списком, даючи анімації елементів і позбавляючи від notifyDataSetChanged, який перемальовує все.

🦎

Прочитати відповіді недостатньо

На співбесіді ти говориш вголос під тиском. Кем поставить ті самі питання, оцінить кожну відповідь і покаже, що саме підтягнути.

Пройти інтерв'ю Junior Android (Kotlin) →
Безкоштовно · 3 інтерв'ю на місяць

Інші рівні — Android (Kotlin)

Middle Android (Kotlin)Senior Android (Kotlin)Усі питання Android (Kotlin)

Інші спеціалізації

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🟣Junior .NET Backend Developer🔷Junior C++