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
Что такое конкурентный режим?

Конкурентный режим предназначен для более плавной работы приложения на устройстве пользователя.

Одна из областей, где данная фича применяется, это прерываемый рендеринг. Представьте, что пользователь вводит в строку поиска текст. Это событие обновляет состояние компонента, и происходит рендер нового списка результатов. Во время этого процесса залипает ввод: браузер не может обновить введенный в поле текст, так как занимается рендером нового списка результатов. Конкурентный режим исправляет это ограничение, делая рендер прерываемым.

👉 @frontendInterview
👍4
Алгоритмы

В этом руководстве содержатся основные сведения об алгоритмах: анализируются различные типы алгоритмов, рассматриваются мето-ды их построения (рекурсия, динамическое программирование и др.), приводятся практические примеры. В конце каждой главы приводятся упражнения, направленные на закрепление пройденного. Для изучения материала требуется знание основ дискретной математики и методов доказательств, а также представление об основных вычислительных задачах и алгоритмах. Желателен практический опыт работы с языком программирования, поддерживающим косвенную адресацию и рекурсию.Издание адресовано студентам и преподавателям технических вузов, а также тем, кто хочет изучить основы алгоритмизации.

👉 @frontendInterview
👍5
Spin Around, Touch the Ground

Вам дан массив, состоящий из строк "left" и "right". Каждая строка делает поворот на 90° в соответствующую сторону. Создайте функция, которая вернет количество разворотов на 360°.

Примеры:
["left", "right", "left", "right"] ➞ 0

["right", "right", "right", "right", "right", "right", "right", "right"] ➞ 2

["left", "left", "left", "left"] ➞ 1


👉 @frontendInterview
👍5
Знаешь что такое черная пятница в IT?

Хостинг aeza.net устраивает распродажи виртуальных и выделенных серверов на базе процессоров AMD Ryzen 7950X и 7950X3D по очень выгодным ценам.
Вас ожидают скидки до 20%, кэшбек, а так же скидки на панель ispmanager.
Залетай к нам c 11.11 по 18.11 и забирай, пока не разобрали, число серверов ограничено

Наш новостной канал
Реклама. ООО "АЕЗА ГРУПП" ИНН 7813654490 erid: LatgBXPFR
2👍2🥰2
Что такое useLayoutEffect в React?

Хук useLayoutEffect имеет такое же api как и useEffect. Отличия:

- useLayoutEffect - синхронный и будет вызван до того, как браузер сможет отрисовать компоненты. Срабатывает когда компоненты уже находятся на virtual dom (в памяти и можно прочитать/установить различные свойств), но еще не были отрисованы браузером.
- useEffect - асинхронный и будет вызван после того, как браузер отрисует компоненты.

Хук useLayoutEffect предотвращает лишнее обновление компонента.

👉 @frontendInterview
👍186👎2
Что такое порталы в React?

Порталы позволяют рендерить дочерние элементы в DOM-узел, находящийся вне DOM-иерархии родительского компонента.

Порталы особенно полезны, когда в родительском компоненте заданы стили overflow: hidden или z-index, и нужно, чтобы дочерний элемент визуально выходил за рамки своего контейнера. Это диалоги, модальные окна или всплывающие подсказки.

👉 @frontendInterview
👍7
Что лучше анимировать: transform, margin или width?
Anonymous Quiz
80%
transform
4%
margin
6%
width
10%
Нет разницы
👎12👍8😁6
Что такое refs в React?

Рефы дают возможность получить доступ к DOM-узлам, к которым они привязаны.

Ситуации, в которых использование рефов является оправданным:
- Управление фокусом
- Выделение текста
- Вызов scrollTo
- Вызов анимаций
- Интеграция со сторонними DOM-библиотеками
- Другие случаи

В рефах можно хранить любое значение, а не обязательно ссылку на элемент. Изменение поля ref.current не приводит к реренденру компонента.

👉 @frontendInterview
👍11
TypeScript Basics: Learn TypeScript from Scratch and Solidify Your Skills with Projects (2023)

Вначале вы рассмотрите некоторые основы, например, как запустить файл TypeScript и скомпилировать его в JavaScript, а также поймете, как он вписывается в полную экосистему наряду с React, Redux, Angular и Webpack. Используя практический подход, вы рассмотрите ключевые концепции и аспекты Typenoscript. После изучения фундаментальных основ вы перейдете к более сложным темам.
Вы также узнаете о декораторах, которые являются обязательной функцией в Angular. Далее в книге представлен небольшой проект со списком дел, за которым следует более крупный проект "Drag and Drop". Вы увидите, как разделить проект на небольшие управляемые модули, и узнаете, как сделать проект более эффективным с помощью Webpack. Наконец, вы создадите еще два React-проекта с использованием React и Redux.

👉 @frontendInterview
👎32
Colour Association

Вам дан двумерный массив, состоящий из наборов строк, представляющих собой цвет и ассоциацию. Создайте функцию, которая вернет массив объектов, где ключ будет цветом, а значение - ассоциацией.

Пример:
var array = [["white", "goodness"], ...] //returns [{white: 'goodness'}, ...]

👉 @frontendInterview
👍3😁2
Что такое reducer?

reducer - это функция-преобразователь, принимающая на вход текущее состояние и идентификатор действия, которое необходимо совершить над этим состоянием.

Иными словами, reducer возвращает модифицированную требуемым образом версию переданного ему состояния.

Параметром, идентифицирующим действие, обычно выступает объект с полями type (название команды для изменения состояния) и payload (полезная нагрузка - данные, необходимые для модификации).

Эта простая концепция лежит в основе большой части программных решений в рамках React.js для управления состоянием. Она может быть реализована как с использованием хука useReducer, экспортируемого из React, так и в рамках, к примеру, Redux, где она является более развитой.

Вот так может выглядеть реализация функции-преобразователя (reducer):
 export default function reducer(state, action) {
switch (action.type) {
case 'add':
return {
...state,
sum: state.sum + action.payload,
}
default: {
throw new Error(`Unknown action: ${action.type}`)
}
}
}


А вот так её использование:
import { useReducer } from 'react'
import reducer from './reducer'

const MyComponent = () => {
const [state, dispatch] = useReducer(reducer, sum: 0)

return (
<div>{state.sum}</div>
)
}


Хук useReducer принимает на вход reducer и начальное состояние, а возвращает текущее состояние и функцию dispatch для обращения к reducer.

👉 @frontendInterview
👍13👎1
Будет ли отступ между элементом .child и верхней границей родительского элемента в следующем коде?
Anonymous Quiz
69%
Да
31%
Нет
🤔33😁11👎8👍3
Как оптимизировать React-приложение?

- избавиться от причин лишних ререндеров
- вынести тяжелые вычисления в отдельный поток (Web Workers)
- использовать useMemo, useCallback, React.memo для мемоизации вычислений
- избавиться от утечек памяти
- использовать атрибут key в списках
- кэшировать негорячие вычисления
- кэшировать ответы запросов сервера на N минут/секунд (применимо не всегда)

👉 @frontendInterview
👍4
Какая ширина у элемента span?
Anonymous Quiz
32%
150px
18%
250px
31%
100px
19%
225px
😱1310👍8