Frontend | Вопросы собесов
Сайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+T0COHtFzCJkwMDUy Задачи t.me/+_tcX2w2EmvdmMTgy Вакансии t.me/+CgCAzIyGHHg0Nzky
Больше📈 Аналитический обзор Telegram-канала Frontend | Вопросы собесов
Канал Frontend | Вопросы собесов (@easy_javascript_ru) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 18 270 подписчиков, занимая 7 345 место в категории Технологии и приложения и 36 940 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 18 270 подписчиков.
Согласно последним данным от 15 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -134, а за последние 24 часа — -7, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 9.73%. В первые 24 часа после публикации контент обычно набирает 5.72% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 778 просмотров. В течение первых суток публикация набирает 1 046 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 9.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как ставь, браузер, html, border, flex.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Сайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp
Тесты t.me/+T0COHtFzCJkwMDUy
Задачи t.me/+_tcX2w2EmvdmMTgy
Вакансии t.me/+CgCAzIyGHHg0Nzky”
Благодаря высокой частоте обновлений (последние данные получены 16 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
// Пример на Sass
$primary-color: #3498db;
$font-size: 16px;
body {
color: $primary-color;
font-size: $font-size;
}
🟠Вложенные правила
В стандартном CSS вложенность не поддерживается, что может затруднять чтение и поддержку кода. Препроцессоры позволяют использовать вложенные правила, что делает структуру кода более логичной и читаемой.
// Пример на Sass
.nav {
background: #eee;
ul {
margin: 0;
padding: 0;
li {
display: inline-block;
a {
color: #333;
}
}
}
}
🟠Миксины
Миксины позволяют определять повторяющиеся блоки стилей и использовать их в разных местах кода. Это помогает избежать дублирования и облегчает внесение изменений.
// Пример на Sass
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
border-radius: $radius;
}
.box {
@include border-radius(10px);
}
🟠Функции и операции
Препроцессоры поддерживают использование функций и операций для выполнения вычислений и обработки значений непосредственно в CSS-коде.
// Пример на Sass
$base-font-size: 16px;
.large-text {
font-size: $base-font-size * 1.5;
}
🟠Импорт файлов
Препроцессоры позволяют разбивать CSS на несколько файлов и импортировать их в основной файл стилей. Это улучшает организацию кода и его поддерживаемость.
// Пример на Sass
@import 'variables';
@import 'mixins';
@import 'base';
@import 'layout';
@import 'components';
Ставь 👍 и забирай 📚 Базу знанийanimation вместе с параметром infinite, который указывает, что анимация должна повторяться бесконечно.
🚩Основные шаги
1⃣Определение ключевых кадров анимации
с помощью @keyframes.
2⃣Применение анимации к элементу с использованием свойства animation и указанием параметра infinite.
🚩Пример использования
Сначала создайте анимацию с ключевыми кадрами. Допустим, мы хотим, чтобы элемент плавно изменял цвет и возвращался к исходному состоянию.
@keyframes changeColor {
0% {
background-color: lightblue;
}
50% {
background-color: lightgreen;
}
100% {
background-color: lightblue;
}
}
Теперь применим эту анимацию к элементу и укажем, что она должна повторяться бесконечно.
.animated-box {
width: 100px;
height: 100px;
background-color: lightblue;
animation: changeColor 3s infinite;
}
🚩Зачем это нужно
🟠Эффекты на сайте
Бесконечные анимации могут использоваться для создания привлекательных визуальных эффектов на сайте, таких как мерцание, изменение цвета или вращение элементов.
🟠Интерактивность
Такие анимации могут сделать пользовательский интерфейс более динамичным и интересным.
Ставь 👍 и забирай 📚 Базу знанийperspective и transform.
🚩Пример использования
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.container {
perspective: 800px;
}
.box {
width: 100px;
height: 100px;
background-color: lightblue;
margin: 50px;
transform-style: preserve-3d;
transition: transform 1s;
}
.rotate-x {
transform: rotateX(45deg);
}
.rotate-y {
transform: rotateY(45deg);
}
</style>
</head>
<body>
<div class="container">
<div class="box rotate-x"></div>
<div class="box rotate-y"></div>
</div>
</body>
</html>
🚩Объяснение
🟠Контейнер с перспективой
Определяет глубину перспективы. Меньшие значения делают перспективу более выраженной, большие значения — более плоской.
.container {
perspective: 800px;
}
🟠Элемент с трехмерной трансформацией
Обеспечивает сохранение трехмерных преобразований для потомков элемента. Добавляет плавный переход при изменении трансформации.
.box {
width: 100px;
height: 100px;
background-color: lightblue;
margin: 50px;
transform-style: preserve-3d;
transition: transform 1s;
}
🟠Вращение по оси X
Вращает элемент на 45 градусов вокруг оси X.
.rotate-x {
transform: rotateX(45deg);
}
🟠Вращение по оси Y
Вращает элемент на 45 градусов вокруг оси Y.
.rotate-y {
transform: rotateY(45deg);
}
🚩Зачем это нужно
🟠Перспектива
Добавляет визуальную глубину, делая трехмерные эффекты более реалистичными.
🟠Трехмерные эффекты
Вращение по осям X и Y без перспективы не будет выглядеть объемным. Перспектива помогает зрительно отличить, что элемент вращается в трехмерном пространстве.
Ставь 👍 и забирай 📚 Базу знанийtransform с функцией rotate. Это свойство позволяет применять различные трансформации к элементам, включая вращение, масштабирование, смещение и наклон.
🚩Пример использования
.rotated-box {
width: 100px;
height: 100px;
background-color: lightblue;
transform: rotate(45deg);
}
🚩Объяснение
Основной синтаксис
🟠Угол поворота элемента. Может быть положительным или отрицательным значением в градусах (deg), радианах (rad), градусах (grad) или оборотах (turn).
transform: rotate(угол);
🟠Параметры
Угол поворота элемента. В данном случае элемент поворачивается на 45 градусов по часовой стрелке.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.rotated-box {
width: 100px;
height: 100px;
background-color: lightblue;
transform: rotate(45deg);
}
</style>
</head>
<body>
<div class="rotated-box"></div>
</body>
</html>
🚩Пояснение
🟠Свойство `transform`
Позволяет применять различные визуальные эффекты к элементу, такие как вращение, масштабирование и смещение.
🟠Функция `rotate`
Используется для вращения элемента на заданный угол. Положительные значения поворачивают элемент по часовой стрелке, отрицательные — против часовой стрелки.
🚩Использование в реальных проектах
🟠Вращение элементов
Вращение элементов может использоваться для создания интересных визуальных эффектов, таких как поворот иконок, изображений или блоков текста.
🟠Анимация
В комбинации с анимацией (@keyframes и transition), вращение может создавать динамичные и интерактивные пользовательские интерфейсы.
Ставь 👍 и забирай 📚 Базу знанийconst set = new Set();
const setWithValues = new Set([1, 2, 3, 4, 5]);
2⃣Добавление элементов
set.add(1);
set.add(2);
set.add(2); // Игнорируется, т.к. 2 уже существует
console.log(set); // Set { 1, 2 }
3⃣Удаление элементов
set.delete(1);
console.log(set); // Set { 2 }
4⃣Проверка наличия элемента
console.log(set.has(2)); // true
console.log(set.has(3)); // false
5⃣Размер коллекции
console.log(set.size); // 1
6⃣Итерация по элементам
set.forEach((value) => {
console.log(value);
});
for (let value of set) {
console.log(value);
}
🚩Map
Это коллекция, которая позволяет хранить пары ключ-значение. В отличие от обычных объектов, ключи в Map могут быть любого типа, включая функции, объекты и примитивы.
1⃣Создание Map
const map = new Map();
const mapWithValues = new Map([
['key1', 'value1'],
['key2', 'value2']
]);
2⃣Добавление элементов
map.set('key1', 'value1');
map.set('key2', 'value2');
console.log(map); // Map { 'key1' => 'value1', 'key2' => 'value2' }
3⃣Удаление элементов
map.delete('key1');
console.log(map); // Map { 'key2' => 'value2' }
4⃣Получение значения по ключу
console.log(map.get('key2')); // value2
5⃣Проверка наличия ключа
console.log(map.has('key2')); // true
console.log(map.has('key1')); // false
6⃣Размер коллекции
console.log(map.size); // 1
🚩Примеры использования
🟠Уникальные значения с Set
Если вам нужно хранить только уникальные значения, Set идеально подходит:
const numbers = [1, 2, 3, 4, 5, 5, 6, 7, 7, 8];
const uniqueNumbers = new Set(numbers);
console.log(uniqueNumbers); // Set { 1, 2, 3, 4, 5, 6, 7, 8 }
🟠Пары ключ-значение с Map
Если вам нужно хранить данные в формате ключ-значение и вам важна возможность использовать сложные типы данных в качестве ключей, Map — лучший выбор:
const userRoles = new Map();
const admin = { name: 'Admin' };
const editor = { name: 'Editor' };
userRoles.set(admin, 'admin');
userRoles.set(editor, 'editor');
console.log(userRoles.get(admin)); // admin
console.log(userRoles.get(editor)); // editor
Ставь 👍 и забирай 📚 Базу знаний
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
