Kotlin | Вопросы собесов

channel icon
Разбираем вопросы с собеседований на Android разработчка. Kotlin / Java

Сайт: easyoffer.ru

Условия размещения

Цена за 48 часов в ленте 2100,00
Цена за 1 час закрепления N/A
Взаимопиар Нет
-1
2 577
подписчиков
+2
594
охват 1 публикации
0
~3
постов / день
+0,1%
23,1%
ERR % ?

Статистика

Последние публикации

Kotlin | Вопросы собесов
17 апреля 2025 г. 23:46
Быстроокупаемая франшиза - Мидийный дом!Быстроокупаемая франшиза - Мидийный дом!

💰Получай От 400 тысяч рублей в месяц!

✅ Сопровождаем партнера на стадии открытия и после!

- Юридическое оформление;
- Подберем помещение;
- Разработаем дизайн-проект;
- Поможем в подборе сотрудников;
- Адаптируем меню, тех. карты, поставщиков;
- Выстроим маркетинг;


⚡Успейте открыть в вашем городе!

📊Мидии — новый тренд в общепите!

Получить предложениеПолучить предложение

#реклама
musselhouse-franchise.ru

О рекламодателе
Kotlin | Вопросы собесов
17 апреля 2025 г. 19:10
🤔 Что такое Task и где это используется?

Task в Android — это стек активити, связанных логически (обычно из одного приложения).
- Управляется системой.
- Пример: пользователь от крывает ссылку → новая Task (браузер), возвращается назад — старая Task восстанавливается.
Можно управлять Task через Intent-флаги, affinity, launchMode.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
17 апреля 2025 г. 12:10
🤔🤔🤔 Что объединяет основные компоненты Android-приложения? Что объединяет основные компоненты Android-приложения?

Основные компоненты Android-приложения:
Activity – экран пользовательского интерфейса.
Fragment – часть UI внутри Activity.
Service – выполняет фоновые задачи.
BroadcastReceiver – реагирует на системные события.
ContentProvider – управляет доступом к данным между приложениями.

🚩`Context` – доступ к ресурсам и системным сервисам

Все компоненты наследуют Context или получают его через getContext().
- Activity и Service наследуют Context.
- Fragment, BroadcastReceiver и ContentProvider получают Context через getContext().
fun showToast(context: Context) {
Toast.makeText(context, "Привет!", Toast.LENGTH_SHORT).show()
}


🚩`AndroidManifest.xml` – регистрация компонентов

Все компоненты объявляются в AndroidManifest.xml, чтобы система знала о них.









🚩`Intent` – механизм взаимодействия компонентов

Все компоненты могут общаться друг с другом через Intent. Пример: Запуск `Activity` из `Service` через `Intent`
val intent = Intent(context, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(intent)


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
16 апреля 2025 г. 22:17
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуляКурс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля

Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰
Научись ей бесплатно!

- Бесплатный доступ к курсу
- Разбор ДЗ от наставника
- Мощные кейсы в портфолио

Узнать большеУзнать больше

#реклама 16+
yudaevschool24.online

О рекламодателе
Kotlin | Вопросы собесов
16 апреля 2025 г. 19:10
🤔🤔 Расскажи для чего нужен Dagger?

Dagger — это библиотека для внедрения зависимостей, упрощающая создание, управление и тестирование объектов. Она генерирует код для автоматического предоставления зависимостей, что делает приложение модульным и устойчивым к изменениям.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
16 апреля 2025 г. 14:10
📺📺 Уникальная база IT собеседований

456+
456+ реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы.

Есть собесы от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д.

🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!
Kotlin | Вопросы собесов
16 апреля 2025 г. 12:10
🤔🤔🤔 Почему могут быть проблемы со списками в data class? Почему могут быть проблемы со списками в data class?

В data class могут возникнуть проблемы со списками при использовании:
Методов copy() – список не копируется, а передаётся по ссылке.
Методов equals() и hashCode()List сравнивается по элементам, что может быть медленно.
Mutable списков (MutableList) – изменения внутри списка изменяют все копии объекта.

🚩Проблема `copy()` – список не клонируется

data class User(val name: String, val tags: List)

fun main() {
val original = User("Alice", listOf("Admin", "Editor"))
val copy = original.copy() // ✅ Поверхностное копирование

println(original.tags === copy.tags) // true (один и тот же объект)
}


Используем toList(), чтобы создать новый неизменяемый список:
fun main() {
val original = User("Alice", listOf("Admin", "Editor"))
val copy = original.copy(tags = original.tags.toList())

println(original.tags === copy.tags) // false (разные объекты)
}


🚩`equals()` и `hashCode()` могут работать медленно

data class Message(val id: Int, val content: String, val tags: List)

fun main() {
val message1 = Message(1, "Привет", listOf("important", "urgent"))
val message2 = Message(1, "Привет", listOf("important", "urgent"))

println(message1 == message2) // true (сравнивает элементы списка)
}


Если идентификатор (id) уникален, сравнивать только его
data class Message(val id: Int, val content: String, val tags: List) {
override fun equals(other: Any?) = other is Message && this.id == other.id
override fun hashCode() = id.hashCode()
}


🚩`MutableList` в `data class` – неожиданные изменения

data class Task(val name: String, val subtasks: MutableList)

fun main() {
val original = Task("Купить продукты", mutableListOf("Хлеб", "Молоко"))
val copy = original.copy() // ✅ Поверхностная копия

copy.subtasks.add("Яйца") // ❌ Меняет список в обоих объектах!

println(original.subtasks) // [Хлеб, Молоко, Яйца]
println(copy.subtasks) // [Хлеб, Молоко, Яйца]
}


Создаём новый MutableList внутри copy()
data class Task(val name: String, val subtasks: List) {
fun deepCopy() = Task(name, subtasks.toMutableList())
}

fun main() {
val original = Task("Купить продукты", mutableListOf("Хлеб", "Молоко"))
val copy = original.deepCopy()

copy.subtasks.toMutableList().add("Яйца") // ✅ Теперь изменения не влияют на оригинал

println(original.subtasks) // [Хлеб, Молоко]
println(copy.subtasks) // [Хлеб, Молоко, Яйца]
}


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
15 апреля 2025 г. 19:10
🤔🤔 Что известно про ресиверы и контент-провайдеры?

BroadcastReceiver принимает сообщения (интенты) от системы или приложений — например, при смене сети или получения SMS. ContentProvider предоставляет структурированный способ доступа к данным, используется для обмена данными между приложениями (например, контакты, галерея).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
15 апреля 2025 г. 15:38
Kуpс JАVA - paзpаботчик с нуля гарантия трудоустройстваKуpс JАVA - paзpаботчик с нуля гарантия трудоустройства

Jаvа — это язык, на котором строятся банковские системы, мобильные приложения, крупные веб-сервисы и многое другое, а спрос на Jаvа-разработчиков стабильно высок. Благодаря кроссплатформенности и надежности, ты сможешь работать в любой сфере IТ — от финансов до Коммерческой отрасли.📊💰

Почему это работает?✨
- Минимальные вложения.
- Тысячи человек уже в IТ. Наши выпускники работают в крутых компаниях: от стартапов до международных корпораций.
- Наши менторы — это опытные разработчики, которые ежедневно работают в IТ и готовы делиться актуальными знаниями.

P.S. Если всё ещё сомневаешься и думаешь что будет сложно — просто попробуй.😊
Мы берем на себя все риски: ты оплачиваешь основную стоимость обучения только после успешного трудоустройства — это закреплено в договоре.

Узнать большеУзнать больше

#реклама 16+
kata.academy

О рекламодателе
Kotlin | Вопросы собесов
15 апреля 2025 г. 14:05
Репост:
Что такое PRO-подписка на easyoffer 2.0?

easyoffer PRO — это не просто доступ к базе, а полноценный инструмент для получения оффера.

🧠 База вопросов с собеседований

+ Анализ на основе 4,000 собеседований
+ Вероятность встречи каждого вопроса
+ Фильтрация по грейдам, компаниям, типам интервью
+ Примеры ответов: текстовые и видео
+ Готовьтесь к собеседованию в конкретную компанию

🛠 Тренажер "Проработка вопросов"

+ Флеш-карточки + интервальные повторения
+ Персональная система показа карточек в зависимости от ваших ответов
+ Упор на наиболее частые вопросы
+ Фокус на слабые места и быстрый прогресс

🎭 Тренажер "Реальное собеседование"

+ Сценарии на основе реальных интервью
+ Подготовка к конкретным компаниям
+ Итоговая статистика: прошёл/не прошёл

🧩 База задач с собеседований

+ Live-coding и System Design задачи
+ Оценка вероятности встречи задачи
+ Подготовка к задачам по конкретным компаниям

📋 База тестовых заданий

+ Задания из реальных вакансий
+ Фильтрация по технологиям и грейдам
+ Лучшие решения в доступе

📈 Тренды технологий в вакансиях

+ Топ-100 навыков, которые требуют компании
+ Динамика популярности технологий
+ Фильтрация по грейдам

🎁 Специальная цена до релиза:
3200 руб. за целый год

Сейчас PRO на 1 год стоит как будет стоить 1 месяц после релиза. Покупка также открывает доступ к закрытому бета-тестированию.
+ Вы можете активировать подписку в любой момент, например, когда начнете искать работу.

Предзаказ здесь: https://planeta.ru/campaigns/easyoffer

📌 Цена поднимется сразу после запуска.

Если вы хотите перестать угадывать, что спросят на собеседовании, и начать точечно готовиться на основе реальных данных — easyoffer PRO именно для вас.

Экономьте время. Получайте оффер легко.
Kotlin | Вопросы собесов
15 апреля 2025 г. 12:10
🤔🤔🤔 Зачем нужно разделять отображение и бизнес-логику? Зачем нужно разделять отображение и бизнес-логику?

Разделение UI и бизнес-логики делает код понятнее, тестируемее и проще в поддержке.
Это ключевой принцип чистой архитектуры (Clean Architecture) и паттернов MVP, MVVM, MVI.

🚩Что такое UI и бизнес-логика?

Плохой код (UI + логика в Activity)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val button = findViewById(R.id.button)
button.setOnClickListener {
val result = fetchData() // ❌ Логика в UI
button.text = result
}
}

fun fetchData(): String {
return "Данные с сервера" // ❌ Тут должна быть ViewModel
}
}


🚩Как правильно разделять UI и логику? (MVVM)

Разделим код на Activity + ViewModel
MainActivity (только UI)
class MainActivity : AppCompatActivity() {
private val viewModel: MainViewModel by viewModels()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val button = findViewById(R.id.button)

viewModel.text.observe(this) { text ->
button.text = text // ✅ UI обновляется из ViewModel
}

button.setOnClickListener {
viewModel.loadData() // ✅ Вызываем бизнес-логику
}
}
}


MainViewModel (бизнес-логика)
class MainViewModel : ViewModel() {
private val _text = MutableLiveData()
val text: LiveData = _text

fun loadData() {
_text.value = "Данные с сервера" // ✅ UI не знает, откуда данные
}
}


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
14 апреля 2025 г. 23:42
Бесплатное льготное обучение: 3 месяцаБесплатное льготное обучение: 3 месяца

Ищем людей, которые хотят обучиться и работать в IT-сфере из дома

В конце обучения вы пройдете стажировку и устроитесь на работу с зп от 150.000 рублей

Образование, место жительства, трудовой стаж — не важны!

Для старта нужно:
пройти короткий тест
заполнить анкету

На что можно рассчитывать, после обучения:
✅ удаленная работа
✅ зп от 150.000 рублей (потолка нет)
✅ стабильная подработка, если не хотите уходить с основной работы

⚡ Осталось всего 47 бесплатных мест. Успейте пройти тест и оставить заявку:

Узнать большеУзнать больше

#реклама 16+
technolium.ru

О рекламодателе
Kotlin | Вопросы собесов
14 апреля 2025 г. 19:10
🤔🤔 Какие виды дженериков есть?

- Обобщённые классы (class Box)
- Обобщённые методы ( void print(T t))
- Ограничения (extends, super) — для указания границ типов
- Сырые типы (List без параметра — deprecated)

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
14 апреля 2025 г. 12:10
🤔🤔🤔 Для проектов в которых есть несколько модулей, там может быть много Android Manifest'ов, для чего это делается? Для проектов в которых есть несколько модулей, там может быть много Android Manifest'ов, для чего это делается?

В многомодульных проектах каждый модуль может иметь свой AndroidManifest.xml, чтобы:
Задавать зависимости (uses-permission, uses-feature) для конкретного модуля.
Определять компоненты (Activity, Service, BroadcastReceiver) для каждого модуля.
Автоматически объединять манифесты всех модулей в AndroidManifest.xml главного (app) модуля.

🚩Как объединяются манифесты в многомодульном проекте?

При сборке Gradle автоматически сливает (merge) все AndroidManifest.xml в один итоговый файл.
app/  
├── src/main/AndroidManifest.xml ← Главный манифест
├── java/com/example/MainActivity.kt
├── res/
├── build.gradle
feature_login/
├── src/main/AndroidManifest.xml ← Манифест модуля `login`
├── java/com/example/login/LoginActivity.kt
├── res/
├── build.gradle
feature_chat/
├── src/main/AndroidManifest.xml ← Манифест модуля `chat`
├── java/com/example/chat/ChatActivity.kt
├── res/
├── build.gradle


🚩Как работает объединение манифестов?

При сборке манифесты модулей сливаются в манифест главного модуля.






feature_login (feature_login/src/main/AndroidManifest.xml)






feature_chat (feature_chat/src/main/AndroidManifest.xml)






После объединения итоговый AndroidManifest.xml выглядит так








🚩Зачем модулям свой `AndroidManifest.xml`?

🟠Разные разрешения (`uses-permission`) для каждого модуля
Например, модуль camera требует CAMERA, но другие модули — нет.


🟠Разные `Activity`, `Service`, `BroadcastReceiver` в каждом модуле
Каждый модуль добавляет только свои компоненты (например, LoginActivity в feature_login).

🟠Разные зависимости для разных модулей
Например, модуль feature_map использует Google Maps, но feature_login — нет.


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
13 апреля 2025 г. 23:42
Крупнейший университет искусственного интеллектаКрупнейший университет искусственного интеллекта

Приглашаем на бесплатный однодневный интенсив по AI!

Освой искусственный интеллект для профессионального роста: создавай нейросети, автоматизируй бизнес-задачи и зарабатывай на AI-решениях.

✨ 8 000+ студентов со всего мира

✨ 600+ AI-проектов, созданных студентами

✨ Сборная Университета — победители крупнейших AI-хакатонов России

✨ Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет и другие)

✨ Трудоустраиваем выпускников в крупнейшие компании (Яндекс, ВТБ, Сбербанк, Роскосмос и другие)

Будем рады видеть тебя в наших рядах!

Узнать большеУзнать больше

#реклама 16+
neural-university.ru

О рекламодателе
Kotlin | Вопросы собесов
13 апреля 2025 г. 19:35
Репост:
🎉 Easyoffer 2.0 — самый успешный краудфандинг в истории рунета в категории "Технологии"!

Мы это сделали! За считанные часы после старта, благодаря вашей поддержке, проект не просто стартовал — он взлетел.

💸 Собрано: 2 276 840 рублей

Это не просто цифра — это ваше доверие, ваша вера в идею, и ваша инвестиция в будущее карьеры сотен (а скоро — тысяч) специалистов.

💼 Благодаря этой сумме мы уже:

— Наняли ещё пару разработчиков и аналитиков
— Запустили активный сбор и разметку новых данных
— Ускорили разработку и подняли планку качества

Спасибо каждому, кто поверил в нас на старте! Дальше — только масштабирование и развитие. Мы строим сервис, который станет must-have для всех, кто ищет работу в IT.

👉 Присоединяйтесь сейчас — это только начало.
Kotlin | Вопросы собесов
13 апреля 2025 г. 19:10
🤔🤔 Integer a = 127; int b = 127; Integer a1 = 128; int b1 = 128. Что будет у a == b, a1 == b1?

- a == b → true (распаковка и сравнение значений)
- a1 == b1 → true (аналогично)
Но: Integer a = 128; Integer a1 = 128; a == a1 → false, т.к. кэширование Integer до 127.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
13 апреля 2025 г. 14:44
Переходим на микросервисную архитектуру с KubernetesПереходим на микросервисную архитектуру с Kubernetes

24 апреля на бесплатном вебинаре «К микросервисам через построение управляемой контейнерной среды» эксперты СберТеха расскажут о требованиях к контейнеризации и поделятся опытом их реализации в продуктах:

✨ Platform V DropApp — инструменте для управления контейнерными приложениями,
✨ Platform V Synapse Service Mesh — инструмент для управления взаимодействием микросервисов с собственным менеджером политик и мультикластерной федерацией.

Поговорим о том, почему важно правильно выбрать дистрибутив Kubernetes, какие инструменты помогают в защите контейнерных сред, обсудим опыт эксплуатации продуктов в высоконагруженных средах.

ЗарегистрироватьсяЗарегистрироваться

#реклама 16+
platformv.sbertech.ru

О рекламодателе
Kotlin | Вопросы собесов
13 апреля 2025 г. 12:10
🤔🤔🤔 В чём отличие АПК с подписью и без подписи? В чём отличие АПК с подписью и без подписи?

APK (Android Package) — это архив с кодом приложения, ресурсами и манифестом.
Приложение должно быть подписано, чтобы его можно было установить на устройство.

🚩Неподписанный APK (`unsigned APK`)

- Это черновая версия APK, которая не имеет цифровой подписи.
- Такой APK можно запустить только в эмуляторе или при отладке (debug build).
- Google Play не принимает неподписанные APK.
При сборке debug-версии в Android Studio:
gradlew assembleDebug


Попытка установить неподписанный APK
adb install app-unsigned.apk


Ошибка
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]


🚩Подписанный APK (`signed APK`)

- Подписанный APK содержит цифровую подпись, которая гарантирует, что код не был изменён.
- Android проверяет ключ подписи перед установкой.
Google Play требует подписанный APK или AAB.
Как подписать APK вручную?
apksigner sign --ks my-release-key.jks --out app-signed.apk app-unsigned.apk


🚩Зачем нужна подпись?

Подпись APK гарантирует*
Целостность → код не был изменён после сборки.
Подлинность → приложение подписано разработчиком, а не злоумышленником.
Обновления → только приложения с тем же ключом могут обновлять старую версию.

Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Kotlin | Вопросы собесов
12 апреля 2025 г. 21:44
Бесплатное льготное обучение: 3 месяцаБесплатное льготное обучение: 3 месяца

Мы ищем людей, которые хотят работать в IT-сфере из дома

💰 Оплата от 150.000 рублей в месяц

Образование, место жительства, трудовой стаж — не важны!

Подходит, как для подработки / декретного отпуска, так и для полной занятости.

Если заинтересовались, то для старта нужно:
— пройти короткий тест
— заполнить анкету

На что можно рассчитывать:
✅ удаленная работа
✅ зп от 150.000 рублей (потолка нет)
✅ стабильная подработка, если не хотите уходить с основной работы

⚡ Количество бесплатных мест ограничено. Успейте пройти тест и оставить заявку:

Узнать большеУзнать больше

#реклама
technolium.ru

О рекламодателе