Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interview-cheat-sheet

Шпаргалка для подготовки к техническим собеседованиям: 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 Mobile)

  1. Установить Obsidian и плагин Git (Community plugins → Git) — либо синхронизировать через Obsidian Sync/iCloud/Syncthing, если git-клиент на телефоне неудобен.
  2. В плагине Git выбрать «Clone an existing remote repo» и указать URL этого репозитория.
  3. Открыть склонированную папку как vault — настройки из .obsidian/ подтянутся автоматически.

Как этим пользоваться

Читать по порядку внутри index.md раздела — темы выстроены от основ к продвинутым, и поздние опираются на ранние. Внизу и вверху каждой страницы — ссылки на соседние темы.

Раздел «Основы программирования» языконезависимый: там теория и формулировки, а нюансы конкретного языка вынесены ссылками В Python: / В SQL: в конце соответствующего вопроса.

Каждая тема — это набор вопросов в той формулировке, в которой их задаёт интервьюер. Ответ устроен слоями, чтобы страница работала на разном уровне подготовки:

  • Коротко — модель устного ответа на одну-две фразы. Если готовитесь быстро — читайте только эти строки и переходите к следующему вопросу.
  • Разбор — развёрнутое объяснение с нуля, термины вводятся до использования.
  • Пример — рабочий код с показанным выводом.
  • Подвох — чем интервьюер попробует сбить с толку и что ответить.
  • Глубже — деталь реализации или edge case; то, ради чего шпаргалку открывает человек, который тему уже знает.

Проверки

Примеры проверены на CPython 3.14. Две проверки перед коммитом:

bash scripts/check-links.sh
python scripts/check-text.py

Первая ловит битые ссылки и файлы, выпавшие из навигационной цепочки; вторая — опечатки, смешанную раскладку внутри слова и посторонние символы.

Новая тема — отдельный .md-файл со ссылками на соседние темы вверху и внизу страницы; при добавлении нужно перешить всю цепочку и обновить index.md раздела.


В репозитории могут быть следы использования AI: я использую его для фактчекинга материала и генерации commit message.

About

Шпаргалка для подготовки к техническим собеседованиям на русском: Python, SQL, Go, Rust и основы программирования (ООП, SOLID, паттерны, архитектура)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages