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
Сколько значений можно передать в CSS свойство margin?
Anonymous Quiz
1%
1
1%
2
2%
3
53%
4
44%
Любое количество из перечисленных выше
Пояснение

Свойство margin может быть задано с использованием одного, двух, трёх или четырёх значений.

👉 @frontendInterview
Что такое hoisting или "поднятие переменных"? Что произойдет при выполнении кода с картинки?

Интерпретатор JavaScript всегда перемещает («поднимает») объявления функций и переменных в начало области видимости (вверх текущего скрипта или функции). Код в вопросе аналогичен следующему:

 myname = "global"; 
function func() {
var myname;
console.log(myname); // "undefined"
myname = "local";
console.log(myname); // "local"
}
func();

В консоль будет напечатано:
undefined
local


👉 @frontendInterview
Как добавлять элементы на HTML страницу динамически ?

Создание новых элементов осуществляется с помощью document.createElement(tagName);

После создания элемента его нужно присоединить к родительскому элементу с помощью .appendChild(node);

Пример:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<noscript>Title</noscript>
<noscript type="text/javanoscript">
function addNode() {
var newP = document.createElement("p");
var textNode = document.createTextNode(" I'm a new text node");
newP.appendChild(textNode);
document.getElementById("target").appendChild(newP);
}
</noscript>
</head>
<body onload="addNode();">
<p id="target">sart here<p>
</body>
</html>


👉 @frontendInterview
Какое CSS свойство не может быть установлено с помощью сокращенного свойства background?
Anonymous Quiz
7%
background-color
71%
background-blend-mode
8%
background-size
5%
background-repeat
9%
background-position
В чем разница между Object.getOwnPropertyNames() и Object.keys()

Object.getOwnPropertyNames() возвращает перечислимые и не перечислимые свойства из объекта или массива.
Пример:
 var arr = ["a", "b", "c"]; 
print(Object.getOwnPropertyNames(arr).sort()); // prints "0,1,2,length"

// Array-like object
 var obj = { 0: "a", 1: "b", 2: "c"}; 
print(Object.getOwnPropertyNames(obj).sort()); // prints "0,1,2"

Object.keys() возвращает перечислимые свойства из объекта или массива.
Пример:
 var arr = ["a", "b", "c"]; 
alert(Object.keys(arr)); // will alert "0,1,2"

// array like object
var obj = { 0 : "a", 1 : "b", 2 : "c"};
alert(Object.keys(obj)); // will alert "0,1,2"


👉 @frontendInterview
Пояснение

Обычные переменные в JavaScript нельзя удалить с помощью оператора delete. В строгом режиме попытка удалить переменную вызовет ошибку и не будет разрешена.

Оператор delete может удалять только свойства объекта. Свойства объекта "квалифицированы", если они конфигурируемы.

В отличие от общепринятого мнения, оператор delete не имеет ничего общего с непосредственным освобождением памяти.

Эта ошибка возникает только в коде строгого режима. В нестрогом коде операция просто возвращает false.

👉 @frontendInterview
Грег Сидельников упорядочил свойства по основной категории (положение, размерность, макеты, CSS-анимация и т. д.) и визуализировал их работу. Вместо бесконечных томов документации – две с половиной сотни иллюстраций помогут вам разобраться во всех тонкостях работы CSS.

👉 @frontendInterview
Регистр гласных

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

Пример:
C is alive! станет C Is AlIvE!

👉 @frontendInterview
Непрерывное развитие API

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

👉 @frontendInterview
Что находится в this в фрагменте кода c картинки?

В приведенном коде значением this будет window. Механизм определения this в данном случае описывается стандартом ECMA-262.

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

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

Нотация — подвыражение(аргументы)
Вид этого подвыражения и определяет, чем будет this внутри функции. Если в этом подвыражении происходит обращение к полю объекта, то этот объект становится this (грубо говоря, мы вызываем поле объекта как функцию).

👉 @frontendInterview
Функция Math.random() возвращает число на промежутке
Anonymous Quiz
14%
от 0 до 100
2%
от -1 до 0
77%
от 0 до 1
7%
от -100 до 100
С помощью какой конструкции языка можно управлять потоком выполнения скрипта и отслеживать ошибки?

Это возможно с помощью конструкции try{}... catch{}
 try { 
var number = 9;
alert( number.toString(2) );
// ...
alert('Выполнено без ошибок!');
} catch(e) {
alert('Ошибка!');
}

Работает это так:
Выполняется код внутри блока try. Если в нём возникнет ошибка, то выполнение try прерывается, и управление прыгает в начало блока catch.

👉 @frontendInterview
На сколько вы хороши?

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

Примеры:
betterThanAverage([2, 3], 5) => true
betterThanAverage([100, 40, 34, 57, 29, 72, 57, 88], 75) => true


👉 @frontendInterview
Что из перечисленного относительная единица?
Anonymous Quiz
11%
px
7%
pt
79%
vh
3%
in
Почему вызов a(); происходит успешно, а вызов b(); выдает ошибку?

Функция а() инициализируется на этапе загрузки скрипта, как бы "всплывает вверх" а функция б инициализируется, когда объявляется переменная b

👉 @frontendInterview