Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Какие есть этапы рендеринга html страницы?
Парсинг HTML
Браузер начинает парсить HTML-документ и строить DOM-дерево (Document Object Model), представляющее иерархическую структуру всех элементов страницы.
Если браузер находит <script>, он приостанавливает парсинг, загружает и выполняет скрипт, что может изменить структуру DOM.
Загрузка внешних ресурсов
Во время парсинга HTML браузер обнаруживает ссылки на внешние ресурсы (CSS, изображения, шрифты, скрипты) и начинает их загружать параллельно.
CSS загружается и парсится, формируя CSSOM (CSS Object Model).
Построение рендер-дерева
DOM и CSSOM объединяются для создания рендер-дерева, которое представляет собой структуру элементов, подлежащих отображению на экране с примененными стилями.
Вычисление геометрии (Layout)
Браузер вычисляет размеры и положение каждого элемента на странице, основываясь на рендер-дереве. Этот процесс называется layout или reflow.
Отрисовка (Painting)
Браузер преобразует рендер-дерево в пиксели на экране, рисуя текст, цвета, изображения, тени и другие графические элементы.
Композиция (Compositing)
Некоторые элементы могут быть отрисованы в отдельных слоях для улучшения производительности (например, анимации или фиксированные элементы). На этапе композиции браузер объединяет эти слои в одно изображение для отображения на экране.
Интерфейс пользователя (UI)
Браузер обрабатывает пользовательские события (клики, прокрутка, ввод данных и т.д.).
JavaScript может изменять DOM, что может запустить повторные этапы layout и painting.
Как реализовать поддержку темной темы (dark mode) с помощью HTML и CSS? Какие метатеги и медиавыражения используются?
Темную тему можно реализовать с помощью CSS-медиавыражения prefers-color-scheme, которое определяет предпочтения пользователя относительно цветовой схемы (светлой или темной). В зависимости от предпочтений браузера применяются соответствующие стили. Также можно настроить переключение темы вручную с помощью JavaScript и CSS-классов.
Что такое Git и GitHub?
Git — это система контроля версий, которая позволяет отслеживать изменения в коде, возвращаться к старым версиям и работать над проектом совместно с другими разработчиками. GitHub — это платформа, где можно хранить код в облаке, делиться им и управлять проектами с помощью Git. Вместе они помогают эффективно работать над проектом в команде.
В чем разница процесса и потока в рамках операционной системы?
Процесс — это независимая программа, выполняющаяся в памяти, у которой есть собственное адресное пространство. Поток — это единица выполнения внутри процесса, которая использует общее адресное пространство. Потоки легче создавать и переключать, но процессы изолированы друг от друга.
Что такое Docker Engine?
Docker Engine — это клиент-серверная платформа для создания, запуска и управления Docker контейнерами. Он состоит из Docker демона (сервера) и интерфейса командной строки (CLI), которые взаимодействуют для управления жизненным циклом контейнеров.
Что такое контроль версий?
Что такое Chaos Engineering?
Что такое Observability?
Как монтировать и размонтировать файловые системы в Linux?
Как бы вы подошли к созданию многопользовательской сетевой системы в Unity?
Рейтинг:
2
Сложность:
2
Контроль версий — это система, позволяющая отслеживать изменения кода, управлять разными версиями файлов и работать над проектом нескольким разработчикам одновременно.
Рейтинг:
2
Сложность:
4
Chaos Engineering — это практика внесения искусственных сбоев в систему, чтобы проверить её устойчивость. Это позволяет заранее выявить слабые места и предотвратить крупные аварии.
Рейтинг:
2
Сложность:
5
Observability (наблюдаемость) — это способность системы предоставлять метрики, логи и трассировки, чтобы быстро находить и исправлять ошибки.
Рейтинг:
1
Сложность:
6
Для монтирования файловой системы в Linux используется команда mount, а для размонтирования — umount. Сначала необходимо определить нужный раздел с помощью команды fdisk -l или lsblk, затем создать точку монтирования и выполнить команду sudo mount <partition> <mount_point>. Для размонтирования можно использовать команду sudo umount <mount_point>.
Рейтинг:
2
Сложность:
8
Для создания многопользовательской сетевой системы в Unity можно использовать High-Level API (HLAPI) или Low-Level API (LLAPI). HLAPI проще в реализации, но менее гибкий. Я бы начал с использования NetworkManager для установления соединения и синхронизации объектов через NetworkIdentity и NetworkTransform. Для управления игроками использовал бы NetworkBehaviour. Для общения между игроками применялись бы RPC и Commands. Для уменьшения задержек использовал бы интерполяцию и предсказание движений. На сервере обязательно нужно проверять входящие данные для предотвращения мошенничества.
Рейтинг:
5
Сложность:
10
Рейтинг:
1
Сложность:
4
Рейтинг:
1
Сложность:
2
Рейтинг:
3
Сложность:
9
Рейтинг:
2
Сложность:
5