Logo
TGCATALOG
Catálogo Selecciones Blog
Kotlin  Preguntas de Entrevista

Kotlin Preguntas de Entrevista

Preguntas de entrevista para desarrolladores de Kotlin con respuestas.

Sin valoraciones
726
29.10.2026
726
29.10.2026
Sin valoraciones
726
29.10.2026
Redirección segura vía bot
О канале

Preguntas de entrevista para desarrolladores de Kotlin con respuestas.

Подписчиков 2,451
Тематика Tecnología
Язык Español
Ссылка t.me/easy_kotlin

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

Preguntas de entrevista Kotlin: extensiones, coroutenos, colecciones. Con ejemplos de código y explicaciones para Android y backend.

Últimas publicaciones

Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличается data push от identification push? – Data push — содержит полезную нагрузку (данные), которые обрабатываются приложением (например, текст сообщения, обновления). – Identification push — содержит только метаинформацию, которая говорит приложению, что нужно самостоятельно запросить данные с сервера. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Для проектов в которых есть несколько модулей, там может быть много 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  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Как можно сделать Activity-фрагменты? – Выделить каждый экран в Fragment, – Хостить их в Activity, – Использовать FragmentTransaction или Navigation Component для навигации. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Как по объекту понять, что он не используется? Сильная ссылка - это ссылка, которая напрямую указывает на объект и предотвращает его сборку сборщиком мусора. 🚩Основные подходы 🟠WeakReference Использование слабых ссылок (WeakReference) позволяет определить, был ли объект освобожден сборщиком мусора. 🟠ObjectWatcher (в LeakCanary) LeakCanary использует ObjectWatcher для отслеживания объектов. Если объект не освобожден, ObjectWatcher уведомляет об утечке. import java.lang.ref.WeakReference; public class MemoryLeakExample { public static void main(String[] args) { // Создание объекта MyObject myObject = new MyObject(); // Создание слабой ссылки на объект WeakReference weakRef = new WeakReference(myObject); // Удаление сильной ссылки myObject = null; // Вызов сборщика мусора System.gc(); // Проверка, была ли слабая ссылка освобождена if (weakRef.get() == null) { System.out.println("Object has been garbage collected"); } else { System.out.println("Object is still alive"); } } static class MyObject { // Некоторая логика класса } } 🚩Понимание, что объект не используется 🟠Нет сильных ссылок Убедитесь, что на объект нет сильных ссылок. Только слабые, мягкие или фантомные ссылки не предотвращают сборку объекта. 🟠Сборка мусора Если объект становится недоступным через сильные ссылки, сборщик мусора может его освободить. 🟠Проверка с помощью WeakReference Слабые ссылки могут быть использованы для проверки того, был ли объект освобожден. Ставь 👍 и забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что известно про антипаттерны? Антипаттерны — это распространённые, но неэффективные или опасные решения, например: – God Object, – Spaghetti Code, – Lava Flow, – Copy-Paste Programming. Они приводят к проблемам в сопровождении и развитии кода. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Вставка значения быстрее в Linked list или в Array list? 🚩Вставка в `ArrayList` ArrayList реализован на основе массива. 🟠Вставка в конец Амортизированное O(1). Если массив не заполнен, элемент добавляется в конец списка. В случае, если массив заполнен, требуется выделение нового массива и копирование элементов, что занимает O(n) времени. val arrayList = ArrayList() arrayList.add(1) // Быстрая вставка в конец 🟠Вставка в начало или середину O(n). Необходимо сдвинуть все элементы, начиная с позиции вставки, чтобы освободить место для нового элемента. Это требует времени, пропорционального количеству элементов после позиции вставки. arrayList.add(0, 2) // Медленная вставка в начало arrayList.add(1, 3) // Медленная вставка в середину 🚩Вставка в LinkedList LinkedList реализован на основе узлов, где каждый узел содержит ссылку на следующий и/или предыдущий узел (в случае двусвязного списка). 🟠Вставка в начало: O(1). Для добавления элемента в начало достаточно изменить ссылки первого узла и нового узла. val linkedList = LinkedList() linkedList.addFirst(1) // Быстрая вставка в начало 🟠Вставка в конец O(1) (если есть ссылка на последний узел) или O(n) (если необходимо пройти весь список). Если список двусвязный и хранится ссылка на последний элемент, вставка в конец осуществляется за O(1). В противном случае, требуется пройти весь список до конца. linkedList.addLast(2) // Быстрая вставка в конец, если есть ссылка на последний узел 🟠Вставка в середину O(n). Необходимо пройти список до нужной позиции и изменить ссылки узлов. linkedList.add(1, 3) // Медленная вставка в середину Ставь 👍 и забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что такое DEX? DEX — Dalvik Executable — бинарный формат байткода, исполняемый Dalvik/ART. Файл classes.dex содержит весь скомпилированный Kotlin/Java код. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Какие способы навигации знаешь? В Android есть несколько способов навигации между экранами. Давай разберём основные. 🟠Activity-based навигация Каждый экран – это отдельная Activity, переход осуществляется с помощью Intent. val intent = Intent(this, SecondActivity::class.java) startActivity(intent) 🟠Fragment-based навигация Один Activity содержит несколько Fragment, навигация через FragmentManager. supportFragmentManager.beginTransaction() .replace(R.id.container, SecondFragment()) .addToBackStack(null) .commit() 🟠Navigation Component (Jetpack) Google рекомендует Navigation Component для удобной работы с Fragment. findNavController().navigate(R.id.action_firstFragment_to_secondFragment) 🟠Bottom Navigation / Tab Navigation Используется BottomNavigationView или TabLayout для переключения между экранами. bottomNavigationView.setOnNavigationItemSelectedListener { item -> when (item.itemId) { R.id.home -> replaceFragment(HomeFragment()) R.id.profile -> replaceFragment(ProfileFragment()) } true } 🟠Drawer Navigation (Navigation Drawer) Боковое меню (DrawerLayout) с пунктами навигации. drawerLayout.openDrawer(GravityCompat.START) 🟠Deep Links и App Links Навигация через ссылки (например, myapp://profile/123). 🟠Navigation в Jetpack Compose Используется NavHost и NavController. NavHost(navController, startDestination = "home") { composable("home") { HomeScreen(navController) } composable("profile") { ProfileScreen(navController) } } Ставь 👍 и забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 В чём разница между action и category у Intent? - action — описывает действие, которое должен выполнить Intent (например, VIEW, EDIT). - category — определяет тип компонентов, которые могут обработать Intent (например, LAUNCHER, DEFAULT). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin Preguntas de Entrevista
Evolución de suscriptores
+0.0% últimos 30 días
Actuales
2,451
Hace un mes
2,450
Crecimiento medio
+0 / día
Actualizado
hace 10 horas

Reseñas de canal Kotlin Preguntas de Entrevista

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Loading
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar