Front Interview | Подготовка к собеседованию
2.01K subscribers
267 photos
2 videos
38 links
У нас ежедневно выходят разборы задач с подробным объяснением для подготовки к собеседованию


Мы поможем подготовиться к трудоустройству в компанию мечты!
Download Telegram
Как вы обеспечиваете отображение страниц в браузерах с ограниченными возможностями? Какие приёмы/процессы вы при этом используете?

- autoprefixer
- «Graceful degradation»
- «Progressive enhancement»

#вопросы_по_css
👍11
HTML вопрос: Что из перечисленного относительная единица?

#тест
👍3
Промисамы (promises) и их полифилы

Промис — это объект, который может вернуть одно значение в будущем: либо выполненное значение, либо причину, по которой оно не было выполнено (например, произошла ошибка сети). Промис может находиться в одном из 3 возможных состояний: выполнено, отклонено или ожидает выполнения. При использовании промисов можно добавлять callback-функции для обработки выполенного значения или причины отказа.

Некоторыми распространёнными полифилами являются $.deferred, Q и Bluebird, но не все они соответствуют спецификации. ES2015 поддерживает промисы "из коробки", и в настоящее время полифилы обычно не нужны.

#вопросы_по_javascript
👍1
CSS вопрос: Какое свойство является сокращением для свойств flex-direction и flex-wrap?

#тест
👍1
Что такое кэш приложения в HTML5?

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

Кэш приложения помогает вам определить, какие файлы должны быть кэшированы, а какие нет.

#вопросы_по_html
👍5
Всем привет! Большая просьба проголосовать в опросе - Нравится ли вам контент на нашем канале? Предложения по улучшению можно писать мне в личку) @andreymtelega
Anonymous Poll
92%
Да! 🔥
8%
Нет
👍8
TypeScript вопрос: Какой тип возвращаемого значения имеет функция, которая не возвращает значение?
Anonymous Quiz
12%
null
54%
void
6%
any
28%
undefined
7🤩2
Что делает setState?

Вызов React setState перестраивает приложение и обновляет DOM. Как это происходит? Все просто. React очень легковесный. Он строит внутри себя копию DOM дерева и при улучшении приложения он просто сравнивает предыдущую версию DOM с новой, отыскивает изменения и эффективно внедряет их в интерфейс.

React видит точные изменения, благодаря чему предотвращает лишние манипуляции с пользовательским интерфейсом.

#вопросы_по_react
👍14
Что такое Дженерики в TypeScript?

Дженерики, или Generic Types, — обобщенные типы. Они нужны для описания похожих, но отличающихся какими-то характеристиками типов. Мы описываем общую структуру, а конкретную уже определяет пользователь дженерика. Дженерик — это каркас, внутренности которого заполняет разработчик. Программист, который описывает обобщенный тип, никогда не знает, что именно туда решит записать тот, кто будет этот тип использовать.

#вопросы_по_typescript
👍9
В чём разница между host-объектами и нативными объектами?

- Собственные объекты: Object (конструктор), Date, Math, parseInt, eval, строковые методы, такие как indexOf и replace, методы массивов и т.д. - основные предопределённые объекты, всегда доступные в JavaScript.
- Объекты хоста (при условии среды браузера): window, document, location, history, XMLHttpRequest, setTimeout, getElementsByTagName, querySelectorAll и т.д. - Они отличаются от встроенных объектов, потому что не все окружения будут иметь одни и те же объекты хоста.

#вопросы_по_javascript
👍9
В проекте React мы добавляем ссылку на 2 файла. Один из них - react.js, другой - react-dom.js. Почему нам нужно включить два файла, а не один?

Библиотека компонентов React используется на веб-сайтах, а также для создания мобильных приложений с помощью React Native. Файл React.js - это небольшой файл, который выполняет работу по созданию компонентов. Поэтому он используется как в веб-проектах, так и в проектах React-Native. В Интернете компоненты затем отображаются в браузере с помощью response-dom.js. Таким образом, 2 файла разделены для возможности повторного использования.

#вопросы_по_react
👍9
Поддерживает ли TypeScript все принципы объектно-ориентированного программирования?

Да, поддерживает. Существуют четыре основных принципа объектно-ориентированного программирования:

- Инкапсуляция
- Наследование
- Абстракция
- Полиморфизм

#вопросы_по_typescript
👍91
Что такое «генератор»?

Генераторы — это функции, из которых можно «выходить», и в которые можно «входить» по мере необходимости. Их контекст (привязки переменных) сохраняется между сеансами "входа" в них. Генераторы объявляют с использованием ключевого слова function*. Такая функция, при её первом вызове, не выполняет код, возвращая особый объект, генератор, который позволяет управлять её выполнением. Для получения очередного значения, выдаваемого генератором, нужно вызвать его метод next(). Благодаря этому выполняется код функции до тех пор, пока в нём не встретится ключевое слово yield, возвращающее значение.

Функцию-генератор можно вызывать сколько угодно раз. Каждый раз будет возвращаться новый генератор. Но каждый генератор можно обойти лишь один раз.

#вопросы_по_javascript
👍2
Что такое чистая функция?

Чистая функция не изменяет свой ввод. Он всегда возвращает одно и то же значение для одного и того же ввода. В React компонент должен быть чистой функцией по отношению к своим свойствам. Это означает, что для конкретного пропса визуализированный компонент всегда будет одинаковым.

#вопросы_по_react
🔥7👍2
Как перегрузить функцию?

Чтобы перегрузить функцию в TypeScript, просто создайте две функции с одним и тем же именем, но с разными типами аргументов / возвращаемых значений. Обе функции должны принимать одинаковое количество аргументов. Это важная часть полиморфизма в TypeScript.

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

function add(a: string, b: string): string;

function add(a: number, b: number): number;

function add(a: any, b: any): any {
return a + b;
}

add("Hello ", "Steve"); // returns "Hello Steve"
add(10, 20); // returns 30

#вопросы_по_typescript
🔥5👍2
Почему результатом сравнения двух похожих объектов является false?

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

#вопросы_по_javascript
👍11
Для чего нужен атрибут key при рендере списков?

Ключи (keys) помогают React определять, какие элементы были изменены, добавлены или удалены. Их необходимо указывать, чтобы React мог сопоставлять элементы массива с течением времени.

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

#вопросы_по_react
5👍3
Что такое замыкание и как/для чего его используют?

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

#вопросы_по_javascript
👍8🤩2