Fastify: вопросы на собеседовании
Вопросы и ответы по Fastify: подготовка, примеры и типичные ошибки.
Проверьте себя по Fastify: 5 вопросов, ~10 минут
Вопросов: 40. Частые идут первыми, сложные возвращаются на повторение.
- Как работает модель инкапсуляции (encapsulation model) в Fastify? Что такое scope плагина?Middle· спрашивают почти всегда
- В каких backend-проектах Fastify является сильным выбором, а где лучше выбрать более простой или другой стек?Middle· спрашивают почти всегда
- Что такое lifecycle в Fastify? Перечислите основные hooks по порядку.Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое Fastify и каковы его основные преимущества перед Express.js?Junior· спрашивают почти всегда
- Как работает система плагинов (plugin system) в Fastify? Что такое
fastify-pluginи почему он нужен для инкапсуляции scope?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost - Что такое schema-based validation в Fastify и как используется JSON Schema?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Как Fastify обрабатывает асинхронные обработчики маршрутов по сравнению с Express?Middle
- Как управлять подключениями к базе данных в Fastify (connection pooling, scoping плагинов)?Senior· полный разбор — Jobs/Boost
- Как сравнить Fastify с ближайшими backend-альтернативами по скорости разработки, производительности, экосистеме и эксплуатации?Middle· полный разбор — Jobs/Boost
- Как реализовать CORS в Fastify с помощью
@fastify/cors?Middle - Как добавить кастомные декораторы к объектам
fastify,requestиreply?Middle· полный разбор — Jobs/Boost - Как понять, что проблема в сервисе связана с Fastify, а не с базой, сетью, инфраструктурой или бизнес-логикой?Senior· полный разбор — Jobs/Boost
- Представьте, endpoint на Fastify иногда отвечает за секунды вместо миллисекунд. Как вы будете искать причину?Senior
- Как Fastify обрабатывает ошибки? Что такое метод
setErrorHandler?Middle· полный разбор — Jobs/Boost - Как реализовать graceful shutdown в Fastify-приложении?Senior· полный разбор — Jobs/Boost
- Что такое
@fastify/helmetи какие заголовки безопасности он устанавливает?Middle - Как использовать hooks для request lifecycle observability и auth?Senior· полный разбор — Jobs/Boost
- Что такое
fastify.inject()и как он используется в тестировании?Middle· полный разбор — Jobs/Boost - Как реализовать аутентификацию в Fastify с помощью
fastify-jwtили@fastify/jwt?Middle - Какие архитектурные решения Fastify задаёт вокруг request lifecycle, middleware, dependency model, validation и error handling?Middle· полный разбор — Jobs/Boost
- Как работает логирование запросов в Fastify? Как используется
pino?Middle - Что такое
@fastify/rate-limitи как он работает?Middle· полный разбор — Jobs/Boost - Какие production-риски есть у Fastify: blocking code, connection pooling, config, auth, observability, deploy или graceful shutdown?Senior
- Проект на Fastify вырос из MVP в большой production-сервис. Какие проблемы архитектуры и сопровождения вы ожидаете увидеть?Senior· полный разбор — Jobs/Boost
- Как Fastify использует JSON Schema для сериализации ответов? Почему это быстрее, чем
JSON.stringify()?Middle· полный разбор — Jobs/Boost - Что такое hooks в Fastify? Объясните
onRequest,preHandler,onSendиonError.Middle· полный разбор — Jobs/Boost - В чём разница между
reply.send()иreturnв обработчиках маршрутов?Middle - Как выглядит поддержка TypeScript в Fastify? Как типизировать схемы маршрутов?Middle· полный разбор — Jobs/Boost
- В чём разница между
fastify.addHook()иfastify.addContentTypeParser()?Middle· полный разбор — Jobs/Boost - Что такое
fastify-autoloadи как он упрощает организацию плагинов и маршрутов?Middle· полный разбор — Jobs/Boost - Расскажите о случае, когда вы проектировали или улучшали сервис на Fastify с учётом транзакций, безопасности, фоновых задач или мониторинга.Middle· полный разбор — Jobs/Boost
- Какие характеристики производительности делают Fastify быстрее Express? Каковы числа в бенчмарках?Senior· полный разбор — Jobs/Boost
- Как работает plugin encapsulation в Fastify и почему это важно для больших приложений?Middle
- Что такое
@fastify/swaggerи как генерировать документацию OpenAPI из схем?Middle· полный разбор — Jobs/Boost - Как структурировать крупное Fastify-приложение?Senior· полный разбор — Jobs/Boost
- Как обрабатывать загрузку файлов в Fastify с помощью
@fastify/multipart?Middle· полный разбор — Jobs/Boost - Что такое hook
onListenи когда он полезен?Middle· полный разбор — Jobs/Boost - Когда стоит выбрать Fastify вместо Express или NestJS для нового проекта?Senior· полный разбор — Jobs/Boost
- Как
@fastify/sensibleулучшает опыт разработчика?Junior - Как реализовать поддержку WebSocket в Fastify с помощью
@fastify/websocket?Senior