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
Чему равен 'this' в функции-обработчике события?
Anonymous Quiz
10%
null
16%
e
34%
e.currentTarget
40%
window
👍10🤔71👏1
Что такое code coverage? Обязательно ли 100% покрытие кода тестами?

Это метрика, которая измеряет, насколько код программы был протестирован тестами. Она показывает, какая часть кода была выполнена (покрыта) в процессе выполнения тестов.

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

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

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

👉 @frontendInterview
1
Practical Next.js for E-Commerce: Create E-Commerce Sites with the Next.js Framework (2023)

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

👉 @frontendInterview
More Zeros than Ones

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

Примеры:
'abcde' === ["1100001", "1100010", "1100011", "1100100", "1100101"]
True True False True False

--> ['a','b','d']

'DIGEST'--> ['D','I','E','T']


👉 @frontendInterview
Как установить язык сайта и его отдельных фрагментов, и почему это важно?

Как и пользователи сайта, скринридеры могут «разговаривать» на разных языках. Это возможно благодаря встроенному в скринридер синтезатору речи.

Чтобы скринридер определил язык и правильно произнёс текст, нужно указать основной язык сайта в атрибуте lang тега <html>. В качестве значения атрибута используется так называемый «языковой тег». Чаще всего это двухбуквенный или трёхбуквенный код. Например, для английского языка используется код en, для русского — ru.

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

Пример
Определяем основной язык веб-страницы:
<html lang="ru">

Задаём язык фрагмента. Теперь скринридер понимает, что «Lagom» надо читать на шведском, а не на русском:
<p>
<span lang="sv">Lagom</span> — не слишком много, не слишком мало,
а так, что в самый раз.
</p>

Определение языка важно не только для правильной работы скринридеров:
- браузер использует значение атрибута lang для выбора соответствующих языку шрифтов, формата даты и времени, разделителя десятичной части (точка или запятая);
- видеоплееры могут отображать субтитры на соответствующем языке;
- установленный язык используется программами автоматического перевода, такими как Google Translate, и программами для проверки орфографии.

👉 @frontendInterview
👍11
Присвоилось ли значение bark.animal? Если да, то какое?
Anonymous Quiz
26%
Возникла ошибка
56%
dog
17%
undefined
1%
""
👍122
Как создать объект без прототипа?

Это можно сделать с помощью Object.create:
const o1 = {}
console.log(o1.toString) // [object Object]

// первым параметром передается объект-прототип
// нам прототип не нужен, поэтому передаем null
const o2 = Object.create(null)

console.log(o2.toString) // o2.toString is not a function


👉 @frontendInterview
👍53🔥1
Какая единица измерения является относительной и зависит от размера шрифта родительского элемента?
Anonymous Quiz
4%
px
53%
em
39%
rem
5%
Ни одна из вышеперечисленных
👍3
Что такое async/await?

async/await — относительно новый способ написания асинхронного (неблокирующего) кода в JS. Он делает код более читаемым и чистым, чем промисы и функции обратного вызова.

Использование ключевого слова «async» перед функцией заставляет ее возвращать промис.

Ключевое слово «await» можно использовать только внутри асинхронной функции. await ожидает завершения выражения справа, чтобы вернуть его значение перед выполнением следующей строчки кода.

async function f() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("готово!"), 1000)
});

let result = await promise; // будет ждать, пока промис не выполнится (*)

alert(result); // "готово!"
}

f();


👉 @frontendInterview
👍8
Head First Git: A Learner's Guide to Understanding Git from the Inside Out

Многие люди, использующие Git, полагаются на «рецепты» — копирование и вставку команд, которые они находят в Интернете, не понимая, как на самом деле работает Git. Но что делать, если вы оказались в затруднительном положении, которое уже не исправить чьей-то готовой командой? С помощью этого уникального практического руководства вы изучите способы работы с Git и получите от этого удовольствие.

👉 @frontendInterview
Day of the Year

Вам дана дата в формате [D, M, YYYY]. Создайте функцию, которая вычислит порядковый номер дня этой даты в году.

Пример:
toDayOfYear([1, 1, 2000]) => 1

👉 @frontendInterview
Что такое Event Propagation?

Когда какое-либо событие происходит в элементе DOM, оно на самом деле происходит не только в нем. Событие «распространяется» от объекта window до вызвавшего его элемента (event.target). При этом событие последовательно пронизывает всех предков целевого элемента. Распространение события имеет три стадии:

1. Фаза погружения — событие возникает в объекте window и опускается до цели события через всех ее предков.
2. Целевая фаза — это когда событие достигает целевого элемента.
3. Фаза всплытия — событие поднимается от event.target, последовательно проходит через всех его предков и достигает объекта window.

👉 @frontendInterview
👍18
Какой максимальный размер cookie?
Anonymous Quiz
10%
2 кб
40%
4 кб
26%
8 кб
24%
Ограничен ОЗУ
👍8🔥2😱1