Package Managers и Bundlers
Экспресс-шпаргалка 20/20
- npm/pnpm/yarn различаются стратегией хранения зависимостей, скоростью установки и удобством в монорепах.
- Lockfile фиксирует точное дерево зависимостей и обеспечивает воспроизводимые сборки.
npm ciставит строго по lockfile, быстрее и стабильнее для CI, чемnpm install.- Semver определяет совместимость версий, но диапазоны могут неожиданно подтянуть breaking changes.
- peerDependencies декларируют совместимость с хост-пакетом; конфликты требуют выравнивания версий.
- Workspaces позволяют централизованно управлять зависимостями и пакетами в монорепозитории.
- Обновление зависимостей делается поэтапно с changelog-review, тестами и rollback планом.
- Vite обычно быстрее в dev, Webpack часто гибче в сложных enterprise-конфигах.
- Tree shaking работает при ESM, корректных imports и правильном
sideEffects. - Code splitting разбивает бандл на чанки и снижает стартовую загрузку JS.
- Анализ бандла делают через visualizer/stats, чтобы найти тяжёлые или дублирующиеся зависимости.
- HMR может ломаться из-за stateful side effects и нестабильных boundaries.
- Env-переменные в бандле нужно разделять на публичные и приватные, чтобы не утекали секреты.
- Source maps нужны для прод-диагностики, но доступ к ним надо ограничивать.
- CI ускоряют кэшированием, параллелизацией и уменьшением лишних шагов pipeline.
- Кэширование ассетов строится на content hash + immutable cache headers.
- Release pipeline включает quality gates: lint, typecheck, tests, build, smoke.
- Vulnerability management: регулярный аудит, patch policy и контроль транзитивных пакетов.
- Anti-patternы конфига: неуправляемые плагины, хаос alias/loaders и отсутствие budget.
- Миграция Webpack -> Vite делается поэтапно с проверкой build parity и метрик.
1. В чем разница npm, pnpm и yarn на практике?
Теги: tooling, build, package-manager
Сложность: Middle/Senior
Короткий ответ
npm/pnpm/yarn различаются стратегией хранения зависимостей, скоростью установки и удобством в монорепах.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "В чем разница npm, pnpm и yarn на практике?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какой сигнал в мониторинге станет trigger для rollback?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- Метрики процесса: lead time, CFR, flaky rate.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
2. Зачем нужен lockfile и почему его нельзя игнорировать?
Теги: tooling, build, package-manager
Сложность: Middle/Senior
Короткий ответ
Lockfile фиксирует точное дерево зависимостей и обеспечивает воспроизводимые сборки.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Прогоняю smoke + observability checklist и убеждаюсь, что релизные критерии выполняются автоматически.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Зачем нужен lockfile и почему его нельзя игнорировать?" с одним production-сценарием и объясните, почему она влияет на результат.
- Опишите минимальные quality gates и критерии rollback.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какой сигнал в мониторинге станет trigger для rollback?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- Метрики процесса: lead time, CFR, flaky rate.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
3. Разница npm install и npm ci?
Теги: tooling, build, package-manager
Сложность: Middle/Senior
Короткий ответ
npm ci ставит строго по lockfile, быстрее и стабильнее для CI, чем npm install.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Разница
npm installиnpm ci?" с одним production-сценарием и объясните, почему она влияет на результат. - Привяжите тему к delivery-риску: что ломается в
CI/CDбез этого решения. - Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
4. Как работает semver и риски диапазонов версий?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Semver определяет совместимость версий, но диапазоны могут неожиданно подтянуть breaking changes.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Прогоняю smoke + observability checklist и убеждаюсь, что релизные критерии выполняются автоматически.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как работает semver и риски диапазонов версий?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Деплоят без заранее описанного rollback-плана.
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
5. Что такое peerDependencies и как решать конфликты?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
peerDependencies декларируют совместимость с хост-пакетом; конфликты требуют выравнивания версий.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Что такое peerDependencies и как решать конфликты?" с одним production-сценарием и объясните, почему она влияет на результат.
- Привяжите тему к delivery-риску: что ломается в
CI/CDбез этого решения. - Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- План rollout/rollback и критерии остановки релиза.
- Структуру CI/CD и обязательные quality gates.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
6. Когда применять workspaces в монорепозитории?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Workspaces позволяют централизованно управлять зависимостями и пакетами в монорепозитории.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
{
"private": true,
"workspaces": ["apps/*", "packages/*"]
}
Углубление (2-3 минуты)
- Свяжите тему "Когда применять workspaces в монорепозитории?" с одним production-сценарием и объясните, почему она влияет на результат.
- Опишите минимальные quality gates и критерии rollback.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какой сигнал в мониторинге станет trigger для rollback?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
7. Как безопасно обновлять зависимости в большом проекте?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Обновление зависимостей делается поэтапно с changelog-review, тестами и rollback планом.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как безопасно обновлять зависимости в большом проекте?" с одним production-сценарием и объясните, почему она влияет на результат.
- Привяжите тему к delivery-риску: что ломается в
CI/CDбез этого решения. - Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- План rollout/rollback и критерии остановки релиза.
- Структуру CI/CD и обязательные quality gates.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
8. Как выбирать между Vite и Webpack?
Теги: tooling, build, bundlers
Сложность: Middle/Senior
Короткий ответ
Vite обычно быстрее в dev, Webpack часто гибче в сложных enterprise-конфигах.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Оптимизация без измерений может ухудшить DX и не дать эффекта на реальных метриках.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как выбирать между Vite и Webpack?" с одним production-сценарием и объясните, почему она влияет на результат.
- Привяжите тему к delivery-риску: что ломается в
CI/CDбез этого решения. - Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
9. От чего зависит tree shaking?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Tree shaking работает при ESM, корректных imports и правильном sideEffects.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
// less effective
import _ from 'lodash';
// better for bundle size
import debounce from 'lodash/debounce';
Углубление (2-3 минуты)
- Свяжите тему "От чего зависит tree shaking?" с одним production-сценарием и объясните, почему она влияет на результат.
- Опишите минимальные quality gates и критерии rollback.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- План rollout/rollback и критерии остановки релиза.
- Метрики процесса: lead time, CFR, flaky rate.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
10. Как организовать code splitting и chunk strategy?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Code splitting разбивает бандл на чанки и снижает стартовую загрузку JS.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Прогоняю smoke + observability checklist и убеждаюсь, что релизные критерии выполняются автоматически.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как организовать code splitting и chunk strategy?" с одним production-сценарием и объясните, почему она влияет на результат.
- Опишите минимальные quality gates и критерии rollback.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
11. Как анализировать размер бандла и находить причины роста?
Теги: tooling, build, bundlers
Сложность: Middle/Senior
Короткий ответ
Анализ бандла делают через visualizer/stats, чтобы найти тяжёлые или дублирующиеся зависимости.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Прогоняю smoke + observability checklist и убеждаюсь, что релизные критерии выполняются автоматически.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как анализировать размер бандла и находить причины роста?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
12. Как работает HMR и почему иногда ломается?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
HMR может ломаться из-за stateful side effects и нестабильных boundaries.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Прогоняю smoke + observability checklist и убеждаюсь, что релизные критерии выполняются автоматически.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как работает HMR и почему иногда ломается?" с одним production-сценарием и объясните, почему она влияет на результат.
- Опишите минимальные quality gates и критерии rollback.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- План rollout/rollback и критерии остановки релиза.
- Метрики процесса: lead time, CFR, flaky rate.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
13. Как правильно работать с env переменными в сборке?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Env-переменные в бандле нужно разделять на публичные и приватные, чтобы не утекали секреты.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Проверяю pipeline на тестовом релизе: время, стабильность и rollback-сценарий с измеримыми критериями.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как правильно работать с env переменными в сборке?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- План rollout/rollback и критерии остановки релиза.
- Структуру CI/CD и обязательные quality gates.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
14. Что такое source maps и как использовать их в проде?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Source maps нужны для прод-диагностики, но доступ к ним надо ограничивать.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Что такое source maps и как использовать их в проде?" с одним production-сценарием и объясните, почему она влияет на результат.
- Привяжите тему к delivery-риску: что ломается в
CI/CDбез этого решения. - Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Деплоят без заранее описанного rollback-плана.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Какой сигнал в мониторинге станет trigger для rollback?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- Структуру CI/CD и обязательные quality gates.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
15. Как ускорять CI сборки frontend-проекта?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
CI ускоряют кэшированием, параллелизацией и уменьшением лишних шагов pipeline.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как ускорять CI сборки frontend-проекта?" с одним production-сценарием и объясните, почему она влияет на результат.
- Опишите минимальные quality gates и критерии rollback.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какой сигнал в мониторинге станет trigger для rollback?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
16. Как проектировать кэширование статических ассетов?
Теги: tooling, build, cache
Сложность: Middle/Senior
Короткий ответ
Кэширование ассетов строится на content hash + immutable cache headers.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Без стратегии инвалидации кэш становится источником stale-данных и трудноуловимых багов.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как проектировать кэширование статических ассетов?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Деплоят без заранее описанного rollback-плана.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Какой сигнал в мониторинге станет trigger для rollback?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- Структуру CI/CD и обязательные quality gates.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
17. Как организовать release pipeline с quality gates?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Release pipeline включает quality gates: lint, typecheck, tests, build, smoke.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как организовать release pipeline с quality gates?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какой сигнал в мониторинге станет trigger для rollback?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Метрики процесса: lead time, CFR, flaky rate.
- Структуру CI/CD и обязательные quality gates.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
18. Как обрабатывать security vulnerabilities в пакетах?
Теги: tooling, build
Сложность: Middle/Senior
Короткий ответ
Vulnerability management: регулярный аудит, patch policy и контроль транзитивных пакетов.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Непредсказуемые версии и нефиксированные зависимости создают flaky CI и риск внезапных поломок сборки.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Как обрабатывать security vulnerabilities в пакетах?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Деплоят без заранее описанного rollback-плана.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какой сигнал в мониторинге станет trigger для rollback?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- Метрики процесса: lead time, CFR, flaky rate.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
19. Какие anti-patterns бывают в конфигурации bundler?
Теги: tooling, build, bundlers
Сложность: Middle/Senior
Короткий ответ
Anti-patternы конфига: неуправляемые плагины, хаос alias/loaders и отсутствие budget.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Оптимизация без измерений может ухудшить DX и не дать эффекта на реальных метриках.
- Как проверяете решение: Прогоняю smoke + observability checklist и убеждаюсь, что релизные критерии выполняются автоматически.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Углубление (2-3 минуты)
- Свяжите тему "Какие anti-patterns бывают в конфигурации bundler?" с одним production-сценарием и объясните, почему она влияет на результат.
- Покажите, как решение сокращает lead time или снижает change failure rate.
- Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Игнорируют flaky-тесты, из-за чего quality signal теряет доверие.
- Добавляют проверки в CI без учета времени обратной связи команды.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Как измерите влияние изменения на lead time и CFR?
- Какие quality gates обязательны перед релизом этой зоны?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- План rollout/rollback и критерии остановки релиза.
- Метрики процесса: lead time, CFR, flaky rate.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.
Связанные модули и карта
- Обучение: Package Managers и Bundlers
- Обучение: Tooling и Delivery
- Карта подготовки: Package Managers
20. Как строить миграцию Webpack -> Vite без остановки разработки?
Теги: tooling, build, bundlers
Сложность: Middle/Senior
Короткий ответ
Миграция Webpack -> Vite делается поэтапно с проверкой build parity и метрик.
Что сказать на интервью (30-60 секунд)
- Где это применяется: Критично для стабильного CI/CD, предсказуемых релизов и контролируемого размера бандла.
- Главный риск: Big-bang миграции без rollback-плана часто приводят к длительным инцидентам.
- Как проверяете решение: Сравниваю lead time и change failure rate до/после изменения процесса и фиксирую результат в runbook.
Мини-пример
// package.json
{
"scripts": {
"build": "vite build",
"test": "vitest run"
}
}
Куда дальше
- Вернитесь в модуль: Package Managers и Bundlers.
- Сверьтесь с картой темы: Package Managers.
- Продолжайте по маршруту: Middle трек.
- Закрепите один ответ на практике в Песочнице.
Углубление (2-3 минуты)
- Свяжите тему "Как строить миграцию Webpack -> Vite без остановки разработки?" с одним production-сценарием и объясните, почему она влияет на результат.
- Привяжите тему к delivery-риску: что ломается в
CI/CDбез этого решения. - Сформулируйте ключевой trade-off и объясните, как решение масштабируется на уровне системы.
Типичные ошибки
- Добавляют проверки в CI без учета времени обратной связи команды.
- Деплоят без заранее описанного rollback-плана.
- Путают соседние концепции и не обозначают границы применимости выбранного подхода.
Follow-up вопросы
- Какие quality gates обязательны перед релизом этой зоны?
- Как измерите влияние изменения на lead time и CFR?
- Какой trade-off на уровне архитектуры здесь самый критичный?
Что повторить
- Структуру CI/CD и обязательные quality gates.
- План rollout/rollback и критерии остановки релиза.
- Пройдите 2-3 связных вопроса в Банке вопросов и проверьте устойчивость ответа.