✻ Дополнительно
Расписание: 21 неделя по 5 занятий
Курс рассчитан на 21 неделю, 5 занятий в неделю по 1,5–2 часа, всего 101 занятие. Урок на 2–2,5 часа занимает одно занятие, длинные уроки (3 часа и больше) разбиты на два дня, а в конце крупных тем стоит день повторения.
timeline
title Путь за 21 неделю
Недели 1–3 : Linux для нагрузочника : Как устроен веб-сервис
Недели 4–7 : Git и GitHub : Python для тестировщика
Недели 7–10 : Docker и стенд «Магазин» : Автотесты API и CI
Недели 10–12 : Метрики, логи, трейсы и алерты
Недели 12–15 : Теория производительности : Locust
Недели 15–18 : k6 : Поиск узких мест
Недели 18–21 : Отчёт, CI, ёмкость : Финал и собеседования
Как заниматься
- Каждый день одно занятие, в одно и то же время. Регулярность важнее длины: пять раз по 1,5 часа дают больше, чем один раз 8 часов. Базовые вещи запоминаются, когда ты возвращаешься к ним каждый день.
- Начинай занятие с пяти минут повторения. Открой «Итог урока» вчерашнего урока и ответь вслух на два вопроса с собеседований из него, не подглядывая.
- Практику делай руками, даже если кажется, что всё понятно из текста. Команды набирай, а не копируй, хотя бы первые недели.
- Не успел за занятие: это нормально. Доделай на следующий день и сдвинь план. День повторения в конце темы как раз запас на такие сдвиги.
- Застрял больше чем на 20 минут: перечитай раздел «Типичные ошибки», затем спроси нейросеть-преподавателя (настройка на странице ИИ-помощник) и покажи ей точный текст ошибки.
День повторения
В конце крупных тем стоит отдельный день. Его порядок всегда одинаковый:
- 30 минут: вопросы с собеседований всех уроков темы вслух и на время, по 1–2 минуты на ответ. Вопросы, где запнулся, выпиши.
- 40 минут: повтори практику, которая далась тяжелее всего, с чистого листа, без подсказок.
- 20 минут: по выписанным вопросам перечитай теорию и ответь ещё раз.
Отвечать вслух важно: на собеседовании знание, которое ни разу не проговаривал, от волнения «пропадает». Проговорённое остаётся.
План по дням
| Неделя | Пн | Вт | Ср | Чт | Пт |
|---|---|---|---|---|---|
| 1 | 1.1 | 1.2, ч. 1 | 1.2, ч. 2 | 1.3, ч. 1 | 1.3, ч. 2 |
| 2 | 1.4, ч. 1 | 1.4, ч. 2 | 1.5, ч. 1 | 1.5, ч. 2 | 2.1, ч. 1 |
| 3 | 2.1, ч. 2 | 2.2 | 2.3 | 2.4, ч. 1 | 2.4, ч. 2 |
| 4 | 3.1, ч. 1 | 3.1, ч. 2 | 3.2, ч. 1 | 3.2, ч. 2 | 4.1 |
| 5 | 4.2, ч. 1 | 4.2, ч. 2 | 4.3 | 4.4, ч. 1 | 4.4, ч. 2 |
| 6 | 4.5, ч. 1 | 4.5, ч. 2 | 4.6, ч. 1 | 4.6, ч. 2 | 4.7, ч. 1 |
| 7 | 4.7, ч. 2 | Повторение тем 1–4 | 5.1, ч. 1 | 5.1, ч. 2 | 5.2, ч. 1 |
| 8 | 5.2, ч. 2 | 5.3, ч. 1 | 5.3, ч. 2 | 5.4, ч. 1 | 5.4, ч. 2 |
| 9 | 6.1, ч. 1 | 6.1, ч. 2 | 6.2, ч. 1 | 6.2, ч. 2 | 6.3, ч. 1 |
| 10 | 6.3, ч. 2 | 7.1, ч. 1 | 7.1, ч. 2 | 7.2, ч. 1 | 7.2, ч. 2 |
| 11 | 7.3 | 7.4, ч. 1 | 7.4, ч. 2 | 7.5 | 7.6, ч. 1 |
| 12 | 7.6, ч. 2 | 7.7, ч. 1 | 7.7, ч. 2 | Повторение тем 5–7 | 8.1, ч. 1 |
| 13 | 8.1, ч. 2 | 8.2, ч. 1 | 8.2, ч. 2 | 8.3, ч. 1 | 8.3, ч. 2 |
| 14 | 8.4, ч. 1 | 8.4, ч. 2 | 9.1 | 9.2 | 9.3 |
| 15 | 9.4 | 9.5 | Повторение тем 8–9 | 10.1, ч. 1 | 10.1, ч. 2 |
| 16 | 10.2, ч. 1 | 10.2, ч. 2 | 10.3, ч. 1 | 10.3, ч. 2 | 11.1, ч. 1 |
| 17 | 11.1, ч. 2 | 11.2 | 11.3, ч. 1 | 11.3, ч. 2 | 11.4 |
| 18 | 11.5 | Повторение тем 10–11 | 12.1, ч. 1 | 12.1, ч. 2 | 12.2, ч. 1 |
| 19 | 12.2, ч. 2 | 12.3, ч. 1 | 12.3, ч. 2 | 13.1, ч. 1 | 13.1, ч. 2 |
| 20 | 13.2, ч. 1 | 13.2, ч. 2 | 13.3 | 13.4 | 13.5 |
| 21 | Итоговое повторение всего курса |
Урок на 2,5 часа иногда занимает полтора занятия. Тогда доделай его на следующий день, а запас возьми из ближайшего дня повторения.
Контрольные точки
После каждой точки проверь себя: если хоть один пункт не получается без подсказки, вернись к уроку, прежде чем идти дальше.
| Конец недели | Что ты должен уметь сам |
|---|---|
| 3 | Найти, чем занят процессор и память машины, проверить DNS через dig, сделать запрос curl -i и прочитать каждую строку ответа |
| 7 | Написать на Python скрипт, который логинится в API и сохраняет ответ в файл, и тест на pytest для него |
| 10 | Поднять «Магазин» одной командой и прогнать свои автотесты API в GitHub Actions |
| 12 | Построить в Grafana график RPS, доли ошибок и p95 по запросам «Магазина» и объяснить, откуда берутся числа |
| 15 | Написать сценарий покупателя в Locust, запустить по профилю нагрузки и объяснить результат по метрикам |
| 18 | Найти узкое место «Магазина» по метрикам, доказать причину и показать эффект исправления графиком «до и после» |
| 21 | Сделать тестовое задание за один день и пройти пробное собеседование, отвечая вслух |