Что нужно знать заранее
Курс предполагает, что вы уже умеете писать if x > 0: print("positive"), читаете JSON и работали с CSV хотя бы на чтение. Если нет — пройдите бесплатный туториал по базовому Python сначала; здесь мы строим выше этой ступени, и без неё материал будет ощущаться как «пьём из пожарного шланга».
Этот урок — самодиагностика. После него вы будете знать, готовы ли вы к M01 прямо сейчас или стоит подтянуть параллельно один-два пласта.
Чек-лист самопроверки
Отметьте мысленно, сколько утверждений из 15 верны для вас прямо сейчас. Не «когда-то слышал», а «могу применить без подсказки».
- Я могу написать функцию с
if/elif/elseиfor/whileбез подсказки - Я знаю различие между
list,tuple,dict,setхотя бы визуально (что для чего) - Я понимаю, что такое
Exception, и могу прочитать traceback по делу - У меня есть базовое представление о hash table / hash map (общая идея, не Python-specific)
- Я знаю, что такое big-O notation хотя бы на уровне O(1) vs O(n)
- Я работал с CSV или JSON минимум на чтение
- Я знаком с базовым SQL:
SELECT,WHERE,GROUP BY - Я понимаю различие между stack и heap на интуитивном уровне
- Я слышал термины «указатель» / «pointer» и примерно понимаю, о чём речь
- У меня есть общее представление о CPU cache (что есть L1/L2/L3 — детали не нужны)
- Я могу прочитать псевдокод алгоритма, например binary search
- Я знаю, что такое recursion, и могу написать факториал рекурсивно
- Я понимаю reference vs value semantics на интуитивном уровне
- Я работал с git хотя бы для
clone/pull/commit - Я знаю, что такое UTF-8, и почему unicode сложнее ASCII
Если 12+ пунктов отмечены — вы готовы. Если 8–11 — готовы, но ожидайте, что 1–2 модуля потребуют дополнительного чтения. Если меньше 8 — рекомендуется пройти параллельные курсы (см. ниже) сначала.
Если есть пробелы — куда пойти сначала
По SQL
SQL не используется в самом Python-курсе как язык, но multiple lessons (особенно M10 conceptual про pandas/Polars) опираются на SQL-mental-model: SELECT, WHERE, GROUP BY, базовый JOIN. Если SQL для вас тёмный лес — начните с любого entry-level туториала, а параллельно можно пройти курс по аналитической базе данных.
Если вы уже знаете SQL и хотите параллельно посмотреть OLAP-side — Cross-course → ClickHouse 00/01 what-is-clickhouse даёт вступление к колоночной СУБД, в которой Python работает как клиент; SQL-навыки переносятся напрямую, а Python-internals (M02 dict/list/set) объясняют, как клиентская часть pandas/Polars обрабатывает результаты OLAP-запросов.
По CS-фундаменту (DS, big-O, hash maps)
Если про hash table вы только слышали, а big-O notation вызывает напряжение — это не блокирует курс, но облегчит его. Полезные внешние материалы:
- CLRS — «Introduction to Algorithms», главы 11 (Hash Tables) и 17 (Amortized Analysis). Стандарт.
- Steven Skiena — «The Algorithm Design Manual», гл. 3 (Data Structures). Менее формально, более прикладно.
- MIT 6.006 «Introduction to Algorithms» (открытые лекции на ocw.mit.edu) — видеоформат.
В курсе мы каждый раз даём короткое введение в нужную DSA-концепцию, но если вы хотите системное понимание — параллельный заход в CLRS гл. 11 даст огромный буст для M02 (Структуры данных: внутреннее устройство).
По работе с базами данных и storage internals
Если вы никогда не видели storage engine «изнутри» — это хороший момент посмотреть как он устроен в одной аналитической СУБД. Параллели с Python data structures удивительно прямые.
ClickHouse: анатомия PartЧто НЕ требуется заранее
- C / C++ knowledge. Мы цитируем CPython source, но всегда переводим ключевые места и даём контекст. Можно пройти весь курс, не написав ни строки C
- Asyncio / threading expertise. Pyodide WASM их не поддерживает (см. урок 03); в курсе они conceptual
- Production DevOps опыт. Packaging (M13), logging (M11), мониторинг (M11) вводят постепенно с нуля
- Любой web framework (Django / Flask / FastAPI) — курс про язык, а не про web
- Опыт с pandas / Polars / PyArrow — M10 даёт conceptual слой и объясняет почему они быстрые; глубокий курс по pandas — отдельный пласт
Ключевые выводы
- Если вы прошли self-diagnosis на 12+ пунктов — добро пожаловать в M01
- Если есть пробелы по SQL или DB internals — есть параллельные курсы (ClickHouse) с прямой педагогической связью
- C-knowledge желателен, но не обязателен — мы переводим все ключевые места из CPython source