Рефакторинг
Отлично! Начинаем с базового, но ядра всего собеседования — 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 — что бы ты написал автору?"
✅ Что они хотят от тебя увидеть
- Умеешь читать код вдумчиво, не только писать
- Видишь структурные и логические проблемы, не закапываясь в форматирование
- Можешь обосновать свои предложения
- Делаешь ревью как инженер, а не "придира"
Если всё выше понятно, предлагаю дальше:
- Уточню, что тебе хорошо знакомо из этого, а что вызывает вопросы
- Покажу пример плохого кода и мы попробуем его поревьюить
Хочешь так?