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
Как работает прототипное наследование в JS?

Каждый объект в JS имеет базовый объект – прототип. Если свойство не находится в исходном объекте, то поиск продолжается в его "родительском" объекте.

Установить прототип объекта можно только во время создания объекта: если вы создаете новый объект с помощью новой Func(), свойство объекта [[Prototype]] будет установлено на объект, на который ссылается Func.prototype.

👉 @frontendInterview
Что произойдет со страничкой в результате выполнения кода с картинки?

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


 foo() {
return Promise.resolve(1).then(foo);
}

foo();

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

👉 @frontendInterview
Какое изначальное значение у CSS свойства flex-grow?
Anonymous Quiz
35%
auto
31%
0
12%
initial
19%
1
4%
unset
Какие типы данных представлены в javanoscript?

Чтобы узнать тип переменной JavaScript, мы можем использовать оператор typeof.

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

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

BigInt – используется для хранения чисел, превышающих ограничение типа данных Number. Он может хранить большие целые числа и представлен добавлением «n» к целочисленному литералу.

Boolean – представляет собой логическую сущность и может иметь только два значения: истина или ложь. Логические значения обычно используются для условного тестирования.

Undefined – когда переменная объявлена, но не назначена, она имеет значение undefined, и ее тип также не определен.

Null – представляет несуществующее или недопустимое значение.
typeof null равен "object" и это нужно учитывать в проверках

Symbol – это новый тип данных, представленный в версии JavaScript для ES6. Он используется для хранения анонимного и уникального значения.

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

Array – это не отдельный тип данных, на самом деле это Object.

👉 @frontendInterview
Какой цвет текста в элементе div?
Anonymous Quiz
7%
blue
61%
yellow
23%
red
9%
black
New Perspectives HTML5 and CSS3, 7th Edition (2017)

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

👉 @frontendInterview
Динамическая генерация цвета

Создайте функцию, которая будет генерировать цвет в hex формате.

Примеры:
#ffffff
#25a403
#000001


👉 @frontendInterview
Getting MEAN with Mongo, Express, Angular, and Node (2019)

Книга научит вас разрабатывать веб-приложения, используя стек MEAN. Во время чтения в начале вы сделаете статический сайт при помощи Express и Node, далее интегрируете базу данных MongoDB, создадите API и добавите систему аутентификации. Попутно вы получите бесчисленное множество профессиональных советов по созданию качественных веб-приложений.

👉 @frontendInterview
Как найти сумму элементов массива, если вложенность массива неизвестна?

Для этого можно использовать рекурсию.
function arraySum(arr) {
let sum = 0;
arr.map((item) => {
if (Array.isArray(item)) {
sum += arraySum(item);
} else {
sum += item;
}
});
return sum;
}
console.log(arraySum([[1, 2, [3, 4]], [9], [10, 12]]));


👉 @frontendInterview
Перечислите специальные числовые значения в JS.

В JavaScript имеется предопределённая глобальная переменная Infinity. Она хранит специальное значение обозначающее бесконечность – Infinity. Эта переменная доступна только для чтения.

Значение Infinity можно получить:

1. В результате деления числа на 0.
2. Если результат вычислений, не попадает в допустимый диапазон чисел JavaScript.
3. Любое отрицательное число, которое не может быть представлено, считается отрицательной бесконечностью (-Infinity), а положительное – положительной бесконечностью (Infinity).
alert(123 / 0); // Infinity
alert(-12345 / 0); // -Infinity
alert(1e500); // Infinity
alert(1 - 1e500); // -Infinity

Также, в JavaScript имеется предопределённая глобальная переменная NaN. Она хранит специальное значение NaN. Эта переменная доступна только для чтения.

Значение NaN используется для обозначения математической ошибки, которая возникает в том случае, если математическая операция не может быть совершена:
var a = 10, b = "текст";
document.write(a - b); // Операнд не может быть преобразован в число
document.write(0 / 0); // Деление нуля на нуль


👉 @frontendInterview
Через дорогу

Вдоль дороги, слева и справа стоят дома. Известно, по какому принципу они нумеруются. С левой стороны находятся нечетные по возрастанию. С правой - четные по убыванию.
1| |6
3| |4
5| |2

Ваша задача, по заданному номеру дома и длине улицы определить номер дома напротив.
Примеры:
overTheRoad(address, n)
overTheRoad(1, 3) = 6
overTheRoad(3, 3) = 4
overTheRoad(2, 3) = 5
overTheRoad(3, 5) = 8


👉 @frontendInterview