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
Сила jаvanoscript: 68 способов эффективного использования JS

Эта книга поможет вам освоить всю мощь языка программирования jаvanoscript и научит применять его максимально эффективно. Автор описывает внутреннюю работу языка на понятных практических примерах, которые помогут как начинающим программистам, так и опытным разработчикам повысить уровень понимания jаvanoscript и существенно обогатить опыт его применения в своей работе.

👉 @frontendInterview
The takeWhile Function

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

Пример:
function isEven(num) {
return num % 2 === 0;
}
var seq = [2,4,6,8,1,2,5,4,3,2];

takeWhile(seq, isEven) // -> [2,4,6,8]


👉 @frontendInterview
В чем смысл оборачивания всего содержимого JavaScript-файла в функцию?

Этот шаблон называется IIFE - Immediately Invoked Function Expression (немедленно вызываемое функциональное выражение). Этот подход позволяет:

- обеспечить коду собственный блок видимости, то-есть контекст выполнения

- избежать загрязнения глобальной области видимости глобальными переменными

- избежать неумышленного переопределения уже существующих переменных в глобальной области видимости

👉 @frontendInterview
Каково значение свойства display у HTML элемента noscript?
Anonymous Quiz
17%
initial
6%
inline-block
50%
none
18%
block
9%
inline
В чем смысл и польза указания use strict в начале JavaScript-файла?

Команда use strict включает так называемый строгий режим. В этом режиме предупреждения становятся ошибками, что помогает в написании более чистого и безопасного кода, менее уязвимого к ошибкам в продакшене.

👉 @frontendInterview
Как можно задать стили только первым двум элементам li?
Anonymous Quiz
3%
li:last-child + li
60%
li:nth-child(-n+2)
37%
li:first-child+li
Как можно клонировать объект в JS?

Можно использовать оператор rest (...)
Можно использовать Object.assign(newObj, oldObj).

Но эти подходы не позволяют выполнить глубокое клонирование. Поэтому, если нам нужно клонировать объект со вложенными объектами, мы можем использовать либо метод какой-либо библиотеки (привет, lodash), либо сделать это средствами встроенного объекта JSON.
JSON.parse(JSON.stringify(objectToClone))


👉 @frontendInterview
Функциональное программирование на jаvanoscript.

В сложных веб-приложениях низкоуровневые детали jаvanoscript-кода могут затруднить анализ программы и повлиять на работоспособность системы в целом.

👉 @frontendInterview
Removing Elements

Создайте функцию, которая удалит каждый второй элемент в массиве.
Пример:
["Keep", "Remove", "Keep", "Remove", "Keep", ...]
//Результат: ["Keep", "Keep", "Keep", ...]


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

Для этого можно использовать рекурсию.

👉 @frontendInterview
Какую git команду нужно использовать, чтобы посмотреть состояния файлов в рабочей директории и индексе
Anonymous Quiz
10%
git log
5%
git config
81%
git status
5%
git diff
Сумма двух чисел
Напишите функцию, которая принимает два аргумента: массив из уникальных целых чисел и сумму в виде целого числа. Если сумма двух любых чисел массива из аргумента равна числу, которое приходит вторым аргументом, функция должна вернуть новый массив из этих двух чисел в любом порядке. Если решения нет, вернуть пустой массив. Текущее число само с собой складывать нельзя.

Пример входных данных:
 array = [3, 5, -4, 8, 11, 1, -1, 6]
targetSum = 10

На выходе:
[-1, 11] или [11, -1], так как -1 + 11 = 10 = targetSum

👉 @frontendInterview
Какая из перечисленных команд позволяет переименовать git ветку?
Anonymous Quiz
38%
git branch -m
12%
git checkout -b
39%
get branch -n
5%
git branch -d
6%
git branch -c
Преобразование массива в объект с группировкой и фильтрацией элементов

Напишите функцию, которая на вход принимает массив из студентов, где студент — это объект с полями «имя», «возраст» и «номер группы» {name: string, age: number, groupId: number}, а на выходе возвращает объект, где ключ — это номер группы, а значение — массив из студентов старше 17 лет.

👉 @frontendInterview