Backend
Google Guava в примерах
Возможности Google Guava в примерах на Kotlin: Multimap, BiMap, Table, кэш, работа со строками, хеширование, IO и конкурентность.
gRPC — Как это работает
Как устроен gRPC поверх HTTP/2 и Protocol Buffers, чем он выигрывает у REST и как собрать сервер и клиент на Kotlin с Gradle.
Java / Kotlin Core — Многопоточность
Многопоточность в Java и Kotlin: volatile и synchronized, ReentrantLock, корутины и Channels, операторы RxJava и стратегии backpressure.
Java / Kotlin Core — Теоретические вопросы
Сложность операций с коллекциями, паттерны проектирования, SOLID, наследование против композиции и функции высшего порядка в Java и Kotlin.
Java Core — Основные вопросы
Ответы на вопросы по Java Core: типы данных, коллекции и HashMap, дженерики, рефлексия, устройство памяти JVM и работа Garbage Collector.
Java Spring — Cloud
Облачные сервисы AWS, Google Cloud и Azure для Java-приложений: сопоставление аналогов, оптимизация затрат, serverless, Git LFS и субмодули.
Java Spring — Аннотации Spring
Справочник аннотаций Spring с примерами на Kotlin: @Component, @Bean, @Transactional, маппинг запросов, JPA и разница между @Component и @Bean.
Java Spring — Компоненты Spring
Настройка application.properties, WebSocket, GraphQL, OAuth 2.0, Spring Security, Actuator, WebFlux и Batch с примерами кода и конфигурации.
Java Spring — Концепции
Saga и Rollback, SOLID, Clean Architecture, REST и RPC, IoC и DI, Spring MVC, Project Reactor, сервлеты и CSRF — разбор концепций с примерами на Kotlin.
Java Spring — Микросервисы
Взаимодействие микросервисов на Spring: REST и WebClient, Kafka и RabbitMQ, Docker и Kubernetes, Eureka, Cloud Gateway и трассировка запросов.
Java Spring — Список вопросов
Указатель вопросов для собеседования Java-разработчика: Java Core, Kotlin, многопоточность, аннотации и компоненты Spring, микросервисы и SQL.
Java Spring — Хранение данных
Хранение данных в Spring: ACID и уровни изоляции, @Transactional, JPA против JDBC, Spring Data, кеширование в Redis, Flyway и индексы.
Kotlin 2.0 — основные нововведения в синтаксисе
Что изменилось в синтаксисе Kotlin 2.0: context receivers, value classes, sealed interface, деструктуризация в for и pattern matching в when.
Kotlin Core — Основные вопросы
Как устроены корутины и suspend, чем launch отличается от async, как работают scope functions, делегаты, extension и companion object в Kotlin.
Kubernetes — Как это работает
Устройство Kubernetes: архитектура control plane, namespace, балансировка нагрузки, команды kubectl, Dashboard и мониторинг через Prometheus.
Mock ответов сервера в Android разработке при помощи Interceptor
Как подменять ответы сервера в Android своим OkHttp Interceptor: модель MockResponse, map по url и подключение к OkHttpClient.
Безопасность микросервисов и веб приложений
Микросервис авторизации, API Gateway, mTLS и сертификаты: как безопасно хранить пароли, защищаться от brute-force и какие алгоритмы шифрования выбрать.
Введение в Ktor и Exposed
Серверное приложение на Kotlin с Ktor: работа с базой через Exposed и JDBI, внедрение зависимостей Koin, тесты на Mockk и Testcontainers, миграции Flyway.
Введение в Project Loom
Виртуальные потоки Project Loom в Java: как JVM планирует их на carrier threads, чем они отличаются от Kotlin Coroutines и как включить в Spring.
Настройка кастомных параметров запуска IntelliJ IDEA / Android Studio
Что делает каждый флаг в Edit Custom VM Options: размеры heap, выбор Garbage Collector, кэш кода и настройка памяти в Android Studio.
Небольшой мануал по MapStruct
Практические приёмы MapStruct в Kotlin: маппинг полей с разными именами, @Named, переиспользование логики и обход типичных ошибок компиляции.
Реляционные SQL базы данных
Синтаксис SQL, VIEW и индексы, JOIN и CTE, блокировки при конкурентном доступе и чтение плана запроса в PostgreSQL, MySQL и Oracle.