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

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

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

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Посчитать повторения

Напишите функцию, которая принимает строку, убирает повторяющиеся буквы и возвращает число убранных букв.

Примеры:
'abbbbc' => 'abc' # answer: 3
'abbcca' => 'abca' # answer: 2
'ab cca' => 'ab ca' # answer: 1


👉 @frontendInterview
The Road to React with Firebase (2019)

Данная книга - это ваш путь к освоению React продвинутого уровня для создания веб-приложений на JavaScript с использованием Firebase. Firebase позволяет подключить ваше приложение на React к базе данных, работать с механизмами входа, выхода и регистрации, а также разрешать только определенным пользователям доступ к вашему приложению. Firebase имеет возможности хостинга и входа через Google, Facebook и многое другое. Все будет объяснено в книге при самостоятельном создании бизнес-приложения. Чтобы извлечь максимальную пользу из неё, вы должны быть знакомы с основами веб-разработки, включая HTML, CSS и JavaScript. Также необходимо знать термин API, потому что API часто используются для приложений, описанных в этой книге.

👉 @frontendInterview
Что такое «генератор»?

Генераторы — это функции, из которых можно «выходить», и в которые можно «входить» по мере необходимости. Их контекст (привязки переменных) сохраняется между сеансами «входа» в них.

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

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

function* makeRangeIterator(start = 0, end = Infinity, step = 1) {
let iterationCount = 0;
for (let i = start; i < end; i += step) {
iterationCount++;
yield i;
}
return iterationCount;
}
Когда стоит использовать генераторы?

Если в двух словах описать основные полезные возможности генераторов, то окажется, что они заключаются в следующем:

1. Код, в котором используется генератор, сам определяет момент получения следующего значения. Генератор отвечает только за возврат значений, управление им осуществляется извне.

2. Существуют асинхронные генераторы. Они позволяют работать с асинхронными потоками данных.

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

👉 @frontendInterview
This media is not supported in your browser
VIEW IN TELEGRAM
Как стать фронтенд разработчиком в 2021? 

Канал "На фронте - javanoscript, html, css" собрал для Вас подборку материалов, которая поможет Вам стать фронтенд разработчиком.

Как учится веб-разработке в 2021 году — план развития начинающего веб-разработчика в 2021. Что учить, в какой последовательности.

Что нужно знать о популярных JS-фреймворках — история создания и особенности популярных фреймворков.

Шпаргалка по JS-методам для работы с DOM — поможет вам разобраться в метожах для работы с DOM

DevTools для «чайников» — руководство по использованию инструментов разработчика

Еще больше крутых и полезных материалов ищите на нашем канале.
Век из года

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

Примеры:
1705 --> 18
1900 --> 19
1601 --> 17
2000 --> 20


👉 @frontendInterview
Чему равен padding-bottom элемента p?
Anonymous Quiz
11%
120px
8%
90px
47%
80px
31%
60px
3%
160px
Расскажите о шаблоне проектирования «Прототип»

Прототип (Prototype) — это порождающий шаблон проектирования. Он используется для создания объектов. Объекты, созданные с его помощью, содержат значения, скопированные из их прототипа (из объекта-образца). Этот шаблон ещё называют шаблоном Свойства (Properties).

Пример использования паттерна «прототип» — это инициализация неких объектов стандартными значениями, хранящимися в базе данных. Такие значения, записанные в прототип, копируются в новые объекты без обращения к базе данных.

Надо отметить, что этот паттерн редко используется в классических языках. В JavaScript применяется модель прототипного наследования. Данный паттерн применяется при конструировании новых объектов и их прототипов.

👉 @frontendInterview
Какое значение примет result?
Anonymous Quiz
41%
true
59%
false
Что такое «временная мёртвая зона» в ES6?

В ES6 выполняется подъём переменных и констант, объявленных с использованием ключевых слов let и const (выполняется и подъём сущностей, объявленных с использованием ключевых слов var, class и function). Однако в коде имеется зона, простирающаяся от входа в область видимости до объявления переменной или константы. При обращении к переменной или константе в этой зоне будет выдана ошибка. Это и есть «временная мёртвая зона» (Temporal Dead Zone, TDZ).

 //console.log(aLet)  // выбросит ReferenceError

let aLet;
console.log(aLet); // undefined
aLet = 10;
console.log(aLet); // 10

В данном примере TDZ заканчивается после объявления aLet, но не после присвоения aLet значения.

👉 @frontendInterview
В чём разница между объектами Map и WeakMap?

Эти объекты ведут себя по-разному в том случае, если переменная, содержащая ссылку на объект, являющийся ключом одной из пар ключ/значение, оказывается недоступной. Вот пример:

 var map = new Map();
var weakmap = new WeakMap();

(function() {
var a = {
x: 12
};
var b = {
y: 12
};

map.set(a, 1);
weakmap.set(b, 2);
})()

После того, как завершается выполнение IIFE, у нас уже не будет доступа к объектам a и b. Поэтому сборщик мусора удаляет ключ b из weakmap и очищает память. А вот содержимое map остаётся при этом неизменным.

В результате оказывается, что объекты WeakMap позволяют сборщику мусора избавляться от тех своих записей, на ключи которых нет ссылок во внешних переменных. Объекты map хранят пары ключ/значение вне зависимости от наличия или отсутствия внешних ссылок на ключи.
То же самое можно сказать и о реализации структуры данных Map с использованием обычных массивов. В WeakMap используются «слабые» ссылки на ключи.
Они не препятствуют работе сборщика мусора в том случае, если на объект, используемый в роли ключа, нет других ссылок.

👉 @frontendInterview
Алгоритмы — это основа программирования, определяющая, каким образом программное обеспечение будет использовать структуры данных.

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

👉 @frontendInterview