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
Какое значение примет 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
Стилизация — неотъемлемая часть работы над любым веб-приложением.

Как сделать вёрстку корректной и понять, какие инструменты лучше подойдут для нового проекта или рефакторинга уже существующего приложения?

Обсудим это на бесплатном вебинаре «CSS: на чём писать в 2023» вместе с Артуром Стамбульцяном, Frontend Team Lead компании Ton. Разберём технологии PostCSS, Sass, Less, Styled Components, CSS Modules и Tailwind, сравним их друг с другом и выясним, есть ли среди них явный фаворит.

Встречаемся в следующий вторник, 15 ноября, в 19:00 (по Москве).

Регистрируйтесь по ссылке!
👍2
Участвуйте в Weekend Offer для фронтенд-разработчиков и станьте частью команды core mVK

Если вы хотите реализоваться в сфере IT и принимать участие в разработке сложных платформ и инструментов — пройдите оффер всего за одни выходные и получите возможность присоединиться к Команде ВКонтакте.

Вы можете помочь в модернизации приложения, которым пользуются более 40 миллионов человек в месяц. Присоединяйтесь к инфраструктурной команде core mVK или к продуктовым командам суперприложения, ленты и рекомендаций, контента, стикеров и подарков или VK Клипов и получите возможность реализовать свои идеи.

Переходите по ссылке, чтобы узнать больше о работе core mVK и проведении Weekend Offer.

👉 @frontendInterview
👍2😱1
Какое значение примет result?
Anonymous Quiz
11%
null
48%
undefined
24%
10
17%
0
👍51