Как свойство box-sizing: border-box рассчитывает размеры элемента? CSS-свойство, определяющее модель коробки объединяет content + padding + border в заданной ширине и высоте сохраняет итоговый размер элемента в…
async/await применяет лежащую в основе генераторов концепцию приостановки и возобновления выполнения, но ориентирован именно на Promise и асинхронные операции.
оптимизировали запросы с помощью индексов и агрегаций внедрили кэширование, включая Redis и мемоизацию перенесли формирование отчётов на отложенную обработку: batch и cron использовали статистику и аналитику по…
Анализ требований: пропускная способность, время отклика и возможности масштабирования Выбор модели БД: SQL с шардированием либо NoSQL для горизонтального масштабирования Применение кэширования (Redis/Memcached),…
Проектирование архитектуры приложения по принципам SOLID SOLID — совокупность принципов объектно-ориентированного проектирования S (Single Responsibility): у класса или модуля должна быть одна зона ответственности O…
Как проверять сервис, работающий с БД и внешними системами? Уровни тестирования: юнит-тесты, интеграционные тесты, e2e На уровне юнит-тестов использовать моки и стабы для внешних API и запросов к БД Проводить…
Типизация — это контроль типов данных во время компиляции или выполнения программы. Статическая типизация (TypeScript, Flow) позволяет обнаружить ошибки еще до запуска приложения. Динамическая типизация с проверками…
область: системы типов, интерфейсы в большинстве языков, включая Go и C#, реализация интерфейса неявная и не требует отдельной декларации тип считается реализующим интерфейс, когда в нём определены все методы…
Как сократить число перерендеров компонента при изменении пропсов? React: оптимизация ререндеров Для функциональных компонентов следует применять React.memo — он мемоизирует результат и выполняет сравнение пропсов. В…
Spring DI — механизм внедрения зависимостей, работающий внутри IoC-контейнера Управлением объектами занимаются Bean Factory и ApplicationContext Компоненты автоматически создаются и связываются по типу или аннотациям…
Планировщик задач в Go: кооперативная и вытесняющая многозадачность В Go применяется гибридный планировщик, объединяющий признаки кооперативной и вытесняющей многозадачности При кооперативной многозадачности goroutine…
Как устроен цикл событий (event loop) и как он выполняет асинхронный код? механизм организации асинхронности в JavaScript и средах его выполнения функционирует до тех пор, пока в очереди остаются задачи работает со…