7/14/30-дневные маршруты
Эти маршруты не заставляют всех готовиться одинаково. Они дают понятный темп, если нужно выбрать следующий шаг без хаоса.
Как выбрать маршрут
| Срок | Когда выбирать | Результат |
|---|---|---|
| 7 дней | Интервью близко или нужно быстро освежить базу | Минимальный interview-ready loop |
| 14 дней | Есть время закрыть пробелы и сделать первый mock | Теория, вопросы, практика, mock и разбор ошибок |
| 30 дней | Нужна спокойная подготовка без перегруза | Полный цикл: база, практика, повторение, симуляции |
Если срок нестандартный, не подгоняйте себя под календарь. Берите ближайший режим как шаблон: 3-5 дней - сжимайте 7-дневный план до слабых тем; 10 дней - проходите первые 7 дней и 3 самых слабых дня из 14-дневного; больше месяца - повторяйте 30-дневный цикл по слабым блокам.
Ежедневный формат: читать -> отвечать -> практиковать -> self-check -> повторить завтра.
Если вы не понимаете, какую практику делать после темы, откройте конкретную строку в Мостах практики: Frontend базовое покрытие, Backend / SQL или Backend: интеграция data access.
Как читать день
Каждый день ниже устроен одинаково:
Фокус- один главный навык дня.Сделать- точные материалы, вопросы и practice action.Проверить- observable output: ответ вслух, задача, runbook, таблица, scorecard или mock-разбор.
Правила работы
- Один день - один главный навык.
- Каждый день заканчивается observable output: решенная задача, ответ вслух, runbook, таблица trade-offs или mock-разбор.
- Если день не прошел readiness-check, следующий день начинается с 30 минут повтора.
- Песочница используется как coding drill, а не как "просто открыть редактор".
Junior
Junior за 7 дней
| День | Фокус | Сделать | Проверить |
|---|---|---|---|
| 1 | JS binding basics | JavaScript, урок 1, Junior JS q-1..q-5, Two Sum | За 60 секунд объяснить var/let/const, ==/===, TDZ и почему const Map можно менять |
| 2 | Functions, closures, async order | JavaScript, урок 2, q-6..q-11, free-practice: 5 async-log snippets | До запуска назвать порядок sync -> microtask -> macrotask и один stale-response риск |
| 3 | Collections without accidental mutation | JavaScript, урок 3, q-12..q-17, Merge Sorted Arrays | Выбрать map/filter/reduce по форме результата и объяснить shallow/deep boundary |
| 4 | Browser boundary risk | Web и сеть, урок 3, Security storage, q-18..q-20 | Объяснить storage, CORS и script loading через конкретный XSS/CSRF/CORS риск |
| 5 | React stretch baseline | React, урок 1, Middle React q-1..q-3, Valid Parentheses | Объяснить key, reconciliation и useEffect dependencies на базовом уровне |
| 6 | Interview answer shape | Playbook ответов q-1..q-5, free-practice: 10 ответов по схеме механика -> риск -> пример -> проверка, Get By Path | Каждый ответ укладывается в 60-90 секунд и содержит пример, а не только определение |
| 7 | Junior mock | 8 вопросов из Junior JS, Max Profit, debug-case "UI показывает старые данные" | Ready, если без подсказок закрыты 6/8 ответов, задача и debug-case |
Junior за 14 дней
Дни 1-7: выполните план "Junior за 7 дней", но не пропускайте readiness-check.
| День | Фокус | Сделать | Проверить |
|---|---|---|---|
| 8 | HTML/CSS as user-facing structure | HTML и CSS, HTML, CSS, free-practice: layout/a11y bug | Назвать DOM или layout bug, пользовательский риск и проверку в DevTools/keyboard path |
| 9 | Rendering pipeline | Рендеринг веб-страницы, free-practice: critical rendering path | Объяснить DOM, CSSOM, render tree и LCP/INP риск без пересказа определения |
| 10 | React effects | React, урок 2, Middle q-3..q-5 | Найти stale-effect bug по dependencies и назвать cleanup/abort strategy |
| 11 | Testing by risk | Тестирование frontend, free-practice: test plan для формы логина, Valid Anagram | Test plan содержит positive, negative, boundary и accessibility assertion |
| 12 | Install and build reliability | Package Managers и Bundlers, Bundlers q-1..q-5 | Объяснить lockfile, npm ci и один CI install failure scenario |
| 13 | Git recovery | Git, Git-тренажер: conflict, Git-тренажер: hotfix, 10 слабых карточек | Показать порядок безопасного hotfix и назвать rollback point |
| 14 | Junior mock and decision | 12 вопросов, Contains Duplicate, Binary Search, 1 разбор ошибки | Если scorecard ready - идти в Middle path; если partial/not ready - повторить дни 8-13 |
Junior за 30 дней
| Дни | Фокус | Сделать | Проверить |
|---|---|---|---|
| 1-7 | Core JS interview loop | Выполнить "Junior за 7 дней" с ежедневным повтором вчерашних ошибок | Каждый день имеет один слабый сигнал и corrective action на завтра |
| 8-14 | Web, React, testing, tooling | Выполнить "Junior за 14 дней" и вести список слабых тем: JS, Web, React, Testing, Tooling | Для каждой слабой темы есть точный вопрос, task или free-practice prompt |
| 15-18 | JavaScript depth | Junior JS q-1..q-20, Move Zeroes, Single Number, Fibonacci, Palindrome | 4 задачи решены с edge-cases, а ответы не путают соседние JS-механики |
| 19-22 | React/Web failure modes | React lessons, Web и сеть, Security, free-practice: stale data и CORS runbook | Runbook содержит symptom, cause, fix, verification и regression guard |
| 23-26 | Delivery basics | Testing, Tooling, Git, Git-тренажер: rollback, release checklist | Checklist отделяет merge-blocking checks от nightly/manual checks |
| 27-29 | Mock repetitions | 3 mock-сессии: JS fundamentals, React/Web, live-coding | После каждой: 3 ошибки, root cause и corrective action |
| 30 | Final readiness | 15 ответов, 2 задачи, 1 debug-case | Ready, если слабые темы имеют точный repeat plan, а не "надо повторить все" |
Middle
Middle за 7 дней
| День | Фокус | Сделать | Проверить |
|---|---|---|---|
| 1 | JS depth for React work | JavaScript, Middle q-1..q-4, Longest Unique Substring | Объяснить async/closure/data-shape риск через production bug |
| 2 | React render mechanics | React, уроки 1-2, q-1..q-7 | Объяснить reconciliation, keys, effects, memoization и где memoization вредна |
| 3 | State ownership | React, уроки 3-4, free-practice: state ownership для фильтруемого списка, First Position | State map отделяет server data, local draft, derived data и UI-only state |
| 4 | TypeScript boundary | TypeScript, уроки 1-3, free-practice: fetchJson<T>() + runtime guard | Назвать, что TypeScript доказывает compile-time и что не доказывает после сети |
| 5 | Next.js rendering/data choice | Next.js, уроки 1-3, Next.js q-1..q-8 | Выбрать SSR/SSG/ISR/RSC по кейсу и назвать cache invalidation risk |
| 6 | Frontend architecture boundary | Frontend-архитектура, урок 1, free-practice: feature layers + ownership, Merge Intervals | Разложить feature на layers без циклической зависимости |
| 7 | Middle mock | 10 React/JS вопросов, 1 Next.js trade-off, Subarray Sum K | Ready, если решения аргументированы trade-offs, а не "так принято" |
Middle за 14 дней
Дни 1-7: выполните "Middle за 7 дней".
| День | Фокус | Сделать | Проверить |
|---|---|---|---|
| 8 | TypeScript domain boundary | TypeScript, урок 4, free-practice: DTO -> domain -> UI boundary | Mapping table содержит raw shape, domain shape, fallback/error и runtime check |
| 9 | Next.js loading/cache states | Next.js, урок 4, Next.js q-9..q-15 | Объяснить loading/error states и cache invalidation по user-visible risk |
| 10 | React test strategy | Testing, free-practice: test pyramid для React feature, Product Except Self | Каждый тест связан с риском, expected assertion и тем, что слой не покрывает |
| 11 | Tooling and CI triage | Tooling и Delivery, Bundlers q-6..q-12 | Объяснить CI failure triage: cache, install, build, env, bundle regression |
| 12 | Node baseline for fullstack | Node.js, уроки 1-2, Node.js q-1..q-8 | Отличить Node event loop от browser event loop и назвать backpressure risk |
| 13 | Branch decision | Fullstack: NestJS или frontend: Frontend-архитектура, уроки 2-4, free-practice: ADR | ADR фиксирует context, decision, alternatives, consequences и rollback condition |
| 14 | Middle mock and architecture review | 12 вопросов, Kth Largest, Meeting Rooms, 1 architecture review | Scorecard показывает weak areas и repeat plan на 3 дня |
Middle за 30 дней
| Дни | Фокус | Сделать | Проверить |
|---|---|---|---|
| 1-7 | Middle baseline | Выполнить "Middle за 7 дней" и вести weak signals: где не хватает примера, риска или проверки | Каждый weak signal связан с конкретной карточкой, task или artifact |
| 8-14 | Artifacts, not reading volume | Выполнить "Middle за 14 дней"; каждый день заканчивать artifact: test plan, ADR, DTO boundary, cache strategy, CI triage note | Artifact можно отдать на review без устного объяснения |
| 15-18 | React/Next depth | Middle q-1..q-20, Next.js q-1..q-20, free-practice: data-fetching failure runbook | Runbook покрывает loading, error, partial data, stale cache и retry policy |
| 19-22 | Fullstack/tooling boundary | Node.js, NestJS, Bundlers, Number of Islands | Ответы отделяют frontend, backend, infra и CI responsibility |
| 23-26 | Algorithmic confidence | Merge Intervals, Subarray Sum K, Product Except Self, Kth Largest | Для каждой задачи названы pattern, complexity и edge-case before code |
| 27-29 | Mock repetitions | 3 mock-сессии: React performance, Next.js data/cache, API/reliability | После каждой: trade-off table и повтор 5 слабых ответов |
| 30 | Final readiness | 15 вопросов, 2 задачи, 1 system-design lite | Ready, если решение защищается через risks, alternatives и validation |
Senior
Senior за 7 дней
| День | Фокус | Сделать | Проверить |
|---|---|---|---|
| 1 | System answer frame | Frontend System Design, урок 1, Senior q-1..q-4, free-practice: dashboard answer frame | Ответ содержит users, constraints, data flow, failure modes и validation |
| 2 | Ownership and evolution | Frontend-архитектура, уроки 1-2, q-5..q-8 | Назвать ownership, boundaries, evolution risk и migration step |
| 3 | Performance budget | Performance/System Design урок 2, Sliding Window Maximum, free-practice: performance budget | Budget содержит metric, threshold, owner, measurement и rollback trigger |
| 4 | React/Next architecture review | React, Next.js, Senior q-9..q-12 | Review называет server/client boundary, cache risk, accessibility risk и observability signal |
| 5 | Backend/data reliability | Node.js надежность, Databases, Node.js q-7..q-12, DB q-1..q-6 | Ответ отделяет overload, idempotency, transaction и read-model risk |
| 6 | Algorithm with operational reasoning | LRU Process или Top K Frequent, free-practice: complexity/memory/operational risk | Объяснить complexity, memory pressure и failure mode under load |
| 7 | Senior mock | 1 system design, 1 architecture incident, 1 algorithm | Ready, если ответ содержит constraints, trade-offs, rollout, observability и rollback |
Senior за 14 дней
Дни 1-7: выполните "Senior за 7 дней".
| День | Фокус | Сделать | Проверить |
|---|---|---|---|
| 8 | System evolution | System Design, уроки 3-4, free-practice: evolution plan на 6 месяцев | Evolution plan содержит phased rollout, dependency risk и success metric |
| 9 | Release risk | Tooling и Delivery, Bundlers q-13..q-20 | Release risk matrix отделяет block, watch, accept и rollback action |
| 10 | Type boundaries at scale | TypeScript в большом проекте, free-practice: domain types vs DTO vs UI state | Назвать, где находится runtime validation и кто владеет mapping |
| 11 | Data decision making | Databases, DB q-7..q-14 | Выбрать индекс, транзакцию или денормализацию по конкретному кейсу |
| 12 | Backend architecture | NestJS, NestJS q-1..q-10 | Объяснить module boundaries, error mapping, validation и guard policy |
| 13 | Graph failure modes | Dijkstra или Course Schedule, free-practice: failure modes | До кода назвать graph model, complexity, invalid input и recovery strategy |
| 14 | Senior panel mock | Architecture, delivery, people/ownership, incident | 1-page scorecard: weak areas, evidence, repeat schedule, go/no-go decision |
Senior за 30 дней
| Дни | Фокус | Сделать | Проверить |
|---|---|---|---|
| 1-7 | Senior baseline | Выполнить "Senior за 7 дней"; каждый день фиксировать constraints, risks, validation, rollout | У каждого ответа есть rollout и rollback, а не только architecture sketch |
| 8-14 | Reviewable artifacts | Выполнить "Senior за 14 дней"; artifacts: ADR, incident runbook, rollout plan, performance budget | Artifact можно проверить по risks, owner, metric и decision |
| 15-18 | System design depth | Frontend System Design, Senior Frontend q-1..q-20, free-practice: design docs для dashboard, editor, feed, checkout | Каждый design doc содержит constraints, alternatives, trade-offs и validation plan |
| 19-22 | Reliability/data depth | Node.js, NestJS, Databases, Merge K Sorted Arrays | Ответы связывают failure mode с observability, retry/idempotency и data consistency |
| 23-26 | Senior algorithms | Min Window, Trap Rain Water, Connected Components, Right Side View | Для каждой задачи названы invariant, complexity, memory и edge-case before code |
| 27-29 | Panel repetitions | 3 panel mocks: architecture deep dive, incident/postmortem, delivery/ownership | После каждой: scorecard, missing evidence, repeat list |
| 30 | Final readiness | 1 system design, 1 incident, 1 coding task, 10 senior questions | Ready, если ответы устойчивы к уточнениям, а не держатся на заготовке |
Mock Interview Formats
Используйте эти форматы в дни mock, panel repetitions и final readiness. После каждой сессии заполните Mock interview scorecard и выберите один repeat drill, а не список "повторить все".
Junior mock
Формат: 45 минут.
- 8 вопросов: Junior q-1, q-4, q-7, q-9, q-12, q-14, q-18, q-20.
- 1 coding task: Max Profit или Get By Path.
- 1 debug-case: "UI показывает старые данные после быстрого переключения".
Scorecard:
Ready: 6/8 ответов без подсказок, coding task проходит edge-cases, debug-case разобран какsymptom -> cause -> fix -> verification.Partial: 4-5 ответов готовы или coding task решен с подсказкой; повторить 2 слабых вопроса и 1 sandbox task через 24 часа.Not ready: меньше 4 ответов или нет working task; вернуться к дням 1-6 и повторить Playbook q-1..q-5.
Middle mock
Формат: 60 минут.
- 8 вопросов: Middle q-1, q-3, q-6, q-9, q-13, q-16, Next.js q-4, Next.js q-9.
- 1 coding task: Subarray Sum K или Merge Intervals.
- 1 architecture-lite drill: state ownership или cache/loading failure runbook.
Scorecard:
Ready: 6/8 ответов содержат trade-off, task решена с pattern/complexity до кода, architecture-lite drill имеетrisk -> decision -> validation.Partial: trade-offs появляются после уточнения или task проходит без объяснения pattern; повторить один React/Next block и одну algorithm task.Not ready: ответы держатся на "так принято", нет working task или runbook; повторить дни 1-7 Middle route.
Senior panel mock
Формат: 75 минут.
- 6 вопросов: Senior q-1, q-3, q-10, q-12, q-16, q-19.
- 1 system design: checkout, dashboard, editor или feed.
- 1 incident/postmortem: release regression, observability gap или flaky gate.
- 1 algorithm task: LRU Process, Top K Frequent или Dijkstra.
Scorecard:
Ready: ответы устойчивы к follow-up, system design имеет constraints/trade-offs/rollout, incident имеет corrective actions, algorithm защищен через time/space/failure mode.Partial: сильна одна зона, но нет evidence или repeat schedule по другой; сделать один artifact rewrite и один targeted mock через 48 часов.Not ready: нет go/no-go decision, нет rollback/observability или algorithm объяснен только кодом; вернуться к Senior дням 1-14.
Repeat rules
- Один mock дает максимум 3 corrective actions:
answer,artifact,task. - Через 24 часа повторяется самый слабый блок, не вся программа.
- Через 7 дней повторяется тот же формат mock, но с другой coding task и тем же scorecard.
- Если два mock подряд дают
partialпо одному блоку, не расширяйте темы: сделайте focused drill из Мостов практики, Backend / SQL или Interview pattern taxonomy.
Self-check
| Состояние | Признаки | Следующий шаг |
|---|---|---|
| Ready | Ответы с механизмом, риском, примером и проверкой; задачи проходят edge-cases | Делайте mock в выбранном уровне |
| Partial | Теорию знаете, но путаете edge-cases или trade-offs | Повторите последние 2 дня и решите одну связанную задачу |
| Not ready | Ответы общие, нет практики или нет production-сценария | Вернитесь к 7-дневному плану своего уровня |
Куда дальше
- Если нужен daily route - оставайтесь на этой странице и идите по дням.
- Если нужен список тем - откройте Junior, Middle или Senior.
- Если нужен drills-only режим - выберите одну строку в Мостах практики, затем пройдите связанный Банк вопросов и exact sandbox task, например Two Sum или Оплаченные заказы без дублей.