- Портфолио - готовые мини-проекты
- Git (commit, branch, checkout, pull request, merge)
- DevTools
- Debugging
- Тестовое задание
- Принципы DRY, KISS, YAGNI
- Верстка макетов
- Препроцессор SCSS
- Анимации
- UI фреймворки
- Типы данных и их отличия
- Структуры данных и методы работы с ними, иммутабельность
- Хранение по ссылке
- Замыкание, область видимости, контекст
- Функции высшего порядка, рекурсия
- Поднятие (hoisting)
- DOM, события, всплытие, перехват
- Асинхронная работа, event loop, промисы (и их методы)
- Знание фреймоврков (React || Vue)
- NodeJS (понимание работы npm/yarn)
- CRUD операции
- REST API, GraphQL
- Авторизация
- Опыт работы, список достижений, набор использованных инструментов
- Git (rebase, cherry-pick)
- DevTools
- Debugging
- Unit-тесты
- Тестовое задание (возможно, но необязательно)
- SOLID-принципы (теория и практика)
- Clean code принципы
- Верстка макетов (Pixel perfect)
- Семантическая верстка
- БЭМ
- Сложные анимации (библиотеки анимаций)
- Темизация UI фреймворков
- Accessibility принципы
- Строгая типизация (TypeScript)
- ООП vs функциональное программирование
- Знание фреймоврков (React, Vue) - роутинг, стейт-менеджеры и их отличия, SSR
- StoryBook
- Системы сборки и их настройка (Webpack, ESbuild)
- Настройка линтеров и других инструментов
- NodeJS (создание утилит)
- Кэширование сетевых запросов
- PWA
- WebRTC
- Опыт полного цикла создания приложений
- Архитектура приложения
- Безопасность приложений
- Владение командной строкой Linux
- Docker
- Владение еще одним языком программирования
- Service Workers
- Реактивное программирование
- Выбор фреймворка в зависимости от проекта
- Оптимизация производительности приложения
- Визуализация данных (напр. D3.js)
- Стейт-машины
- Владение разными видами тестирования FE-приложений
- Организация работы монорепозиториев
- AST
- Облачные сервисы (AWS, Azure, GCP)
- Лямбда функции (serverless functions)
- Headless CMS