Код
Технические промты для разработки: рефакторинг, тесты, ревью, дебаг.
- Начальный9 (15%)
- Средний12 (20%)
- Продвинутый38 (64%)
Рефакторинг
Улучшение читаемости, упрощение, паттерны, удаление дублей.
Ревью кода
Security, производительность, стиль, корректность, поддерживаемость.
Тестирование
Unit, integration, e2e, fuzz-тесты, coverage и стратегия.
Дебаг
Воспроизведение, root-cause анализ, гипотезы, фикс.
Архитектура
Проектирование систем, выбор стека, ADR, границы модулей.
База данных
Схема, индексы, запросы, миграции, выбор типа БД под задачу.
Документация
README, API-доки, комментарии, changelog — чтоб не пришлось читать код.
Безопасность
OWASP, threat modeling, secrets, supply chain, secure-by-default.
Производительность
Профайлинг, hot path, кеширование, асинхронность, memory.
Все промты в разделе Код
Read-then-refactor: безопасный рефакторинг
Сначала понять весь код, потом переписать. Без изменения поведения, с проверкой тестами.
Выделение модуля из большого файла
Найти зону ответственности, вынести в отдельный модуль с чётким API.
Code review с фокусом на безопасность
OWASP-проверка кода: injection, auth, secrets, валидация, XSS, CSRF, утечки данных.
Ревью производительности
Найти узкие места: N+1, рендеры, тяжёлые операции в hot path, утечки памяти.
План тестов для фичи
От требований к набору тестов: unit, integration, e2e, edge cases.
Поиск edge cases
Систематический поиск граничных случаев для функции / API / UI.
Root cause investigation
Системный подход к багу: воспроизведение, гипотезы, изоляция, фикс. Без угадывания.
Architecture Decision Record (ADR)
Зафиксировать архитектурное решение: контекст, варианты, выбор и trade-offs.
Улучшение имён в коде
Переименовать сущности так, чтобы код читался как текст: переменные, функции, типы, файлы.
Ревью читаемости кода
Структура, длина функций, вложенность, имена, комментарии — что мешает читать.
Стратегия моков в тестах
Что мокать, что нет, и как не сделать тесты бесполезными от перемокания.
Минимизация repro-кейса
От «не работает на проде» до 10 строк кода которые точно воспроизводят баг.
Системный дизайн от требований
От требований к компонентам, данным, API и плану эволюции системы.
Ревью границ модулей
Где сейчас протекает абстракция, где модули знают слишком много друг о друге.
Дизайн схемы БД
Таблицы, отношения, ключи, индексы — схема которую легко эволюционировать.
Оптимизация SQL-запроса
От EXPLAIN до индексов, переписки запроса и материализованных views.
Безопасная миграция БД
Большие изменения схемы без даунтайма и блокировок: backfill, swap, очистка.
Структура README
Что и в каком порядке должно быть в README — чтобы новый человек запустил проект за 5 минут.
API-документация
OpenAPI/Swagger, описание endpoints, примеры запросов и ответов, ошибки.
Changelog и версионирование
Keep a Changelog + SemVer: что писать, когда бампать, как объявлять breaking.
Threat modeling (STRIDE)
Систематически перечислить угрозы прежде чем строить защиту.
Безопасность dependency / supply chain
Аудит npm/pypi/cargo, lockfiles, известные CVE, защита от malicious packages.
Валидация входных данных
Никогда не доверяй input'у. Где и как валидировать, и почему это первая защита.
Профайлинг и hot path
Найти где код реально тратит время — без оптимизации вслепую.
Стратегия кеширования
Где кешировать, на сколько, как инвалидировать — кеш который не лжёт.
Поиск утечек памяти
Heap-snapshot, retained size, типы утечек, как не повторять.
Тесты для legacy без тестов
Где врезаться в код без тестов, как написать characterization tests и наращивать покрытие безопасно.
Zero-downtime миграция БД
Expand/contract, dual-write, backfill, switch-over, rollback — миграция без остановки сервиса.
Дизайн rate limiting
Алгоритмы (token bucket, sliding window), хранилище, ключи, ответы 429 и реализация на проде.
Архитектура feature flags
Типы флагов (release/experiment/ops/permission), хранение, оценка, тех-долг и удаление.
Дизайн async очередей и воркеров
At-least/exactly-once, idempotency, retry, DLQ, ordering, observability — очередь, которая не теряет и не дублирует.
Observability: метрики, логи, трейсы
Что и где собирать, как соединять три пилара, какой бюджет на cardinality и хранение.
Event-driven архитектура: события и брокер
События vs команды, выбор брокера, schema evolution, ordering guarantees, replay для recovery — без распределённого ада.
Гексагональная (Clean) архитектура: порты и адаптеры
Dependency rule, что в core и что в infra, ports как интерфейсы, adapters как реализации — без overengineering.
Contract testing: Pact, OpenAPI, CI-гейты
Consumer-driven contracts, provider/consumer flow, schema check в CI, ловушки моков vs контрактов.
API versioning: стратегия и deprecation
URL path vs Accept header vs media-type, deprecation timeline, sunset headers, как не застрять на v2 навсегда.
Идемпотентность: ключи, storage, retry
Idempotency keys (UUID), Redis storage с TTL, retry strategy, edge-cases с concurrent same-key и retry после success.
Transactional outbox pattern
Outbox table в одной транзакции с данными, async publisher, дедупликация на consumer, обработка poison messages.
Стратегия индексов: что, когда, какой ценой
Какие колонки индексировать, composite vs single, covering indexes, аудит unused, цена write vs read.
Full-text search: pg_trgm vs MeiliSearch vs Elastic
Когда хватит Postgres, когда нужен MeiliSearch, когда только Elastic. Ranking (BM25, custom boost), faceting, multilang, synonyms.
Чтение distributed traces: critical path и fan-out
Как читать trace: critical path (длиннейший span), fan-out (parallel calls), latency budget, паттерны медлительности (N+1, серийные calls).
Runbook для инцидента: шаблон
Симптомы → first response → escalation → проверки → восстановление → пост-мортем. Живой документ, не отчёт.
ADR-практика: lifecycle, что туда писать, что НЕ
Когда писать ADR (architectural, не каждый PR), формат, lifecycle (proposed/accepted/superseded), как сделать живым, что НЕ ADR.
Анализ JS-бандла и реальные сокращения
Найти топ-кандидатов на вылет из бандла: webpack-bundle-analyzer / source-map-explorer / Lighthouse, dynamic import strategy, бюджет.
Стратегия lazy hydration
Что гидратировать сразу, что лениво, по чему триггерить — для Astro islands, RSC, Vue suspense.
Шаблон описания Pull Request
Что / зачем / как тестировать / риски / связанные ссылки / скриншоты. Ревьюер не должен гадать.
Дизайн fuzz-тестирования
Где fuzz даёт ROI: парсеры, валидаторы, сериализаторы. Corpus + мутации, что считать crash, tooling.
Фича от спеки до релиза за один проход
Orchestrator-промт: ведёт фичу через 7 фаз (spec → arch → impl → tests → docs → PR → release notes) за один заход. Заменяет 5-7 разрозненных промтов и держит контекст между фазами.
Миграция стека: orchestrator от discovery до cutover
Orchestrator-промт для миграции технологии: jQuery→React, Express→Fastify, REST→GraphQL, on-prem→cloud, Postgres major version. 7 фаз: discovery → risks → strategy → plan → execution → cutover → cleanup.
Systematic Debugging Orchestrator: 6 фаз от симптома до root cause
Дисциплинированный процесс отладки: симптомы → минимальная репрезентация → дерево гипотез → trace/bisect → root cause → fix + regression test. Iron Law: никаких фиксов без root cause.
Дизайн webhooks: payload, подпись, retry, идемпотентность
Полный дизайн исходящих webhooks: схема payload, HMAC-подпись, политика ретраев, идемпотентность, защита от replay, observability, dead letter, юзер-debug.
Дизайн cron jobs: scheduling, overlap, observability
Cron vs scheduler service, что делать с overlap'ами, как избежать missed runs, observability и monitoring, failure handling.
Архитектура загрузки файлов: presigned URLs, multipart, безопасность
Direct browser → S3 через presigned URLs, валидация и virus scanning, MIME enforcement, thumbnails, retention, scale больших файлов (multipart, resumable).
Реализация поиска: PG full-text vs MeiliSearch vs Algolia vs Elasticsearch
Критерии выбора engine, индексация, ranking, faceting, multi-language, как мерить релевантность.
Real-time collaboration: CRDT vs OT vs lock-based
Выбор стратегии для collaborative editing (как Figma/Notion/Linear): CRDT vs Operational Transform vs lock-based. Trade-offs, реализация, edge cases.
Аудит SSR-гидратации
React / Next.js SSR hydration: где сервер и клиент расходятся, как поймать (console warnings, content flash), как починить без `suppressHydrationWarning`-обёрток.
E2E-план критических флоу
Playwright / Cypress / Puppeteer-план для 5-7 critical user flows: signup, search, checkout, settings, recovery. Stable, в CI, не flaky.
Аудит data + state integrity
Race conditions, optimistic-update revert, localStorage versioning, browser back/forward, multi-tab sync, retry-storms, stale cache. Самый сложный класс багов — невоспроизводимые «иногда работает».
Разбор реализации конкурентов: как лучшие строят конкретную фичу
Реверс-инжиниринг того, КАК 3-5 сильных продуктов реализуют одну фичу — чтобы строить свою осознанно.