Коротка відповідь. Почни з вимог конкретної вакансії, а не з універсального списку п'ятисот питань. Розбий підготовку на чотири тижні: фундамент, основний стек, live coding, симуляція співбесіди. Кожен тиждень закінчуй перевірюваним результатом – написаним кодом, а не прочитаними сторінками. Нижче – детальний план із таблицею самооцінки.

День 0 – діагностика замість паніки

Випиши ключові технології з 3–5 вакансій, які реально відповідають твоєму рівню. Не з десяти й не «на виріст»: якщо змішати вимоги Junior і Senior в один список, отримаєш недосяжну матрицю і демотивацію замість плану.

Навпроти кожної теми постав один із трьох станів:

Стан Що означає Приклад перевірки
Можу пояснити Розкажу своїми словами з прикладом «Поясни різницю між == і ===»
Можу реалізувати Напишу робочий код без підказок «Напиши debounce»
Можу обґрунтувати Назву компроміси й альтернативи «Чому тут контекст, а не пропси?»

Познач п'ять найбільших прогалин – вони і є твоїм планом. Усе інше на 30 днів ігноруй: краще закрити п'ять тем глибоко, ніж двадцять поверхнево.

Тиждень 1 – фундамент

Для frontend це зазвичай JavaScript, TypeScript і браузерні основи; для інших напрямів – своя база, але принцип той самий.

Щоденний цикл на одну тему (60–90 хвилин):

  1. Поясни сам собі тему вголос або письмово, без підглядання.
  2. Напиши маленький приклад коду, що демонструє суть.
  3. Постав собі питання «що зламається на edge case?» – і перевір.

Коротка щоденна практика зі зворотним зв'язком корисніша за десять годин пасивного відео на вихідних. Якщо тільки починаєш шлях і фундамент ще не сформований – спершу подивись реалістичний маршрут входу в IT: 30 днів підготовки мають сенс, коли база вже є.

Тиждень 2 – основний стек

Тут працює принцип «одна задача, що росте». Замість десяти розрізнених вправ візьми одне завдання, наприклад список із фільтрами й запитами до API, і розвивай його щодня:

  • понеділок – робочий happy path;
  • вівторок – loading, error і порожній стани;
  • середа – типізація TypeScript від даних до подій;
  • четвер – тести на ключову логіку;
  • п'ятниця – доступність: клавіатура, фокус, семантика.

Наприкінці тижня в тебе не конспект, а живий проєкт, який можна показати і про який можна говорити на співбесіді. Для React-стека детальний розбір типових запитань і задач є в гайді з підготовки до React-співбесіди.

Важливо: не додавай технології, яких немає в цільовій вакансії, лише заради рядка в резюме. Глибина в потрібному б'є ширину в усьому.

Тиждень 3 – live coding і system thinking

Live coding перевіряє не лише код, а й комунікацію. Тренуй повний цикл:

  1. Уточни вимоги вголос: які дані, які обмеження, що з крайніми випадками.
  2. Почни з простого рішення і скажи про це прямо: «спочатку зроблю робочу версію, потім покращу».
  3. Коментуй хід думок – інтерв'юер оцінює мислення, а мовчання читати не вміє.
  4. Назви, що б ти протестував, навіть якщо часу на тести немає.
  5. Сам назви слабкі місця свого рішення раніше, ніж про них спитають.

Постав таймер на 40 хвилин і розв'язуй по одній задачі на день у такому форматі. Для Middle/Senior додай дизайн невеликого модуля з обговоренням компромісів; для Junior більше часу віддай впевненій базовій реалізації.

Тиждень 4 – симуляція

  • Проведи хоча б одну повноцінну mock interview – з таймером, камерою і незнайомим форматом запитань. Стрес-реакція на першій справжній співбесіді значно менша, якщо формат уже знайомий.
  • Підготуй behavioral-приклади за структурою situation → action → result: конфлікт, помилка, дедлайн, робота з фідбеком.
  • Переглянь CV під конкретну вакансію і підготуй свої запитання до компанії.

Після mock-співбесіди не записуй «погано знаю React» – це не план. Сформулюй маленьку конкретну дію: «пояснити дві проблеми useEffect на робочому прикладі й написати тест». Велика розмита прогалина не закривається; маленька конкретна – закривається за вечір.

Приклад одного дня підготовки

Щоб план не був абстракцією, ось як виглядає типовий будній день тижня 3 (сумарно ~90 хвилин):

  • 20 хв – повторення вчорашньої теми: пояснити вголос, без матеріалів.
  • 40 хв – live coding задача з таймером.
  • 20 хв – розбір: що не вийшло, який edge case пропустив, що загуглив.
  • 10 хв – записати одну конкретну дію на завтра.

Як зрозуміти, що план працює

Прогрес вимірюється не кількістю перечитаних питань, а чотирма перевірками:

  1. Можеш самостійно розв'язати вправу без готової відповіді.
  2. Можеш пояснити рішення іншій людині так, щоб вона зрозуміла.
  3. Сам знаходиш крайні випадки у власному коді.
  4. Усвідомлено обираєш між альтернативами, а не «так у туторіалі було».

Якщо всі чотири пункти працюють на темах із твого списку прогалин – ти готовий більше, ніж більшість кандидатів, які «прочитали топ-500 питань». Успіху на співбесіді!