Подготовка к собеседованию

Зачем нужно

Собеседование — это навык, который тренируется отдельно от программирования. Можно быть сильным разработчиком и провалить интервью из-за отсутствия подготовки. Системная подготовка увеличивает шансы на оффер в разы.

Где используется

  • Поиск первой работы — после 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 вопросов

Практика

  1. Обнови CV по чеклисту
  2. Оформи GitHub профиль с README
  3. Выбери 2-3 проекта для портфолио и задеплой
  4. Проведи mock-интервью с другом
  5. Ответь на топ-30 вопросов письменно

Связанные темы

Ресурсы