# Режим: interview-prep — Подготовка к собеседованию

Когда пользователь просит подготовиться к собеседованию в конкретной компании, или оценка ≥ 4.0 и статус обновлён на `Interview`.

## Входные данные

1. **Название компании** и **должность** (обязательно)
2. **Отчёт оценки** в `reports/` (если есть)
3. **Банк историй** `interview-prep/story-bank.md`
4. **CV** `cv.md` + `article-digest.md`
5. **Профиль** `config/profile.yml` + `modes/_profile.md`

## Шаг 1 — Исследование

WebSearch-запросы. Извлекать структурированные данные, не пересказы. Цитировать источники.

| Запрос | Что извлечь |
|--------|-------------|
| `"{company} {role} interview questions site:glassdoor.com"` | Реальные вопросы, сложность, таймлайн, кол-во раундов |
| `"{company} interview process site:teamblind.com"` | Описания процесса, данные о компенсации |
| `"{company} {role} interview site:leetcode.com/discuss"` | Конкретные задачи, темы system design |
| `"{company} engineering blog"` | Стек, ценности, технические приоритеты |
| `"{company} собеседование отзывы site:habr.com"` | Отзывы на русском о процессе собеседования |
| `"{company} отзывы собеседование site:hh.ru"` | Отзывы кандидатов на hh.ru |

**НЕ выдумывать вопросы.** Выведенные из JD — помечать `[выведено из JD]`.

## Шаг 2 — Обзор процесса

```markdown
## Обзор процесса
- **Раунды:** {N} раундов, ~{X} дней от начала до конца
- **Формат:** {напр., скрининг HR → техническое интервью → тестовое → onsite → нанимающий менеджер}
- **Сложность:** {X}/5 (среднее Glassdoor, N отзывов)
- **Позитивный опыт:** {X}%
- **Особенности:** {напр., "парное программирование вместо доски", "без LeetCode, только практические задачи"}
- **Источники:** {ссылки}
```

## Шаг 3 — Разбор по раундам

```markdown
### Раунд {N}: {Тип}
- **Длительность:** {X} мин
- **Проводит:** {коллега / менеджер / skip-level / рекрутер}
- **Что оценивают:** {конкретные навыки}
- **Зафиксированные вопросы:**
  - {вопрос} — [источник: Glassdoor 2026-Q1]
- **Как готовиться:** {1-2 конкретных действия}
```

## Шаг 4 — Вероятные вопросы

### Технические
Вопросы по system design, кодированию, архитектуре, domain knowledge.

### Поведенческие
Вопросы про лидерство, конфликты, коллаборацию, неудачи.
Для каждого — какая история из `story-bank.md` подходит лучше всего.

### Специфичные для роли
Вопросы, привязанные к конкретному JD (с учётом архетипа).

### Red flags в бэкграунде
Вопросы, которые интервьюер вероятно задаст про пробелы, переходы или необычные элементы в бэкграунде. Читать `_profile.md` и `cv.md`.

## Шаг 5 — Маппинг банка историй

| # | Вероятный вопрос/тема | Лучшая история из story-bank.md | Fit | Пробел? |
|---|----------------------|-------------------------------|-----|---------|

- **strong**: история прямо отвечает на вопрос
- **partial**: история смежная, нужен рефрейминг
- **none**: нет подходящей → отметить для пользователя

## Шаг 6 — Чеклист технической подготовки

```markdown
- [ ] {тема} — почему: "{доказательство из исследования}"
- [ ] {тема} — почему: "{их блог/продукт говорит, что это важно}"
```

Приоритизировать по частоте и релевантности. Максимум 10 пунктов.

## Шаг 7 — Сигналы компании

- **Ценности, на которые скринят:** назвать, цитировать источник
- **Словарь для использования:** внутренние термины компании
- **Чего избегать:** анти-паттерны из отзывов
- **Вопросы им:** 2-3 острых вопроса, демонстрирующих домашнюю работу

## Специфика российских собеседований 🇷🇺

### Типичные раунды в российских компаниях
1. **Скрининг HR** (20-30 мин): мотивация, зарплатные ожидания, готовность к переезду/формату
2. **Техническое интервью** (60-90 мин): алгоритмы, system design, знание стека
3. **Live coding** (45-60 мин): задачи на алгоритмы или практические задачи
4. **System design** (60 мин): проектирование систем (особенно Яндекс, Авито, VK, Ozon, Т-Банк)
5. **Культурный fit** (30-45 мин): ценности, командная работа, конфликты
6. **Бар-рейзер** (в крупных компаниях): финальное одобрение от senior-инженера

### Частые вопросы на российских собеседованиях
- "Расскажите о себе" (2-3 минуты, структурированно)
- "Почему уходите с текущего места?"
- "Зарплатные ожидания?" (уточнить gross/net)
- "Готовность к переезду / формату работы?"
- "Расскажите о самом сложном проекте"
- "Как решаете конфликты в команде?"
- System design: "Спроектируйте {URL shortener / чат / лента новостей / платёжная система}"

### Формат STAR+R на русском
- **С (Ситуация):** Контекст и вводные
- **З (Задача):** Что нужно было сделать
- **Д (Действия):** Что конкретно сделал
- **Р (Результат):** Измеримый результат
- **О (Осмысление):** Что понял, что сделал бы иначе

## Вывод

Сохранить отчёт в `interview-prep/{company-slug}-{role-slug}.md`.

```markdown
# Подготовка к собеседованию: {Компания} — {Роль}

**Отчёт:** {ссылка на отчёт оценки или "N/A"}
**Исследовано:** {YYYY-MM-DD}
**Источники:** {N} отзывов Glassdoor, {N} постов Blind, {N} прочих
```

## Правила

- **НИКОГДА не выдумывать вопросы и приписывать их источникам.**
- **НИКОГДА не фабриковать рейтинги Glassdoor.**
- **Цитировать всё.** Каждый вопрос, каждая статистика получает источник или тег `[выведено]`.
- Генерировать на языке JD (RU по умолчанию для русскоязычных вакансий).
- Быть прямым. Это рабочий документ подготовки, не мотивационная речь.
