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
Check same case

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

Примеры:
'a' and 'g' returns 1
'A' and 'C' returns 1
'b' and 'G' returns 0
'B' and 'g' returns 0
'0' and '?' returns -1


👉 @frontendInterview
👍1
Псевдоклассы группы type

Псевдоклассы -of-type позволяют выбирать из группы элементы одного уровня вложенности на основании их порядка:

:first-of-type — первый;
:nth-of-type(n-число) — каждый n-й элемент;
:last-of-type — последний;
:nth-last-of-type(n-число) — каждый n-й элемент с отсчётом «с конца».

Допустим, мы имеем такую HTML-разметку:
<ol class="list">
<li>Default означает «по умолчанию», цвет этого пункта без изменений.</li>
<li class="list__item">Амбары красят в красный цвет, потому что красная краска...</li>
<li>Говорят, в СССР красили подъезды в зелёный цвет, потому что осталось...</li>
<li class="list__item">В Катаре красят асфальт в синий цвет, чтобы он не перегревался.</li>
</ol>

И, допустим, нам нужно задать цвет текста каждого из пунктов, основываясь на их порядке.

Этот пункт не имеет класса, всё, что мы о нём знаем — что он третий <li> по порядку:
li:nth-of-type(3) {
color: #49A16C;
}
👍10
Какое значение примет result?
Anonymous Quiz
48%
true
52%
false
👍14👎7
text-rendering

Свойство text-rendering позволяет указывать браузеру, какие оптимизации нужно производить с текстом во время рендера.
Когда браузер «рассчитал» внешний вид символа, он должен корректно отрисовать символ в пиксельной сетке экрана монитора. Процесс заполнения пикселей после расчётов для видимой отрисовки чего угодно называется рендеринг.

Рендеринг текста — это процесс отрисовки символов шрифта в пиксельной сетке. При этом для обеспечения более естественного вида текста браузер может выполнять дополнительные вычисления и модификации символов: изменять кернинг (межсимвольное расстояние), объединять пары и даже тройки символов в лигатуры.

Ключевые слова:
auto
Значение по умолчанию. Браузер пытается самостоятельно угадать, в какой момент отрисовки важна скорость вывода символов, в какой — читаемость, а в какой — геометрическая точность.

optimizeSpeed
При отрисовке текста браузер будет ставить в приоритет именно скорость отрисовки, поэтому лигатуры и кернинг будут отключены.

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

geometricPrecision
Основной приоритет при рендеринге текста — геометрическая точность. В некоторых шрифтах кернинг изменяется не пропорционально изменению размера шрифта. Это может приводить к не самому лучшему внешнему виду текста.

👉 @frontendInterview
👍1
⚡️Век живи, век учись — пора и Angular открыть!

Приглашаем сегодня, 3 ноября в 20:00, на открытый урок: "Разработка приложений на Angular. Основные преимущества и возможности"

Angular - это мощный фреймворк от Google, который используется для создания мобильных приложений.

📌За 1,5 часа на занятии с опытным экспертом мы:
- Познакомимся с Angular CLI, two-way data binding, templates, routing, services;
- Как экономить время на разработке c этими технологиями;
- Получим расширяемый, легко поддерживаемый и структурированный код.

👨‍🎓Кто вещает?
Виктор Березин, Frontend Architect / Senior Full Stack Developer и преподаватель курса “Angular Developer” в OTUS.

🔴 Чтобы записаться на вебинар, пройдите вступительный тест: https://otus.pw/nsmr/

Это занятие является частью онлайн-курса «Angular Developer» от OTUS.
👍21
Какое значение примет result?
Anonymous Quiz
30%
SyntaxError
27%
ECMAScript
26%
undefined
18%
ReferenceError
🤔22👎10🔥4👍2
Как при помощи CSS выбрать первые два элемента li?
Anonymous Quiz
65%
li:nth-of-type(-n+2)
34%
li:first-child + li
1%
li:last-child + li
This media is not supported in your browser
VIEW IN TELEGRAM
👍28👏3👎2🔥2
:focus-within

Псевдокласс :focus-within используется в двух случаях:

- если к этому элементу применяется псевдокласс :focus;
- если к потомку этого элемента применяется псевдокласс :focus.

Причём потомок не обязательно должен быть прямым. Например, в примере с формой все теги <input> были сначала вложены в <div> и только потом — в <form>. Несмотря на это, :focus-within применился к форме.

👉 @frontendInterview
3👍2
Разработка игр на языке JavaScript

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

👉 @frontendInterview
👍10👎1
Area or Perimeter

Вам даны два параметра - длина и ширина прямоугольника. Если этот прямоугольник является квадратом, то верните его площадь. В другом случае верните периметр.

Примеры:
6, 10 --> 32
3, 3 --> 9


👉 @frontendInterview
👎9👍8
Остался в РФ и думаешь о своем будущем? Посмотри на IT! Это отличный шанс для всех, ведь в 2022 году на рынке освободилось место для новых специалистов после оттока айтишников из страны.

Поступай в Kata Academy на Frontend-разработчика и плати за обучение только после гарантированного трудоустройства с зарплатой от 80 000₽.

Тебя ждут 9 месяцев интенсивного обучения: ты изучишь только нужный стек технологий и будешь полностью подготовлен к выходу на работу в Москве или Санкт-Петербурге, куда тебе предстоит переехать после выпуска по условиям договора со школой.

По окончании обучения школа продолжит поддерживать тебя и участвовать в развитии твоей карьеры в течение 2-х лет после выпуска.

Поступай в Kata Academy, чтобы стать Frontend-разработчиком уже в июле!
👎7👍3
Object.seal()

Метод Object.seal() запечатывает объект, предотвращая добавление новых свойств к объекту и делая все существующие свойства не настраиваемыми. Значения представленных свойств всё ещё могут изменяться, поскольку они остаются записываемыми.

По умолчанию, объекты являются расширяемыми (к ним могут добавляться новые свойства). Запечатывание объекта предотвращает добавление к нему новых свойств и делает все существующие свойства не настраиваемыми. Оно делает все свойства объекта фиксированными и неизменными.

Примеры
 var obj = {
prop: function() {},
foo: 'bar'
};

Новые свойства могу быть добавлены, существующие свойства могут быть изменены или удалены.
 obj.foo = 'baz';
obj.lumpy = 'woof';
delete obj.prop;

var o = Object.seal(obj);

assert(o === obj);
assert(Object.isSealed(obj) === true);

Изменение значений свойств на запечатанном объекте всё ещё работает.
 obj.foo = 'quux';

Но вы не можете преобразовать свойства данных в свойства доступа и наоборот.
Object.defineProperty(obj, 'foo', { get: function() { return 'g'; } }); // выбросит TypeError

👉 @frontendInterview
👍51
Какое значение примет result?
Anonymous Quiz
3%
6
24%
5
18%
SyntaxError
9%
undefined
46%
10
👍7👏4👎2🤔2
Мемоизация

Мемоизация — сохранение результатов выполнения функций для предотвращения повторных вычислений. Это один из способов оптимизации.

Функция с мемоизацией:
 const memoizedAdd = () => {
let cache = {};
return (n) => {
if (n in cache) {
console.log('Fetching from cache');
return cache[n];
}
else {
console.log('Calculating result');
let result = n + 10;
cache[n] = result;
return result;
}
}
}

Функция memoizeAdd возвращает другую функцию, которую мы можем вызвать тогда, когда нужно.
 const newAdd = memoizedAdd();
console.log(newAdd(9)); // вычислено
console.log(newAdd(9)); // взято из кэша

Переменная cache может хранить данные между вызовами функции, так как она определена в замыкании.

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