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
🔒Открыть пост
и посмотреть медиа
🤔 Как можно писать RecyclerView, чтобы он кэшировал наперёд? 1. Использовать setItemViewCacheSize для кэширования определённого количества элементов. 2. Включить предзагрузку данных с помощью RecyclerView.OnScrollListener. 3. Реализовать Prefetching через LinearLayoutManager или RecyclerView.LayoutManager. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 В чем разница между работой с list и работой с sequence? 🚩Основные структуры работы с коллекциями 🟠List Является жадной коллекцией, что означает, что все операции над элементами выполняются немедленно и целиком. Когда вы применяете функции к списку, такие как map, filter и т.д., все элементы проходят через каждую функцию сразу же. В данном примере все элементы списка numbers сначала умножаются на 2, затем фильтруются. Вся работа выполняется сразу для каждого элемента. val numbers = listOf(1, 2, 3, 4, 5) val result = numbers .map { it * 2 } .filter { it > 5 } println(result) // Output: [6, 8, 10] 🟠Sequence Является ленивой коллекцией. Это означает, что элементы обрабатываются по мере необходимости. Функции, применяемые к последовательности, создают цепочку операций, которая выполняется только при обращении к элементам. В этом примере numbers сначала преобразуется в Sequence. Операции map и filter создают цепочку, которая выполняется только при преобразовании обратно в List с помощью toList(). Это позволяет избежать лишних операций и обрабатывать элементы по мере необходимости. val numbers = listOf(1, 2, 3, 4, 5) val result = numbers.asSequence() .map { it * 2 } .filter { it > 5 } .toList() println(result) // Output: [6, 8, 10] 🚩Различия 🟠Жадность против ленивости List: Все элементы обрабатываются сразу при вызове функций. Sequence: Элементы обрабатываются по мере необходимости, что может повысить эффективность. 🟠Производительность List: Подходит для небольших коллекций, где выполнение всех операций сразу не критично. Sequence: Эффективен для больших коллекций или длинных цепочек операций, так как уменьшает количество промежуточных коллекций. 🟠Использование памяти List: Может использовать больше памяти из-за создания промежуточных коллекций. Sequence: Уменьшает использование памяти, обрабатывая элементы по одному. Ставь 👍 и забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что такое лямбды с точки зрения синтаксиса в Java и Kotlin? В Java лямбды — это упрощённый синтаксис для анонимных классов, реализующих функциональный интерфейс. Синтаксис: (параметры) -> { тело }. В Kotlin лямбды представляют собой выражения, передаваемые как функции, с синтаксисом { параметры -> тело }. Kotlin более лаконичен, позволяя опускать параметры, если их можно вывести из контекста. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что используешь, если нужно получить элемент или список элементов? В Kotlin есть множество удобных функций для получения одного элемента или списка элементов из коллекций (List, Set, Map). Какую функцию использовать — зависит от задачи. 🚩Получение одного элемента 🟠`get(index)` и `getOrNull(index)` получение по индексу Если индекс может выйти за границы массива, лучше использовать getOrNull(). val list = listOf("A", "B", "C") println(list[1]) // "B" println(list.getOrNull(5)) // null 🟠`first()` и `last()` первый и последний элементы println(list.first()) // "A" println(list.last()) // "C" Используйте firstOrNull() или lastOrNull(), если список может быть пустым println(emptyList().firstOrNull()) // null 🟠`find {}` и `findLast {}` поиск по условию Возвращает первый или последний элемент, удовлетворяющий условию. val numbers = listOf(10, 20, 30, 40) println(numbers.find { it > 15 }) // 20 println(numbers.findLast { it > 15 }) // 40 println(numbers.find { it > 50 }) // null 🟠`single()` и `singleOrNull()` если ожидается только один элемент val oneElementList = listOf(42) println(oneElementList.single()) // 42 println(oneElementList.singleOrNull()) // 42 val emptyList = emptyList() println(emptyList.singleOrNull()) // null single() бросает исключение, если элементов нет или их больше одного. 🚩Получение нескольких элементов (списка) filter {} – фильтрация элементов по условию val numbers = listOf(1, 2, 3, 4, 5) val evenNumbers = numbers.filter { it % 2 == 0 } println(evenNumbers) // [2, 4] take(n) и takeLast(n) – первые/последние n элементов val items = listOf("a", "b", "c", "d", "e") println(items.take(3)) // [a, b, c] println(items.takeLast(2)) // [d, e] slice(indices) – получение элементов по индексам val sliced = items.slice(listOf(0, 2, 4)) println(sliced) // [a, c, e] map {} – преобразование списка val squared = numbers.map { it * it } println(squared) // [1, 4, 9, 16, 25] Ставь 👍 и забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 В чем заключается передача объекта по ссылке и по значению? – По значению — создаётся копия объекта (в Kotlin: data class, val x = a). – По ссылке — передаётся указатель, и изменения влияют на оригинал. В Java и Kotlin передаются ссылки по значению (сама ссылка копируется, но указывает на один объект). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличаются data-классы и sealed-классы? data class — класс для хранения данных с автогенерацией equals(), hashCode(), copy(). sealed class — ограниченная иерархия классов, используется для when. 🚩`data class` – для хранения данных data class автоматически создаёт: equals() и hashCode() → сравнение объектов по значениям. copy() → удобное копирование с изменением параметров. toString() → красивый вывод. data class User(val id: Int, val name: String) fun main() { val user1 = User(1, "Alice") val user2 = user1.copy(name = "Bob") // Создаём копию с новым именем println(user1) // User(id=1, name=Alice) println(user2) // User(id=1, name=Bob) } 🚩`sealed class` – для ограниченных иерархий классов sealed class используется, когда есть фиксированное число подклассов. sealed class NetworkState { object Loading : NetworkState() data class Success(val data: String) : NetworkState() data class Error(val message: String) : NetworkState() } fun handleState(state: NetworkState) { when (state) { is NetworkState.Loading -> println("Загрузка...") is NetworkState.Success -> println("Данные: ${state.data}") is NetworkState.Error -> println("Ошибка: ${state.message}") } } 🚩Можно ли использовать `data class` внутри `sealed class`? Да! Это лучший вариант для управления состояниями: sealed class Result { object Loading : Result() data class Success(val data: String) : Result() data class Error(val message: String) : Result() } Ставь 👍 и забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Расскажи для чего нужен Dagger? Dagger — это библиотека для внедрения зависимостей, упрощающая создание, управление и тестирование объектов. Она генерирует код для автоматического предоставления зависимостей, что делает приложение модульным и устойчивым к изменениям. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Kotlin  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Почему могут быть проблемы со списками в 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  Preguntas de Entrevista
Kotlin Preguntas de Entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что произойдёт, если вместо ключевого слова class использовать object? object в Kotlin создаёт singleton — единственный экземпляр. Нельзя создавать новые экземпляры, он инициализируется при первом обращении. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
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 8 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