Frontend | Вопросы собесов
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Frontend | Вопросы собесов
تُعد قناة Frontend | Вопросы собесов (@easy_javascript_ru) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 17 451 مشتركاً، محتلاً المرتبة 7 464 في فئة التكنولوجيات والتطبيقات والمرتبة 37 711 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 17 451 مشتركاً.
بحسب آخر البيانات بتاريخ 27 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -217، وفي آخر 24 ساعة بمقدار -18، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 6.71%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.29% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 171 مشاهدة. وخلال اليوم الأول يجمع عادةً 748 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 4.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل ставь, браузер, html, border, flex.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 28 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
Date.now(), но есть более точные способы. Давайте разберём разные варианты.
🚩Использование `Date.now()`
Метод Date.now() возвращает количество миллисекунд с 1 января 1970 года (Unix-время). Можно запомнить время до и после выполнения кода, а затем вычислить разницу.
const start = Date.now(); // Фиксируем время начала
// Код, время выполнения которого нужно измерить
for (let i = 0; i < 1e6; i++) { Math.sqrt(i); }
const end = Date.now(); // Фиксируем время окончания
console.log(`Время выполнения: ${end - start} мс`);
🚩Использование `performance.now()` (Более точный способ)
Метод performance.now() возвращает время с микросекундной точностью (до тысячных долей миллисекунды). Он точнее, чем Date.now(), так как измеряет время с высокой детализацией.
const start = performance.now();
for (let i = 0; i < 1e6; i++) { Math.sqrt(i); }
const end = performance.now();
console.log(`Время выполнения: ${(end - start).toFixed(3)} мс`);
🚩Использование `console.time()`
Если нужно просто измерить время выполнения блока кода, можно воспользоваться console.time() и console.timeEnd().
console.time("Мой код");
for (let i = 0; i < 1e6; i++) { Math.sqrt(i); }
console.timeEnd("Мой код"); // Выведет время выполнения
Ставь 👍 и забирай 📚 Базу знанийadd(2, 3) результат будет 5.
🚩Тестирование (Test Cases)
Тестирование предполагает выполнение кода с разными входными данными и проверку, что результат соответствует ожиданиям.
🟠Ручное тестирование
Вы запускаете код с различными значениями и проверяете результаты.
🟠Автоматизированное тестирование
Пишете тестовые скрипты, которые автоматически проверяют корректность работы.
function add(a, b) {
return a + b;
}
Мы можем протестировать её так
console.log(add(2, 3)); // Должно вывести 5
console.log(add(0, 0)); // Должно вывести 0
console.log(add(-1, -1)); // Должно вывести -2
Однако лучше использовать автоматическое тестирование. Например, с помощью Jest
test('add function works correctly', () => {
expect(add(2, 3)).toBe(5);
expect(add(0, 0)).toBe(0);
expect(add(-1, -1)).toBe(-2);
});
🚩Обработка крайних случаев
Иногда код может работать корректно для обычных данных, но давать сбои в "необычных" случаях. Эти ситуации называют крайними случаями.
Пустой ввод (например, add() вместо двух чисел).
Очень большие числа.
Неправильные типы данных (например, строка вместо числа).
console.log(add()); // undefined или ошибка
console.log(add('2', 3)); // Может вернуть '23' или ошибку, если функция не проверяет типы
🚩Отладка (Debugging)
Если код не работает как надо, нужно использовать инструменты для отладки
🟠console.log()
Вывод данных для проверки логики.
🟠Инструменты разработчика в браузере
Для работы с JavaScript в реальном времени.
🟠Дебаггер
Позволяет пошагово выполнять код.
🚩Проверка производительности
Иногда корректная работа кода связана не только с правильным результатом, но и с его скоростью. Если код работает слишком медленно, это может быть проблемой. Инструменты, такие как performance.now() в JavaScript, позволяют измерять время выполнения функций.
🚩Code Reviews и тестирование пользователями
После тестов полезно показать код другим разработчикам для проверки (code review) или провести тестирование с реальными пользователями. Это позволяет найти ошибки, которые могли быть упущены.
Ставь 👍 и забирай 📚 Базу знаний@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
border-radius: $radius;
}
2⃣Использование миксина
.box {
@include border-radius(10px);
}
.button {
@include border-radius(5px);
}
🚩Пример на LESS
1⃣Определение миксина
.border-radius(@radius) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
2⃣Использование миксина
.box {
.border-radius(10px);
}
.button {
.border-radius(5px);
}
🚩Пример на Stylus
1⃣Определение миксина
border-radius(radius)
-webkit-border-radius: radius
-moz-border-radius: radius
border-radius: radius
2⃣Использование миксина
.box
border-radius(10px)
.button
border-radius(5px
Ставь 👍 и забирай 📚 Базу знаний<div class="button">Кнопка</div>
.button {
background: blue;
color: white;
}
Плохой пример без БЭМ
.container .button {
background: blue;
}
🟠Элементы (`__`) зависят только от своего блока
Стили элемента никогда не зависят от родителя — только от блока.
<div class="card">
<h2 class="card__title">Заголовок</h2>
<p class="card__text">Текст карточки</p>
</div>
.card__title {
font-size: 20px;
}
.card__text {
color: gray;
}
🟠Модификаторы (`--`) изменяют только нужные стили
Модификаторы позволяют изменять внешний вид без переписывания базовых стилей.
<button class="button button--red">Кнопка</button>
<button class="button button--blue">Кнопка</button>
.button {
padding: 10px;
border-radius: 5px;
}
.button--red {
background: red;
}
.button--blue {
background: blue;
}
🟠Имена классов уникальны, нет глобальных стилей
В БЭМ не используется tag {} или id {} — только классы. Это предотвращает конфликты стилей.
h1 {
color: red;
}
БЭМ-версия
.card__title {
color: red;
}
Ставь 👍 и забирай 📚 Базу знаний<h1>.
🟠`<h3>`
Подразделы <h2>, и так далее.
<h1>Главный заголовок страницы</h1>
<h2>Раздел 1</h2>
<h3>Подраздел 1.1</h3>
<h3>Подраздел 1.2</h3>
<h2>Раздел 2</h2>
<h3>Подраздел 2.1</h3>
<h4>Подраздел 2.1.1</h4>
🚩Как проверить иерархию заголовков?
🟠Ручная проверка HTML-кода
Вручную просмотрите HTML-код страницы и убедитесь, что заголовки идут в порядке. Например, <h1> → <h2> → <h3> и так далее, без "перескакивания". Избегайте "пропуска уровней" (например, от <h2> сразу к <h4>).
🟠Использование браузерных DevTools
В браузере откройте DevTools (например, в Chrome нажмите F12 или Ctrl+Shift+I). Перейдите на вкладку "Elements" (Элементы). Найдите заголовки (<h1>, <h2> и так далее) и проверьте их последовательность.
🟠Инструменты для проверки доступности
Используйте расширения или инструменты для оценки доступности, такие как: Lighthouse (встроено в Chrome DevTools). Выполните аудит доступности и посмотрите рекомендации. WAVE (Web Accessibility Evaluation Tool) — онлайн-инструмент для анализа доступности. Эти инструменты покажут ошибки или пропуски в структуре заголовков.
🟠Скрипт для автоматической проверки
Если вы работаете над большим проектом, можно написать скрипт для проверки иерархии заголовков.
const headings = [...document.querySelectorAll('h1, h2, h3, h4, h5, h6')];
headings.forEach((heading, index) => {
console.log(`${index + 1}: ${heading.tagName} - ${heading.textContent.trim()}`);
});
🟠Плагин для анализа заголовков
Для популярных CMS (например, WordPress) существуют плагины, которые проверяют структуру заголовков, например, Yoast SEO.
🚩Примеры ошибок в структуре и как их исправить
Ошибка: Пропуск уровней заголовков
<h1>Главный заголовок</h1>
<h3>Подраздел</h3> <!-- Пропущен <h2> -->
Исправление
<h1>Главный заголовок</h1>
<h2>Подраздел</h2>
Ошибка: Несколько <h1> на одной странице
<h1>Главный заголовок</h1>
<h1>Еще один заголовок</h1>
Исправление
<h1>Главный заголовок</h1>
<h2>Еще один заголовок</h2>
Ставь 👍 и забирай 📚 Базу знаний