# ИУП: подготовка к собеседованию Eltex (C/C++, алгоритмы, Linux, сети) Личный учебный план и пакет задач с автопроверкой. Обновляется по ходу недели. ## Что внутри - `WEEK7.md` — **рабочий документ**: интенсив на 7 дней (D0 23.09 → D7 30.09), пересобранный по результату диагностики (квиз 14/32: алгоритмы 1/8, Linux 3/8, сети 3/8, C/C++ 7/8). Каждый день: карточки 30 мин → алгоритмы 3 ч → системное 3 ч → разбор и код 1,5 ч. - `PLAN.md` — полный трек M1–M10 на пост-офферный период (модули, артефакты, материалы). - `TRACKER.md` — дневник: что решено, где встал, сколько минут. Это вход для калибровки. - `diag/` — пакет: - `quiz.py` + `quiz.json` — 32 вопроса по 4 доменам; - `tasks/01..09` — диагностика: биты, список, ring buffer, IPv4-заголовок, НВП, потоки, epoll-сервер, bash по логу, разбор падения в gdb; - `tasks/10..13` — добор под слабые домены: хеш-таблица с открытой адресацией, куча (`heapify` O(n), top-K), Дейкстра, арифметика подсетей; - `facts_drill.py` + `facts.json` — 60 карточек «числа и факты» (сложности, байты заголовков, `/26 = 62`, TTL, порядок TCP-хендшейка, паддинг структур); - `grade.py` — автопроверка задач (ASAN/UBSAN, таймауты, PASS/FAIL + полный лог); - `questions_export.txt` — вопросы квиза текстом. ## Как начать ```bash git clone https://git.kodlo.art/Kodlo/eduplan-cpp-eltex.git cd eduplan-cpp-eltex/diag python3 quiz.py # квиз (или --answers "1-3 2-4 ...") python3 grade.py # все 13 задач с санитайзерами python3 grade.py 10 11 13 # выборочно python3 grade.py --fast # без санитайзеров python3 facts_drill.py # 20 карточек интерактивно python3 facts_drill.py --all # все 60 ``` Нужны `g++` (C++17), `gcc`, `python3`; для `07_epoll` — Linux-сокеты, для `08_bash` — bash/awk/sort. Внешних зависимостей нет. На Windows задачи 07 и 08 удобнее гонять в WSL. ## Правила честности Эталонных решений в репозитории нет (лежат только на машинке студии) — иначе автопроверка превращается в шпаргалку. Требования по сложности, которые тест не ловит (например `heapify` за O(n)), проверяются на разборе по коду. `answer.txt` в задаче 09 — обязательная часть оценки. ## Куда отдавать результаты - ветка `answers/<день>` в этом репозитории; - либо файлы/`results_*.json` в чат; - либо `python3 grade.py --submit` — складывает результаты и решения рядом. Ежедневный блок плана приходит в топик лейна в 09:00 (НСК).