Город: Москва
Зарплата:
от 150000
RUR
Занятость: Полная занятость, Полный день
Опыт работы: От 1 года до 3 лет
Глубокое знание JavaScript и TypeScript
Core JS: область видимости, замыкания, this, прототипное наследование, работа new, event loop (микро/макротаски), async/await, генераторы.
ES6+: деструктуризация, spread/rest, шаблонные строки, классы, модули, Map/Set/WeakMap/WeakSet, Proxy, Reflect.
Работа с DOM и BOM: прямые манипуляции, performance API, history API.
TypeScript: дженерики, утилитные типы, типизация сложных структур, типобезопасность API, декларации типов.
Оптимизация: профилирование, устранение утечек памяти в JS, оптимизация рендеров.
2. Экосистема и фреймворки
React (или Vue, но на уровне сеньора обычно 1 фреймворк — мастерски, 1–2 других — уверенно):
Хуки, Context API, Suspense, Error Boundaries.
Оптимизация: React.memo, useCallback, useMemo, код-сплиттинг, lazy loading.
SSR/SSG (Next.js, Nuxt.js).
Архитектурные паттерны: контейнер/презентационный компонент, Render Props, Compound Components.
Состояние:
Redux Toolkit, Zustand, Recoil, Vuex/Pinia.
Архитектурные подходы: Feature-Sliced Design (FSD), DDD в фронтенде.
UI-библиотеки: MUI, Ant Design, Tailwind, Headless UI, но с умением кастомизировать.
3. Архитектура фронтенда
Организация модулей, фич, слоёв.
Паттерны проектирования (Observer, Singleton, Factory, Adapter и др. — в контексте UI).
SOLID, DRY, KISS, YAGNI в UI-коде.
Выбор и настройка сборщика (Vite, Webpack, esbuild, Rollup) и понимание, как работает bundling/treeshaking.
Архитектура для долгоживущих проектов: монорепы (Nx, Turborepo), микрофронтенды.
4. Работа с API и асинхронностью
REST и GraphQL (Apollo, urql).
WebSocket/SSE.
gRPC/WebTransport (желательно знать).
Оптимизация запросов: кеширование, batch-запросы, оптимизация под слабый интернет.
5. Оптимизация производительности
Lighthouse, Web Vitals (TTFB, LCP, CLS, FID, INP).
Code splitting, prefetch/preload.
Минимизация перерисовок (Reconciliation, Virtual DOM).
Ленивая загрузка изображений/данных.
Использование CDN.
Анализ и уменьшение бандла (webpack-bundle-analyzer, source-map-explorer).
6. Безопасность
XSS, CSRF, Clickjacking, защита от инъекций в шаблонах.
CSP, SRI, HTTPS.
Sanitization данных.
Безопасность SPA/SSR-приложений.
Мягкие навыки
Умение ревьюить код (code review).
Навык менторства (обучение мидлов и джунов).
Умение договариваться с бэкендом/дизайнерами.
Обоснование технических решений бизнесу.
2. Backend developer -Глубокое понимание Node.js
Event Loop:
Микротаски и макротаски.
Работа с таймерами, process.nextTick(), setImmediate().
Как забивается event loop и как это профилировать.
Асинхронность:
async/await, промисы, callback-и, генераторы.
Потоки (Streams) — чтение/запись, backpressure, пайпинг.
Worker Threads и Cluster (когда использовать).
Модули:
ESM vs CommonJS.
Tree shaking и оптимизация импортов.
Память:
Garbage Collector (V8), утечки памяти.
Снимки heap (heapdump), профилировка CPU.
Мониторинг event loop lag (perf_hooks).
2. Архитектура и проектирование
Архитектурные паттерны:
Clean Architecture, Hexagonal, DDD.
Event-driven (событийная модель) для масштабируемости.
CQRS, Event Sourcing (для сложных систем).
Организация кода:
Модульность.
Разделение слоёв: контроллеры, сервисы, репозитории, DTO.
Конфигурация (12-Factor App).
Микросервисы:
Когда переходить от монолита.
Межсервисная коммуникация (HTTP/gRPC/AMQP/Kafka).
3. Работа с данными
SQL (PostgreSQL, MySQL/MariaDB):
Индексы, транзакции, изоляция, блокировки.
Оптимизация запросов, EXPLAIN.
NoSQL (MongoDB, Redis, ElasticSearch):
Подходящие сценарии.
TTL, кеши, pub/sub.
ORM/ODM:
TypeORM, Prisma, Sequelize.
Миграции, связь моделей.
Кеширование:
Redis, application-level caching.
Инвалидация кеша.
4. API и коммуникация
REST:
Версионирование, пагинация, фильтрация.
HATEOAS (по необходимости).
GraphQL:
Apollo Server, схемы, DataLoader.
WebSocket/SSE.
gRPC и protobuf.
Auth:
JWT, OAuth2, session-based, mTLS.
Refresh-токены, ротация ключей.
Rate limiting, throttling.
5. Производительность и масштабирование
Балансировка нагрузки (NGINX, HAProxy, Node.js cluster).
Горизонтальное масштабирование (PM2, Kubernetes, Docker Swarm).
Очереди (RabbitMQ, Kafka, BullMQ, SQS).
Оптимизация под high-load.
Lazy initialization.
Анализ бандла на фронт-прокси (если SSR).
6. Безопасность
XSS, CSRF, SQL Injection (даже в бэкенде при SSR).
Защита от DDOS (rate limit, firewall).
Шифрование:
bcrypt/argon2 для паролей.
AES/RSA для конфиденциальных данных.
Secrets management (Vault, AWS Secrets Manager).
CSP, CORS, HTTPS.
Мягкие навыки
Code review на уровне архитектуры.
Менторство мидлов и джунов.
Написание и поддержка документации.
Навык предугадывать узкие места и предотвращать проблемы.
10:53
Адрес: Москва, Головинское шоссе, 5к1
Похожие вакансии