tags
:
-
android_education
Копировать
Курс по Android
Java секция
Примитивы
Базовые примитивные типы
Почему в коллекциях не используются примитивные типы
Финансовые форматы
Коллекции
Коллекции, основные виды
Как устроен LinkedList
Алгоритмическая сложность коллекций
Поиск
Сортировка
Вставка и удаление
HashMap
Как работает под капотом HashMap
Как сравниваются ключи в HashMap при одинаковом hashCode
Как выглядит Bucket при ключах с одинаковым hashCode в HashMap
Concurrency
Java Threads
Потоки
Создание потоков
Пул потоков
Атомарность
Atomic - принцип работы
Как работает AtomicLong
Volatile
Synchronized
В чем разница между synchronized и volatile, когда какое лучше использовать
Семафоры
Методы синхронизации в классе Object
Happens-before
Как синхронизировать коллекции
Как синхронизировать hashmap
Блиц вопросы для собеседования по Java, секция потоки
Проблемы синхронизации потоков
Проблемы сихронизации
Гонка данных (Race Condition)
Deadlock (Взаимная блокировка)
Java Memory Model
Как устроена память в Android
Как работает Garbage collector
Пул строк
Сильные ссылки
Слабые ссылки
Мягкие ссылки
Утечки памяти
Долгоживущие объекты
Платформа Android
Основное в Android
Service
Что такое ContentProvider
Broadcast Receiver
Виды Context
Жизненный цикл Activity
Жизненный цикл Fragment
Что такое Intent. Что такое explicit implicit Intent
WorkManager. Для чего их придумали. Когда их надо использовать.
Что такое AndroidManifest.xml. Зачем его используют. Что мы можем там декларировать
Activity Launch mode. Activity stack
Состояния в activity и fragment. Как создавать, сохранять. Какие могут быть ошибки
Что такое изменение конфигурации Что происходит с приложением на Android при этом
Что такое memory leak. Как избежать. Как искать
LruCache
Что такое Android Gradle Plugin
Что происходит при нажатии на иконку приложения в лаунчере Android с точки зрения разработки
Kotlin
Почему у Kotlin нет checked exceptions
Как работают примитивы в Kotlin
Класс Object, Any, Nothing, Unit
Почему классы Kotlin по умолчанию final
Generics в Kotlin
Рефлексия
Стирание типов
Что такое companion object
Все виды использования object
Почему использование public переменных в companion - это плохо
Чем отличается const val от val
Какие есть модификаторы доступа в Kotlin
Lateinit. Lazy
Что такое аннотации и как ими пользоваться
Контракты contracts функции
Аннотации для ограничения вариантов
Что такое inline функции. Что такое и как работает crossinline
Non-local returns
Особенности sealed
Отличие sealed от enum классов
Особенности data классов
Что такое делегаты, как написать свой и для чего нужны
Функции высшего порядка
Механизм обработки сообщений
Looper
Handler
MessageQueue
View
Цикл жизни View
Что будет если вызвать 10 раз метод View.invalidate или View.requestLayout
Что такое DataBinding
Объясните паттерн ViewHolder. Для чего он применяется
Что такое DiffUtil
Для чего используют Group, Guideline, Barriers, Chains в ConstraintLayout
Custom View - подробно
Корутины и Flow
Как работают корутины
Что такое suspend функции, когда применяются
Как запускать корутины
Flow что такое
Холодный и горячий потоки, что это и как использовать.
StateIn
ShareIn
StateFlow vs. SharedFlow
Что такое BackPressure, как он решается в Flow
Синхронизация в корутинах. Mutex
Архитектура
MVP MVVM MVI. Особенности. Преимущества и недостатки.
Как сохраняется ViewModel при повороте экранов и возврате на предыдущий
Архитектура Android приложения. Слои, назначения, примеры использования v2
Многомодульность. Для чего, плюсы минусы. Как правильно реализовать.
Что такое LiveData Какие виды знаете
Dependency Injection. Hilt
Общее
SOLID
Принципы программирования GoF, SOLID, KISS, DRY, YAGNI
Как работать с Profiler
Функциональное программирование
Реактивное программирование
System Design
Основные принципы GitFlow
Блиц скрининг Яндекса
Тестирование в Android
Для чего нужно тестирование
Какие виды тестирования есть
Как работает unit тестирование. Что такое Robolectriс и для чего
Robolectric config
Виды UI тестирования. Как лучше сделать
.
Unit тесты и работа с сетью
Простой тест для работы с сетью
Тестирование с сетью. Разные ответы
Тестирование сети и репозиториев
Тестирование сети и использование силы Mock
Compose
Что такое Compose. Какие преимущества
Какие ключевые концепции в Jetpack Compose необходимо знать для эффективного использования
Что такое State в Jetpack Compose и как его использовать для управления состоянием UI
Чем отличается составной макет (Composable) от обычного View в Jetpack Compose
Как осуществляется обработка пользовательских событий (например, кликов) в Jetpack Compose
Как управлять темой и стилями в Jetpack Compose
Цветовая палитра Compose
Какие инструменты и библиотеки можно использовать для тестирования приложений, разработанных с использованием Jetpack Compose
Что такое derivedStateOf
Что такое produceState
Что такое snapshotFlow
Что такое SideEffect и какие виды известны
Паттерн Unidirectional data flow
Immutable, Stable
State Hoisting
Как правильно сохранять состояние компонентов в Jetpack Compose
Задачи на алгоритмы
Метод скользящего окна или двух указателей
Бинарный поиск
Бинарный поиск. Найти индекс, которого может и не быть
Пузырьковая сортировка
Быстрая сортировка (Quick Sort)
Сортировка слиянием (Merge Sort)
Поиск подстроки с уникальными символами
Поиск первой позиции, где число больше или равно
Поиск в вращённом отсортированном массиве
Перемещение нулей в конец списка
Проверка на уникальность символов в строке
Наибольшая подстрока без повторяющихся символов
Поиск минимальной длины подмассива
Проверка, является ли число счастливым
Сортировка массива с квадратами чисел
- собеседования
Яндекса
Нахождение вставляемого элемента в отсортированном массиве
Объединение двух отсортированных массивов
Поиск свободного места в кинотеатре
- задача из собеседования в Яндекс