foundation
Паттерны задач на интервью
Массивы, строки, maps, деревья, графы, intervals, async JavaScript и реализация utilities.
Coding interview сходится к нескольким семействам: scan массивов и строк с одной техникой, hash map indexing, обход trees и graphs, sort/sweep intervals, координация async JavaScript и utilities вроде debounce или memoize. Выигрыш — назвать семейство до кода.
Начните с brute force, найдите repeated work, выберите паттерн, который её убирает. Рано уточняйте ordering, mutation, endpoint semantics, concurrency limits и API contracts.
Компромисс: сравните время, память и сложность реализации до выбора структуры или паттерна.
На интервью: объясните выбор паттерна, edge cases и complexity после ясной формулировки подхода.
Типовые ошибки: оптимизация до фиксации requirements; graph как tree; запуск всей async работы через map(async).
Чеклист:
- Назовите семейство паттерна.
- Уточните ограничения и edge cases.
- Сравните время и память.
- Углубляйтесь через дочерние темы.