Углубление: первоисточники, книги, лабораторные
Эта страница — ответ на честный вопрос: «можно ли выучиться только по этому учебнику?» Можно ускориться — но не для глубоких тем. Когда речь заходит о PostgreSQL, Kubernetes и System Design, этот учебник даёт карту, ментальные модели и практику — а дальше тебе нужны первоисточники, книги от практиков и собственные эксперименты. Здесь собрано, куда идти.
PostgreSQL
Заголовок раздела «PostgreSQL»Учебник даёт моделирование, индексы, транзакции. Чтобы выйти на уровень «спроектировать схему, которая выдержит рост», нужно больше.
Официальная документация (postgresql.org/docs) — читай не целиком, а главы: Indexes (11), Concurrency Control (13), WAL (30), Routine Database Maintenance Tasks. Документация Postgres — одна из лучших в индустрии: точная и с примерами.
Книги:
- Егор Рогов — «PostgreSQL Internals» (части I–II, бесплатные PDF от Postgres Professional). Устройство MVCC, буферного кэша, исполнителя запросов — то, что обычно «под капотом».
- «The Art of PostgreSQL» (Dimitri Fontaine) — как думать декларативно и выжимать максимум из SQL вместо того, чтобы тащить логику в приложение.
Лабораторные:
- Сгенерируй 10 млн строк (
generate_series), построй разные индексы и сравни планыEXPLAIN ANALYZEна одинаковых запросах. - Подними streaming-реплику (primary → replica), убей primary — отработай promote реплики.
- Двумя сессиями поймай deadlock, прочитай его разбор в логе, исправь порядок захвата блокировок.
- Настрой
pg_stat_statements, найди три самых дорогих запроса и оптимизируй их.
Kubernetes
Заголовок раздела «Kubernetes»Учебник даёт манифесты, сервисы, RBAC. Настоящее понимание приходит от эксплуатации и чтения того, как устроен кластер.
Первоисточники:
- kubernetes.io/docs/concepts — обязательный минимум: Pods, Workloads, Services, Storage, Configuration.
- «Kubernetes The Hard Way» (Kelsey Hightower, github.com/kelseyhightower/kubernetes-the-hard-way) — легендарная бесплатная лаба: собираешь кластер из бинарников руками, без kubeadm. После неё kubeadm, сертификаты и сетевую модель ты понимаешь, а не заучиваешь.
Книги:
- Marko Lukša — «Kubernetes in Action» — лучшее плавное введение.
- Nigel Poulton — «The Kubernetes Book» — короткая сверка перед собеседованием.
Лабораторные:
- Подними k3s локально (одна команда) и разверни свой pet-проект из образа.
- Убей под и засеки время self-healing; потом убей ноду — и сравни.
- Напиши NetworkPolicy, запрещающий всё, кроме ingress → app → db, и проверь
kubectl exec-ом. - Пройди The Hard Way на двух VM.
System Design и распределённые системы
Заголовок раздела «System Design и распределённые системы»Это область, где «посмотрел туториал» и «понимаешь» — разные вещи. База: DDIA, практика: проектирование вслух и на бумаге.
Книги:
- Martin Kleppmann — «Designing Data-Intensive Applications» (DDIA) — библия: хранилища, индексы, репликация, партиционирование, консенсус. Читается месяцами — это нормально. После неё вопросы «что выберешь: Kafka или RabbitMQ» перестают быть угадайкой.
- Alex Xu — «System Design Interview» (vol. 1–2) — тренажёр формата собеседования: пошаговое проектирование URL-shortener, чата, ленты.
Лекции:
- MIT 6.824 Distributed Systems — лекции на YouTube бесплатно: MapReduce, Raft, консенсус. Уровень «почувствовать глубину».
Лабораторные:
- Спроектируй и напиши URL-shortener: Redis-кэш, идемпотентные ключи, агрегация статистики через очередь.
- Реализуй consistent hashing на TypeScript и проверь равномерность распределения ключей.
- Подними два инстанса приложения за балансировщиком и устрой гонку на уровне БД — затем почини её транзакцией или advisory lock’ом.
Собеседования: держи руку на пульсе
Заголовок раздела «Собеседования: держи руку на пульсе»Вопросы «на собеседование» в главах — фундамент: замыкания, Event Loop, индексы, уровни изоляции. Но форматы собеседований меняются быстро: live-coding уступает место take-home заданиям, системный дизайн мутирует, везде проникают AI-инструменты и проверка на их умение.
Правило: главы дают базу знаний, а актуальный формат смотри у практиков:
- YouTube — свежие mock-интервью по твоему стеку (ищи записи этого года, не пятилетней давности);
- Telegram-каналы с разборами реальных собеседований и вакансиями — там видно, что реально спрашивают сейчас;
- раз в полгода пересматривай свой ответ на классику: «расскажи, что происходит, когда вводишь URL в браузер» — твой ответ должен расти вместе с тобой.
Сводная таблица углубления
Заголовок раздела «Сводная таблица углубления»| Тема | Первая остановка | Книга | Лабораторная |
|---|---|---|---|
| PostgreSQL | Доки, гл. 11, 13, 30 | «PostgreSQL Internals» | Реплика + deadlock + 10M строк |
| Kubernetes | Доки concepts + The Hard Way | «Kubernetes in Action» | k3s + убийство подов и нод |
| System Design | Главы 13-го раздела | DDIA → Alex Xu | URL-shortener + consistent hashing |
| Собеседования | Вопросы в главах | Alex Xu vol. 1–2 | Mock-интервью с записью себя на камеру |
Последнее испытание любой темы — объясни её вслух за пять минут так, чтобы понял джун. Не получается — возвращайся к первоисточнику. Работает безотказно.