Уроки D2-D7 (14 файлов): деревья/куча, epoll, потоки, gdb, графы, L2-L3, ДП, TCP, bash, ядро, docker, мок-интервью + cards_src 613

This commit is contained in:
Kodlo-chan
2026-09-25 19:15:23 +07:00
parent 52d401f5e3
commit d313c28919
17 changed files with 5768 additions and 63 deletions
+22
View File
@@ -100,6 +100,10 @@ Programming, RFC 791/793, Wireshark wiki, OSTEP (процессы/память),
- **Зачёт дня:** `PASS` по `01`, `03`, `10`; карточки `base` ≥ 80%.
## D2 — 25.09: деревья и куча | epoll и неблокирующие сокеты
- **Урок:** `lessons/D2_algo.md` (деревья, BST-инвариант, обходы, куча, `heapify` за O(n), top-K),
`lessons/D2_linux.md` (файловый ввод-вывод, `mmap`, `select`/`poll`/`epoll`, LT/ET, `SO_REUSEADDR`),
`lessons/D2_cpp.md` (padding, правило 0/3/5, virtual-деструктор, `std::move`, UB).
- Карточки (30 мин) — `algo`: heap insert O(log n), top-K, обходы деревьев, сложность DFS
по памяти.
- Утро, алгоритмы (3 ч) — бинарные деревья и BST: обходы рекурсией и итерацией,
@@ -118,6 +122,10 @@ Programming, RFC 791/793, Wireshark wiki, OSTEP (процессы/память),
## D3 — 26.09: списки/стек | многопоточность и gdb
- **Урок:** `lessons/D3_algo.md` (списки, разворот, цикл Флойда, кольцевой буфер, монотонный стек),
`lessons/D3_threads.md` (мьютекс, `condition_variable`, атомики и `memory_order`, дедлоки, пул потоков),
`lessons/D3_gdb.md` (gdb: break/watch/bt/frame, core dump, почему краш далеко от причины).
- Карточки (30 мин) — `linux`: epoll O(1) против select O(n), mmap, waitpid, 137/139.
- Утро, алгоритмы (3 ч) — связные списки (разворот, **цикл Флойда**, k-й с конца),
стек/очередь/ring buffer, монотонный стек. Практика: `tasks/02_list`, `tasks/03_ring`
@@ -134,6 +142,10 @@ Programming, RFC 791/793, Wireshark wiki, OSTEP (процессы/память),
## D4 — 27.09: графы | L2/L3 и подсети
- **Урок:** `lessons/D4_algo.md` (BFS/DFS, топосорт, Дейкстра, union-find),
`lessons/D4_net.md` (OSI и инкапсуляция, Ethernet 14 байт, VLAN +4, ARP, IPv4 по полям, TTL,
подсети и маски, ICMP).
- Карточки (30 мин) — `net`: 14 байт Ethernet, VLAN +4, /26 = 62, TTL, SYN/SYN-ACK/ACK.
- Утро, алгоритмы (3 ч) — графы: представления, BFS/DFS, топологическая сортировка
(только для DAG), компоненты связности, **Дейкстра (веса ≥ 0)**, union-find.
@@ -148,6 +160,10 @@ Programming, RFC 791/793, Wireshark wiki, OSTEP (процессы/память),
## D5 — 28.09: ДП | TCP глубоко, bash и /proc
- **Урок:** `lessons/D5_algo.md` (рюкзак 0/1, монеты, Edit Distance, НВП за O(n log n)),
`lessons/D5_net.md` (заголовок TCP, автомат состояний, окна и ретрансмиссии, TIME_WAIT, UDP,
NAT, DNS/DHCP, `tcpdump`), `lessons/D5_bash.md` (пайплайны, `set -euo pipefail`, awk/sed, `/proc`, `ulimit`).
- Карточки (30 мин) — `net` + `c_cpp` (20 байт IPv4/TCP, MTU 1500, DNS 53, ASAN/UBSAN).
- Утро, алгоритмы (3 ч) — ДП: состояния и переходы, рюкзак 0/1, **НВП за O(n log n)**,
строки (Edit Distance, Word Break). Практика: `tasks/05_lis` + Climbing Stairs,
@@ -163,6 +179,9 @@ Programming, RFC 791/793, Wireshark wiki, OSTEP (процессы/память),
## D6 — 29.09: закрытие слабых мест | ядро обзорно, docker, резюме
- **Урок:** `lessons/D6_kernel.md` (модули, `printk`, `file_operations`, device tree, cross-compile,
uboot), `lessons/D6_docker.md` (namespaces и cgroups, слои, multi-stage, volumes).
- Карточки (30 мин) — все домены, полный прогон 60 карточек.
- Утро, алгоритмы (3 ч) — **только слабые места по трекеру**: добить `10..13` до PASS,
повторить hash/BST/heap/Дейкстра/ДП там, где были FAIL или «не знаю».
@@ -176,6 +195,9 @@ Programming, RFC 791/793, Wireshark wiki, OSTEP (процессы/память),
## D7 — 30.09: повтор и два мок-интервью
- **Урок:** `lessons/D7_mock.md` — сценарий двух мок-интервью (алгоритмы и системное), карта
слабых мест по урокам, вопросы работодателю, легенда по опыту.
- 2 ч — повтор: только карточки с промахами и слабые темы из трекера.
- 3 ч — мок-интервью №1: алгоритмы, 2 задачи вслух с таймером (я веду и разбираю).
- 2 ч — мок-интервью №2: C/C++ + Linux + сети, включая разбор дампа.