Подготовка к собеседованию
Зачем нужно
Собеседование — это навык, который тренируется отдельно от программирования. Можно быть сильным разработчиком и провалить интервью из-за отсутствия подготовки. Системная подготовка увеличивает шансы на оффер в разы.
Где используется
- Поиск первой работы — после RS School
- Смена компании — рост карьеры
- Стажировки — отбор на позицию
- Фриланс — общение с заказчиком
CV (резюме) — основные советы
Структура
1. Имя + контакты (email, GitHub, LinkedIn)
2. About / Summary (2-3 предложения)
3. Skills (группированные)
4. Projects (2-4 лучших)
5. Education
6. Languages (English level)
Чеклист хорошего CV
- Одна страница (для junior)
- Нет фото (если не требуется)
- Нет опечаток (проверь дважды)
- Актуальные контакты
- GitHub ссылка (с активностью)
- Проекты с описанием и ссылками
- Технологии релевантны вакансии
- PDF формат (не .docx)
- ATS-friendly шрифт и структура
Чего НЕ нужно
✗ "Ответственный, пунктуальный, стрессоустойчивый"
✗ Список ВСЕХ технологий, которые видел
✗ Нерелевантный опыт (работал на кассе 3 года)
✗ Шкалы навыков (HTML ████░ 80%)
✗ Личная информация (возраст, семейное положение)
Portfolio — проекты
Что включить
## Проект: Task Manager App
**Описание:** SPA для управления задачами с drag & drop,
фильтрацией и dark mode.
**Технологии:** TypeScript, React, Redux Toolkit, RTK Query
**Что реализовано:**
- Kanban-доска с drag & drop (react-dnd)
- Авторизация через JWT
- Адаптивный дизайн (mobile-first)
- Покрытие тестами 80%+
**Ссылки:**
- Deploy: https://task-app.vercel.app
- Code: https://github.com/user/task-app
Требования к проектам
DO:
✓ README с описанием и скриншотами
✓ Развёрнут и работает (deploy)
✓ Чистый код (не учебный спагетти)
✓ Адаптивность (mobile)
✓ Демонстрирует конкретные навыки
DON'T:
✗ TODO-лист без каких-либо особенностей
✗ Нерабочие ссылки
✗ console.log в коде
✗ Закомментированный код
✗ Пустой README
GitHub Profile
Оформление профиля
# Что делает профиль привлекательным:
1. Profile README (username/username repo)
2. Pinned repositories (лучшие проекты)
3. Зелёный график контрибуций
4. Описание в репозиториях
5. README в каждом проекте
6. Нет пустых/заброшенных репо (приватизируй или удали)
Зелёный график
Не нужно коммитить ради коммитов.
Лучше: регулярная работа над проектами.
Mon: ░░░░░░█░░░░█░░░░░░█░░░░░░█░░░░░█░░░░█░░
Tue: ░░░░█░░░░░░░░█░░░░░░░░█░░░░█░░░░░░░░█░░
Wed: ░░░░░░░█░░░█░░░░█░░░░░░░░░░░░█░░░░░░░█░
Soft Skills — навыки общения
На собеседовании
1. Думай вслух — покажи ход мыслей
2. Задавай уточняющие вопросы
3. Признавай, если не знаешь ("Не работал с этим, но...")
4. Структурируй ответы
5. Не перебивай
6. Следи за временем
STAR-метод для поведенческих вопросов
S — Situation: опиши ситуацию
T — Task: какая задача стояла
A — Action: что ты сделал
R — Result: какой результат получился
Пример:
"Расскажи о сложной задаче"
S: На проекте нужно было интегрировать API, документация
которого была неполной.
T: Реализовать работу с API за 3 дня.
A: Изучил network-запросы существующего приложения,
написал типы, создал обёртку с error handling.
R: Интеграция завершена в срок, обёртку переиспользовали
в других частях проекта.
Technical Interview — формат
Типичные этапы
1. HR-скрининг (15-30 мин)
- Мотивация, зарплатные ожидания
- Общие вопросы
2. Техническое интервью (45-90 мин)
- Теоретические вопросы
- Задачи на знание JS/CSS/HTML
- Live coding
3. Практическое задание (1-5 дней)
- Тестовое задание домой
- Или pair programming на интервью
4. Финальное интервью
- С тимлидом или CTO
- Культурный fit
- Вопросы от кандидата
Теоретические вопросы
Частые темы:
- JavaScript: замыкания, this, прототипы, Event Loop, промисы
- CSS: специфичность, Flexbox, Grid, БЭМ, адаптивность
- HTML: семантика, доступность, формы
- Сеть: HTTP, REST, CORS, кэширование
- Git: ветвление, merge vs rebase, конфликты
- TypeScript: типы, generics, utility types
Live coding — советы
1. Прочитай задачу полностью
2. Задай уточняющие вопросы
3. Проговори подход ДО кодирования
4. Начни с brute-force, потом оптимизируй
5. Пиши чистый код (имена, структура)
6. Протестируй на примерах
7. Обсуди сложность (Big O)
System Design — основы
Для junior — базовое понимание:
"Как бы ты спроектировал TODO-приложение?"
1. Требования: что должно уметь?
- CRUD операции
- Фильтрация, поиск
- Авторизация
2. Frontend архитектура:
- Компонентная структура
- State management
- API layer
3. API:
- REST endpoints
- Формат данных
- Обработка ошибок
4. Хранение:
- LocalStorage / БД
- Кэширование
Вопросы от кандидата
## Хорошие вопросы интервьюеру:
- Какой стек технологий используете?
- Как организован процесс разработки? (Scrum/Kanban)
- Как проходит код-ревью?
- Есть ли тесты? CI/CD?
- Какой размер команды?
- Какая система менторства для новых сотрудников?
- Какие задачи я буду решать в первый месяц?
## Не спрашивай:
✗ То, что есть на сайте компании
✗ О зарплате на первом техническом интервью
✗ "А у вас есть печеньки?"
Частые ошибки
| Ошибка | Проблема | Решение |
|---|---|---|
| Не готовился | Не ответил на базовые вопросы | Повтори топ-30 вопросов |
| CV на 3 страницы | Не читают | Одна страница, максимум |
| Нет deploy | Проект не проверить | Деплой каждый проект |
| Молчание при задаче | Непонятен ход мысли | Думай вслух |
| «Я всё знаю» | Выглядит неискренне | Говори «не уверен, но думаю...» |
| Не задал вопросы | Нет интереса к компании | Подготовь 3-5 вопросов |
Практика
- Обнови CV по чеклисту
- Оформи GitHub профиль с README
- Выбери 2-3 проекта для портфолио и задеплой
- Проведи mock-интервью с другом
- Ответь на топ-30 вопросов письменно
Связанные темы
- Частые вопросы на интервью — конкретные вопросы
- Резюме разработчика — подробнее о CV
- Code Review — навык для интервью
- Agile и Scrum — процессы на интервью