Шпаргалка для подготовки к техническим собеседованиям: Python, SQL, Go и Rust, на русском. Только markdown — ни сборки, ни зависимостей.
| Раздел | Статус | О чём |
|---|---|---|
| Основы программирования | готов | 14 тем вне языков: парадигмы, ООП, SOLID, DI, паттерны, архитектура, сложность, тестирование |
| Python | готов | 31 тема: от типов данных до GIL, метаклассов и фич 3.10–3.14 |
| SQL | готов | 10 тем, примеры на PostgreSQL; отличия MySQL и MS SQL Server отмечены |
| Go | готов | 24 темы: язык, конкурентность, рантайм и GC, стандартная библиотека, HTTP, идиомы |
| Rust | готов | 25 тем: владение и заимствование, трейты, ошибки, конкурентность, async, инструменты |
| Темы к доработке | черновики | исходные конспекты со ссылками к темам Python, Go и Rust — все уже перенесены в основные разделы |
Репозиторий — просто набор .md-файлов со ссылками между собой, без привязки
к конкретному инструменту:
- Obsidian — основной способ автора. Настройки вида (граф, плагины) лежат
в
.obsidian/и закоммичены в репозиторий, кромеworkspace*.json(локальная раскладка окна конкретного устройства, в.gitignore). Открывается как обычный vault. - VS Code — родной предпросмотр Markdown и переходы по ссылкам работают из коробки, плагин Obsidian не нужен. Для диаграмм нужно одно расширение — см. ниже.
- Веб на GitHub — репозиторий читается прямо в интерфейсе gh.com, ссылки между файлами кликабельны.
Схемы в темах написаны на Mermaid в блоках
```mermaid. Где что рендерится:
| Среда | Что нужно |
|---|---|
| GitHub (веб и мобильное приложение) | ничего, поддержка встроенная |
| Obsidian (десктоп и мобильный) | ничего, поддержка встроенная |
| VS Code | расширение Markdown Preview Mermaid Support (bierner.markdown-mermaid) — встроенный предпросмотр сам mermaid не рисует |
Установка расширения из терминала:
code --install-extension bierner.markdown-mermaidЧтобы схемы одинаково рисовались во всех трёх средах (версии mermaid у них
разные), в темах используется только безопасное подмножество: flowchart,
sequenceDiagram, classDiagram, stateDiagram-v2, erDiagram. Цвета не
задаются вручную — иначе схема ломается в тёмной теме; идентификаторы узлов
латиницей, подписи — в кавычках.
В одном блоке — не больше одного subgraph: соседние группы mermaid ставит в
ряд по горизонтали, и в Obsidian схема уезжает за край. Сравнения оформлены
несколькими блоками подряд, по одному на вариант.
- Установить Obsidian и плагин Git (Community plugins → Git) — либо синхронизировать через Obsidian Sync/iCloud/Syncthing, если git-клиент на телефоне неудобен.
- В плагине Git выбрать «Clone an existing remote repo» и указать URL этого репозитория.
- Открыть склонированную папку как vault — настройки из
.obsidian/подтянутся автоматически.
Читать по порядку внутри index.md раздела — темы выстроены от основ к
продвинутым, и поздние опираются на ранние. Внизу и вверху каждой страницы —
ссылки на соседние темы.
Раздел «Основы программирования» языконезависимый: там теория и формулировки, а нюансы конкретного языка вынесены ссылками В Python: / В SQL: в конце соответствующего вопроса.
Каждая тема — это набор вопросов в той формулировке, в которой их задаёт интервьюер. Ответ устроен слоями, чтобы страница работала на разном уровне подготовки:
- Коротко — модель устного ответа на одну-две фразы. Если готовитесь быстро — читайте только эти строки и переходите к следующему вопросу.
- Разбор — развёрнутое объяснение с нуля, термины вводятся до использования.
- Пример — рабочий код с показанным выводом.
- Подвох — чем интервьюер попробует сбить с толку и что ответить.
- Глубже — деталь реализации или edge case; то, ради чего шпаргалку открывает человек, который тему уже знает.
Примеры проверены на CPython 3.14. Две проверки перед коммитом:
bash scripts/check-links.shpython scripts/check-text.pyПервая ловит битые ссылки и файлы, выпавшие из навигационной цепочки; вторая — опечатки, смешанную раскладку внутри слова и посторонние символы.
Новая тема — отдельный .md-файл со ссылками на соседние темы вверху и внизу
страницы; при добавлении нужно перешить всю цепочку и обновить index.md
раздела.
В репозитории могут быть следы использования AI: я использую его для фактчекинга материала и генерации commit message.