Frontend Interview - собеседования по Javanoscript / Html / Css – Telegram
Frontend Interview - собеседования по Javanoscript / Html / Css
11.4K subscribers
2.1K photos
118 videos
319 files
530 links
Канал для подготовки к собеседованиям по фронтенду

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/frontendinterview

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Найти ближайшее значение в бинарном дереве

Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.

Node = { value: number | null, left: Node | null, right: Node | null }

Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.

В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.

👉 @frontendInterview
Как работает «сборщик мусора» в JS?

Основной алгоритм сборки мусора называется «алгоритм пометок» (от англ. «mark-and-sweep»).
Согласно этому алгоритму, сборщик мусора регулярно выполняет следующие шаги:

- Сборщик мусора «помечает» (запоминает) все корневые объекты.
- Затем он идёт по ним и «помечает» все ссылки из них.
- Затем он идёт по отмеченным объектам и отмечает их ссылки. Все посещённые объекты запоминаются, чтобы в будущем не посещать один и тот же объект дважды.
…И так далее, пока не будут посещены все достижимые (из корней) ссылки.
- Все непомеченные объекты удаляются.

👉 @frontendInterview
This media is not supported in your browser
VIEW IN TELEGRAM
IT образование в 2022 стало бесплатным!

Все лекции и гайды топовых вузов страны тут
https://news.1rj.ru/str/vse_ob_it
Основы Redux

Современная разработка давно проходит по стандартам использования фреймворков, что обеспечивает приложения долголетием и безопасностью. Это руководство расскажет об актуальной версии библиотеки Redux и познакомит вас с его популярными инструментами управления состоянием приложения.

👉 @frontendInterview
Is every value in the array an array

Создайте функцию, которая проверит, все ли элементы массива являются массивами.

Примеры:
[[1],[2]] => true
['1','2'] => false
[{1:1},{2:2}] => false


👉 @frontendInterview
Что такое прогрессивный рендеринг?

Прогрессивный рендеринг на стороне сервера (PSSR) основан на концепции потоковой передачи HTML. PSSR разбивает страницы на осмысленные компоненты с помощью разделения кода. Эти части страницы управляются разными скриптами, и теперь у нас есть возможность сделать гидратацию независимо. Давайте посмотрим, как работает PSSR:

1. Браузер запрашивает у сервера HTML-код.
2. Сервер делает API запросы и сначала рендерит критический контент, а затем отправляет его клиенту.
3. Браузер анализирует HTML и отображает его на экране.
4. Сервер рендерит некритический контент и передает его браузеру.
5. Затем браузер анализирует и отображает некритичный контент.
6. Между тем JS-бандлы загружаются и выполняются в фоновом режиме, а браузер передаёт интерактивность элементам DOM.

PSSR повышает производительность вашего веб-приложения, извлекая и визуализируя компоненты страницы параллельным и приоритетным образом.

👉 @frontendInterview
Хватит!

Хватит ходить на собеседования и сидеть без работы!

Подпишись на канал и прокачивайся: @frontend_loft
Почему результатом сравнения двух похожих объектов является false?

В JS объекты и примитивы сравниваются по-разному. Примитивы сравниваются по значению. Объекты — по ссылке или адресу в памяти, где хранится переменная. Вот почему первый console.log возвращает false, а второй — true. Переменные «a» и «c» ссылаются на один объект, а переменные «a» и «b» — на разные объекты с одинаковыми свойствами и значениями.

👉 @frontendInterview
Что такое временная мёртвая зона (temporal dead zone)?

TDZ: термин для описания состояния, когда переменные недоступны. Они находятся в области видимости, но не объявлены.

Переменные let и const существуют в TDZ с начала их объемлющей области видимости до момента их объявления.

Можно также сказать, что переменные существуют в TDZ с момента их привязки (когда переменная привязывается к области видимости, внутри которой она находится) до момента ее объявления (когда для этой переменной в памяти резервируется имя).

Вы можете видеть на картинке, что если бы я обратился к переменной age раньше, чем она была объявлена, это вызвало бы ошибку ReferenceError. Из-за TDZ.

👉 @frontendInterview
👍1
+1 в копилку полезных каналов о фронтенде

С Senior Frontend стартовать в айти намного проще:

• готовые примеры кода: смотрите на превью, как работает код, и сразу редактируете его в CodePen

• лайфхаки по JS, HTML, CSS, которыми делятся только в крупных компаниях

• тесты и опросы для тех, кто не запоминает сухую инфу

Сохраняйте: @seniorFront