Интерактивные презентации
Технические темы со схемами, которые можно трогать: нажимайте кнопки, двигайте ползунки и смотрите, что происходит внутри.
Как работает компьютер
Путь снизу вверх для тех, кто пишет на Python, JS, Go или Java: от битов и процессора до ядра ОС, сети, дисков и контейнеров.
-
01Данные в памяти: биты и байты
Двоичная система и hex, дополнительный код и переполнения, IEEE 754 и деньги, порядок байтов, выравнивание, объекты Python и Java, Unicode и UTF-8.
-
02Как процессор выполняет код
Инструкции и регистры, конвейер, предсказание переходов, кэши и кэш-линии, префетч, false sharing, SIMD — и почему один и тот же цикл бывает быстрее в десять раз.
-
03От исходника до машинного кода
Лексер и парсер, оптимизации, байткод CPython, JIT в V8 и JVM, скрытые классы и деоптимизация, линковка и ELF.
-
04Стек и куча: как работает программа
Сегменты процесса, кадры вызовов и соглашение о вызовах, переполнения стека и буфера, как устроен malloc, значения и ссылки, escape-анализ.
-
05Управление памятью и сборка мусора
malloc/free и его ошибки, владение в Rust, подсчёт ссылок, mark & sweep, барьеры записи, поколения, GOGC, утечки и слабые ссылки. Как устроены GC в Go, JVM, V8 и CPython.
-
06Как устроена современная ОС
Карта операционной системы: слои от железа до приложения, архитектуры ядер, загрузка, прерывания и драйверы, часы, права и песочницы, eBPF и различия Linux, macOS и Windows.
-
07Виртуальная память
Таблицы страниц и TLB, huge pages, page faults и ленивое выделение, overcommit и OOM killer, copy-on-write после fork, swap, page cache, RSS и PSS, лимиты контейнеров.
-
08Процессы, потоки и ядро ОС
Системные вызовы и strace, fork и exec, сигналы и PID 1 в контейнере, планировщик и переключение контекста, потоки и GIL, load average и лимиты CPU.
-
09Гонки, блокировки и атомики
Гонки данных и гонки условий, мьютекс и futex, дедлоки, CAS и ABA, буферы записи и happens-before, закон Амдала и race detector.
-
10Event loop, корутины и зелёные потоки
C10K, epoll и io_uring, микро- и макрозадачи, async/await как конечный автомат, asyncio, горутины, виртуальные потоки Java и процессы Erlang.
-
11Сеть: от пакета до сокета
Инкапсуляция, IP и маршруты, NAT, DNS, TCP изнутри: рукопожатие, окна, контроль перегрузки, задержки, сокеты в ядре, порты и TIME_WAIT.
-
12Файлы, диски и надёжная запись
Дескрипторы и inode, путь записи до NAND, fsync и безопасная замена файла, page cache, HDD/SSD/NVMe, устройство SSD, group commit и ротация логов.
-
13Контейнеры и виртуализация
Namespaces и cgroups v2, слои образа и overlayfs, что делает docker run, сеть контейнеров и безопасность, гипервизоры, EPT, steal time, microVM и Docker на Mac.
Алгоритмы и структуры данных
Что спрашивают на собеседованиях и где всё это работает на практике: в базах, кэшах, ОС и стандартных библиотеках.
-
01Сложность алгоритмов и паттерны задач
Что скрывает O-нотация, как по ограничениям угадать алгоритм, амортизация и цена встроенных операций. Два указателя, окно, префиксные суммы, бинпоиск по ответу, монотонный стек — и случайный O(n²) в продакшене.
-
02Массивы, списки и хеш-таблицы
Динамические массивы и цена вставки, связные списки и кольцевой буфер, хеш-функции, пробирование и надгробия, рехеш и hash flooding, dict, map и HashMap изнутри, LRU-кэш и задачи с собеседований.
-
03Сортировка и поиск
Четыре сортировки наперегонки, pdqsort и Timsort, стабильность, radix sort, quickselect, внешняя сортировка, бинарный поиск без ошибок на единицу и sweep line.
-
04Деревья, кучи и префиксные деревья
Обходы, деревья поиска и повороты, АВЛ и красно-чёрные деревья, B+деревья в базах данных, кучи и top-K, trie и маршрутизация — и как узнать их в задаче на собеседовании.
-
05Графы и алгоритмы на графах
BFS и DFS, циклы и топологическая сортировка, Дейкстра, Беллман–Форд и A*, union-find и остовные деревья — и где они работают: сети, сборки, пакеты, сборщики мусора, дедлоки.
-
06Перебор, ДП и жадные алгоритмы
Рекурсия и перебор с возвратом, мемоизация и таблица, Левенштейн, diff, рюкзак, монеты, LIS, жадные алгоритмы и код Хаффмана — и где это внутри git, gzip и Postgres.
-
07Структуры данных больших систем
Фильтр Блума, HyperLogLog, Count-Min, reservoir sampling, skip list, LSM-дерево, консистентное хеширование, geohash, деревья Меркла и token bucket — на чём построены Redis, Cassandra, RocksDB и CDN.
Системный дизайн
Как проектировать системы под нагрузкой и проходить такое собеседование: оценки, масштабирование, данные, отказы и разборы задач.
-
01Системный дизайн: как подходить к задаче
Как устроено интервью, требования и оценки на салфетке, девятки доступности и бюджет ошибок, перцентили и хвосты, закон Литтла и очереди, API и модель данных.
-
02Масштабирование: балансировка, кэши, CDN
Когда хватит одного сервера, stateless-сервисы, L4 и L7, алгоритмы балансировки и консистентное хеширование, кэши и cache stampede, CDN, rate limiting, сброс нагрузки и автоскейлинг.
-
03Данные в масштабе: репликация, шардирование, консистентность
Выбор хранилища, лидер и реплики, лаг и чтение своих записей, split brain, кворумы, конфликты и CRDT, CAP и PACELC, шардирование и консистентное хеширование, 2PC, CQRS, Snowflake и UUIDv7.
-
04Распределённые системы: сбои, ретраи, очереди, консенсус
Частичные отказы и таймауты, ретраи с джиттером, идемпотентность, circuit breaker, семантика доставки, outbox и саги, часы Лэмпорта, Raft и fencing-токены.
-
05Разбор задач: сокращатель ссылок, rate limiter, лента, чат
Четыре классические задачи по шагам интервью: генерация ключей и парадокс дней рождения, 301/302, token bucket в Redis и fail open/closed, fan-out для знаменитостей и курсоры, шлюзы WebSocket, порядок сообщений и квитанции.
-
06Разбор задач: файлы, такси, поисковый робот, топ-K
Dropbox с чанками и синхронизацией, поиск машин рядом и назначение водителя, поисковый робот с вежливым frontier и simhash, счётчики просмотров и топ запросов на скетчах и окнах.
Отдельные темы
-
Скилы в ИИ-агентах: как это работает
Агентный цикл и контекст, SKILL.md и прогрессивное раскрытие, как модель выбирает скил, инструмент Skill в Claude Code, скрипты, безопасность и как писать описания, которые срабатывают.
-
PostgreSQL изнутри
Память и диск, MVCC и VACUUM, WAL, индексы и планировщик, блокировки, PgBouncer, репликация, фейловер и бэкапы. Где база упирается в потолок.
-
Серверные технологии: что для чего
PostgreSQL, Redis, RabbitMQ, Kafka, Elasticsearch, ClickHouse и S3: как устроены, когда их брать и когда не стоит.
-
Горутины и каналы в Go
Планировщик GMP, как устроен канал внутри, select, пул воркеров и типичные ошибки.