Отлично! Начинаем с базового, но ядра всего собеседования — code review.

💡 Что такое Code Review

Code Review — это процесс проверки кода другими разработчиками до его попадания в основную ветку проекта.

🧠 Но на практике — это гораздо больше, чем просто "найти ошибку".

🔎 Зачем он нужен

🧼 1. Повышение качества кода

  • Убираются баги, smell'ы, дублирование
  • Проверяется соответствие код-стайлу и архитектурным соглашениям

🧠 2. Обратная связь и рост команды

  • Мидл может обучать джуна
  • Сеньор может направить мидла
  • Команда делится практиками и подходами

🧱 3. Архитектурная целостность

  • Проверяется, не рушит ли код границы ответственности
  • Не нарушается ли модульность, testability, читаемость

🔒 4. Безопасность и устойчивость

  • Видны потенциальные XSS, SQLi, ошибки в обработке ошибок
  • Защита от race conditions, deadlocks и прочего адского

🧩 Что обычно смотрят на ревью

Зачем
Поймёт ли следующий разработчик, что происходит?
Не нарушаются ли SRP, DRY, абстракции, testability?
Всё ли правильно реализовано по задаче? Нет ли бага?
Что будет, если передать неожиданные данные?
Нет ли утечки, XSS, SQLi, проблем с авторизацией?
Нет ли лишних запросов, итераций, аллоцируемых объектов?

👨‍💻 На собеседовании: как это выглядит

Тебе могут дать:

  • Готовый файл/метод/PR и попросить прокомментировать: что хорошо, что плохо
  • Задать вопросы: "как бы ты улучшил это?", "где тут баг?", "есть ли smell?"
  • Спросить: "если бы ты получил такой PR — что бы ты написал автору?"

✅ Что они хотят от тебя увидеть

  • Умеешь читать код вдумчиво, не только писать
  • Видишь структурные и логические проблемы, не закапываясь в форматирование
  • Можешь обосновать свои предложения
  • Делаешь ревью как инженер, а не "придира"

Если всё выше понятно, предлагаю дальше:

  1. Уточню, что тебе хорошо знакомо из этого, а что вызывает вопросы
  2. Покажу пример плохого кода и мы попробуем его поревьюить

Хочешь так?