Files
eduplan-cpp-eltex/README.md
T

3.6 KiB

ИУП: подготовка к собеседованию 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 — вопросы квиза текстом.

Как начать

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 (НСК).