Frontend Interview - собеседования по Javascript / Html / Css
Канал для подготовки к собеседованиям по фронтенду Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/frontendinterview Канал в реестре РКН: https://rknn.link/su
Больше📈 Аналитический обзор Telegram-канала Frontend Interview - собеседования по Javascript / Html / Css
Канал Frontend Interview - собеседования по Javascript / Html / Css (@frontendinterview) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 799 подписчиков, занимая 11 477 место в категории Технологии и приложения и 60 431 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 799 подписчиков.
Согласно последним данным от 23 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -84, а за последние 24 часа — 1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.09%. В первые 24 часа после публикации контент обычно набирает 4.17% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 090 просмотров. В течение первых суток публикация набирает 450 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как javascript, браузер, html, css, видимость.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Канал для подготовки к собеседованиям по фронтенду
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Купить рекламу: https://telega.in/c/frontendinterview
Канал в реестре РКН:
https://rknn.link/su”
Благодаря высокой частоте обновлений (последние данные получены 24 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
Access to fetch at 'https://api.site.com' from origin 'http://localhost:3000' has been blocked by CORS policy.Разберем, почему это происходит, и как это починить. Что такое CORS, и для чего он нужен. CORS (Cross-Origin Resource Sharing) - русского обозначения не имеет. Дословно "межисточниковый" обмен ресурсами. Цель браузера: защитить пользователя от вредоносных сайтов за счет блокировки запросов к неразрешенным ресурсам. Как работает: - Браузер выполняет вызов ресурса. - Получает заголовки Access-Control. - Проверяет разрешенные заголовки на соответствие домена и запроса. - Блокирует или разрешает чтение результата запроса. Пример: пользователь открывает сайт evil.com. Если bank.com настроил CORS, JavaScript на evil.com не сможет прочитать ответ от bank.com/api/account. CORS не защищает от кросс-доменных запросов (CSRF-атак). Браузер проверяет заголовки после получения ответа, блокируя передачу ответа в js код. Заголовки CORS
# Разрешённые домены (один, список или *) Access-Control-Allow-Origin: https://frontend.com # Разрешённые HTTP-методы (список или *) Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE # Разрешённые заголовки для отправки(предварительный запрос) Access-Control-Allow-Headers: Authorization, Content-Type, X-Requested-With # Разрешённые для чтения заголовки (основной запрос) Access-Control-Expose-Headers: Authorization, Content-Type, X-Requested-With # Разрешить передачу кук/токенов Access-Control-Allow-Credentials: true # Кэшировать предварительный запрос на 600 сек (10 мин) Access-Control-Max-Age: 600Предзапросы (Preflight-запросы) "Простые запросы" (GET, POST, HEAD без спец. заголовков) отправляются сразу. "Сложные запросы", например, с методами PUT, DELETE или с нестандартными заголовками, сначала отправляют "предзапрос" (preflight request) методом OPTIONS. Сервер должен ответить, разрешены ли такие запросы. Например, перед вызовом GET с заголовком X-API-Key будет выполнен запрос:
http /data HTTP/1.1 Origin: https://frontend.com Access-Control-Request-Headers: X-API-KeyСервер должен ответить:
http HTTP/1.1 204 OK Access-Control-Allow-Origin: https://frontend.com Access-Control-Allow-Headers: X-API-KeyИ только потом отправится основной запрос. Лучшие практики CORS 1.Не используйте * для защищенных данных Разрешайте только доверенные домены:
Access-Control-Allow-Origin: https://your-frontend.com2.Для публичных API можно использовать *:
Access-Control-Allow-Origin: *3.Куки = осторожно! Если используете куки:
http Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: https://frontend.com // Нельзя использовать *4.Тестируйте предзапросы: Для PUT, DELETE и запросов с Authorization всегда настраивайте обработку OPTIONS. - Используйте Access-Control-Max-Age чтобы снизить нагрузку - Настройте веб-сервер (Nginx/Apache) для оптимизации, обработки OPTIONS без запуска приложения 👉 @frontendInterview
express
const express = require('express');
const app = express();
let messages = [];
let clients = [];
// Endpoint для отправки сообщений
app.post('/messages', (req, res) => {
const message = req.body.message;
messages.push(message);
// Уведомляем всех клиентов
clients.forEach(client => client.res.json({ message }));
clients = [];
res.status(200).send('Message sent');
});
// Endpoint для получения сообщений (лонг-полинг)
app.get('/messages', (req, res) => {
if (messages.length > 0) {
res.json({ message: messages.pop() });
} else {
clients.push({ req, res });
}
});
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
Клиентский код на JavaScript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Long Polling Example</title>
</head>
<body>
<h1>Long Polling Example</h1>
<div id="messages"></div>
<script>
function pollMessages() {
fetch('/messages')
.then(response => response.json())
.then(data => {
const messageDiv = document.createElement('div');
messageDiv.textContent = `New message: ${data.message}`;
document.getElementById('messages').appendChild(messageDiv);
pollMessages(); // Отправляем новый запрос после получения сообщения
})
.catch(error => {
console.error('Error:', error);
setTimeout(pollMessages, 5000); // Повторный запрос через 5 секунд при ошибке
});
}
// Начинаем лонг-полинг
pollMessages();
</script>
</body>
</html>
Плюсы
- Реальное время
Лонг-полинг позволяет получать данные в реальном времени без необходимости постоянно проверять сервер с частыми запросами.
- Снижение нагрузки на сервер
По сравнению с обычным полингом (когда клиент постоянно отправляет запросы с фиксированным интервалом), лонг-полинг уменьшает количество HTTP-запросов, что снижает нагрузку на сервер.
- Простота реализации
Лонг-полинг легче внедрить и поддерживать в сравнении с более сложными технологиями, такими как WebSockets.
Минусы
- Задержка
Хотя лонг-полинг уменьшает задержку по сравнению с обычным полингом, он все же может иметь небольшие задержки в зависимости от времени ожидания и частоты событий.
- Ресурсоемкость
Держание соединений открытыми в течение длительного времени может быть ресурсоемким для сервера, особенно при большом количестве клиентов.
- Неоптимальность
Лонг-полинг менее эффективен по сравнению с WebSockets, которые предоставляют постоянное двустороннее соединение.
👉 @frontendInterviewpowerOf4(16) = return true; "4^4 = 16"👉 @frontendInterview
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
