Ktor: вопросы на собеседовании
Вопросы и ответы по Ktor: подготовка, примеры и типичные ошибки.
Проверьте себя по Ktor: 5 вопросов, ~10 минут
Вопросов: 38. Частые идут первыми, сложные возвращаются на повторение.
- В каких backend-проектах Ktor является сильным выбором, а где лучше выбрать более простой или другой стек?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое pipeline-система в Ktor и как происходит обработка запроса?Senior· спрашивают почти всегда
- Что такое plugins (ранее features) в Ktor и как их устанавливать?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Каковы варианты production-деплоя приложения Ktor?Senior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое Ktor и каковы его ключевые преимущества перед другими Kotlin-фреймворками?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Как определять маршруты (routes) в Ktor и как работает вложенная маршрутизация?Junior· спрашивают почти всегда
- Какие security-риски возникают в Ktor при CORS, JWT/session auth и обработке multipart-загрузок?Middle· спрашивают почти всегда
- Что такое
ApplicationEnvironmentи как Ktor обрабатывает конфигурацию?Middle· полный разбор — Jobs/Boost - Как обрабатывать content negotiation и сериализацию JSON в Ktor?Middle· полный разбор — Jobs/Boost
- Как сравнить Ktor с ближайшими backend-альтернативами по скорости разработки, производительности, экосистеме и эксплуатации?Middle
- Как реализовать аутентификацию в Ktor (JWT, Basic, Session)?Senior· полный разбор — Jobs/Boost
- Как реализовать CORS в приложении Ktor?Middle
- Как понять, что проблема в сервисе связана с Ktor, а не с базой, сетью, инфраструктурой или бизнес-логикой?Senior· полный разбор — Jobs/Boost
- Представьте, endpoint на Ktor иногда отвечает за секунды вместо миллисекунд. Как вы будете искать причину?Senior· полный разбор — Jobs/Boost
- Что такое Ktor engines и в чём разница между CIO, Netty и Jetty?Senior· полный разбор — Jobs/Boost
- Как корректно делать graceful shutdown Ktor-приложения и закрывать внешние ресурсы?Middle· полный разбор — Jobs/Boost
- Какие архитектурные решения Ktor задаёт вокруг request lifecycle, middleware, dependency model, validation и error handling?Middle· полный разбор — Jobs/Boost
- Как проектировать observability в Ktor: structured logs, request id, metrics и tracing?Senior
- Как реализовать валидацию запросов в Ktor?Middle· полный разбор — Jobs/Boost
- Какие production-риски есть у Ktor: blocking code, connection pooling, config, auth, observability, deploy или graceful shutdown?Senior· полный разбор — Jobs/Boost
- Проект на Ktor вырос из MVP в большой production-сервис. Какие проблемы архитектуры и сопровождения вы ожидаете увидеть?Senior
- Чем Ktor отличается от Spring Boot при создании бэкенд-сервисов?Middle· полный разбор — Jobs/Boost
- Как Ktor поддерживает загрузку файлов через multipart?Middle
- Как работает управление сессиями (session management) в Ktor?Senior· полный разбор — Jobs/Boost
- Как обрабатывать ошибки и исключения глобально в Ktor с помощью
StatusPages?Middle - Что такое объект
ApplicationCallв Ktor?Middle - Как интегрировать базу данных (например, с Exposed ORM) в приложение Ktor?Senior
- Что такое плагин
HttpRequestRetryи как настраивать логику повторных попыток?Middle - Как работает Ktor-клиент и чем он отличается от Ktor-сервера?Middle· полный разбор — Jobs/Boost
- Расскажите о случае, когда вы проектировали или улучшали сервис на Ktor с учётом транзакций, безопасности, фоновых задач или мониторинга.Middle· полный разбор — Jobs/Boost
- Как тестировать Ktor-приложение с реальной конфигурацией, test containers и моками внешних сервисов?Middle· полный разбор — Jobs/Boost
- Как устроен pipeline phase ordering в Ktor и где правильно ставить custom plugin?Middle· полный разбор — Jobs/Boost
- Как реализовать rate limiting в Ktor?Senior· полный разбор — Jobs/Boost
- Как использовать WebSockets в Ktor?Middle· полный разбор — Jobs/Boost
- Как тестировать приложение Ktor с помощью
testApplication?Middle· полный разбор — Jobs/Boost - Как реализовать логирование в приложении Ktor?Middle· полный разбор — Jobs/Boost
- В чём разница между
respondText,respondиcall.respond()в Ktor?Junior - Как настроить SSL/TLS в сервере Ktor?Senior· полный разбор — Jobs/Boost