Frontend | Вопросы собесов
Сайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+T0COHtFzCJkwMDUy Задачи t.me/+_tcX2w2EmvdmMTgy Вакансии t.me/+CgCAzIyGHHg0Nzky
Show more📈 Analytical overview of Telegram channel Frontend | Вопросы собесов
Channel Frontend | Вопросы собесов (@easy_javascript_ru) in the Russian language segment is an active participant. Currently, the community unites 18 272 subscribers, ranking 7 345 in the Technologies & Applications category and 36 940 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 18 272 subscribers.
According to the latest data from 15 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -134 over the last 30 days and by -7 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 9.73%. Within the first 24 hours after publication, content typically collects 5.72% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 778 views. Within the first day, a publication typically gains 1 046 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 9.
- Thematic interests: Content is focused on key topics such as ставь, браузер, html, border, flex.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Сайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp
Тесты t.me/+T0COHtFzCJkwMDUy
Задачи t.me/+_tcX2w2EmvdmMTgy
Вакансии t.me/+CgCAzIyGHHg0Nzky”
Thanks to the high frequency of updates (latest data received on 16 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
<input> элементов, которые можно использовать для различных целей в веб-формах. Каждый тип <input> элемента определяет, какие данные могут быть введены пользователем и как эти данные будут отображаться в браузере.
🚩Основные типы:
🟠Текстовые инпуты:
Однострочное текстовое поле для ввода обычного текста.
<input type="text" name="username">
Однострочное текстовое поле для ввода пароля, где введенные символы скрыты.
<input type="password" name="password">
Поле для ввода адреса электронной почты. Проверяет правильность формата введенного значения.
<input type="email" name="email">
Поле для ввода поискового запроса.
<input type="search" name="search">
Поле для ввода телефонного номера.
<input type="tel" name="phone">
Поле для ввода URL-адреса. Проверяет правильность формата введенного значения.
<input type="url" name="website">
🟠Числовые инпуты:
Поле для ввода чисел. Может включать стрелки для увеличения или уменьшения значения.
<input type="number" name="quantity" min="1" max="10">
Ползунок для выбора значения из заданного диапазона.
<input type="range" name="volume" min="0" max="100">
🟠Дата и время:
Поле для выбора даты.
<input type="date" name="birthday">
Поле для выбора даты и времени (без часового пояса).
<input type="datetime-local" name="meeting-time">
Поле для выбора месяца и года.
<input type="month" name="expiry">
Поле для выбора недели и года.
<input type="week" name="week">
Поле для выбора времени.
<input type="time" name="alarm">
🟠Выбор файлов и цвета:
Поле для загрузки файлов с компьютера.
<input type="file" name="resume">
Поле для выбора цвета с помощью цветовой палитры.
<input type="color" name="favcolor">
🟠Интерактивные элементы:
Флажок для выбора/отмены выбора опции.
<input type="checkbox" name="subscribe" value="newsletter">
Радиокнопка для выбора одного значения из группы.
<input type="radio" name="gender" value="male"> Male
<input type="radio" name="gender" value="female"> Female
Кнопка для выполнения действия.
<input type="button" value="Click me">
Кнопка для отправки формы на сервер.
<input type="submit" value="Submit">
Кнопка для сброса формы до исходных значений.
<input type="reset" value="Reset">
Ставь 👍 и забирай 📚 Базу знанийflex-direction. Это свойство определяет основную ось контейнера и направление размещения flex-элементов.
🚩Возможных значения flex-direction
🟠row:
Основная ось — горизонтальная, элементы располагаются слева направо. Это значение по умолчанию.
🟠row-reverse:
Основная ось — горизонтальная, элементы располагаются справа налево.
🟠column:
Основная ось — вертикальная, элементы располагаются сверху вниз.
🟠column-reverse:
Основная ось — вертикальная, элементы располагаются снизу вверх.
🚩Примеры использования:
Горизонтальное направление (слева направо):
.container {
display: flex;
flex-direction: row; /* или просто не указывать, так как это значение по умолчанию */
}
Горизонтальное направление (справа налево):
.container {
display: flex;
flex-direction: row-reverse;
}
Вертикальное направление (сверху вниз):
.container {
display: flex;
flex-direction: column;
}
Вертикальное направление (снизу вверх):
.container {
display: flex;
flex-direction: column-reverse;
}
Пример HTML и CSS:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flexbox Direction</title>
<style>
.container {
display: flex;
flex-direction: row; /* Измените значение на row-reverse, column, или column-reverse для проверки разных направлений */
border: 1px solid #000;
height: 200px;
}
.item {
flex: 1;
border: 1px solid #ccc;
padding: 10px;
margin: 5px;
text-align: center;
}
</style>
</head>
<body>
<div class="container">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
</body>
</html>
Ставь 👍 и забирай 📚 Базу знанийasync/await в JavaScript было упростить написание и чтение асинхронного кода, сделать его более линейным и похожим на синхронный.
🟠Улучшение читаемости кода
Асинхронный код, написанный с использованием коллбеков или промисов, может быть трудным для чтения и понимания, особенно когда имеется несколько вложенных асинхронных операций. async/await делает асинхронный код более линейным, что упрощает его понимание.
Пример с промисами:
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve("some data");
}, 1000);
});
}
fetchData().then((data) => {
console.log(data);
}).catch((error) => {
console.error(error);
});
Пример с async/await:
async function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve("some data");
}, 1000);
});
}
async function main() {
try {
const data = await fetchData();
console.log(data);
} catch (error) {
console.error(error);
}
}
main();
🟠Избегание "ада коллбеков"
Когда асинхронные операции вложены друг в друга, код становится трудным для чтения и сопровождения. Это называется "адом коллбеков" (callback hell). async/await позволяет писать асинхронный код последовательно, без вложенности.
Пример с промисами:
getData((data) => {
processData(data, (processedData) => {
saveData(processedData, (result) => {
console.log(result);
});
});
});
Пример с async/await:
async function main() {
try {
const data = await getData();
const processedData = await processData(data);
const result = await saveData(processedData);
console.log(result);
} catch (error) {
console.error(error);
}
}
main();
🟠Снижение вероятности ошибок
Когда используется async/await, ошибки могут быть обработаны с использованием привычного try/catch блока, что снижает вероятность пропуска ошибок.
Пример с промисами:
fetchData().then((data) => {
return processData(data);
}).then((processedData) => {
return saveData(processedData);
}).catch((error) => {
console.error(error);
});
Пример с async/await:
async function main() {
try {
const data = await fetchData();
const processedData = await processData(data);
const result = await saveData(processedData);
console.log(result);
} catch (error) {
console.error(error);
}
}
main();
Ставь 👍 и забирай 📚 Базу знанийOPTIONS /data HTTP/1.1
Host: api.backend.com
Origin: http://frontend.com
Access-Control-Request-Method: GET
Access-Control-Request-Headers: Content-Type
🟠Если сервер api.backend.com разрешает доступ, он отвечает следующим образом: После этого браузер отправляет основной запрос, и API отвечает с данными.
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://frontend.com
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Content-Type
Ставь 👍 и забирай 📚 Базу знанийGET / HTTP/1.1
Host: www.example.com
🟠Загрузка ресурсов
Веб-страницы обычно содержат ссылки на дополнительные ресурсы, такие как изображения, стили (CSS), скрипты (JavaScript), шрифты и другие файлы. Для каждого из этих ресурсов браузер отправляет отдельный HTTP-запрос.
GET /styles/main.css HTTP/1.1
Host: www.example.com
🟠Отправка данных на сервер
Веб-приложения часто требуют отправки данных от клиента к серверу. Это может быть регистрация пользователя, отправка формы, выполнение поиска и т.д. Такие запросы обычно используют метод POST.
POST /register HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 45
username=johndoe&password=securepassword
🟠Получение данных с сервера
Веб-приложения также часто запрашивают данные с сервера для обновления содержимого страницы без её перезагрузки. Это особенно актуально для одностраничных приложений (SPA), использующих AJAX-запросы.
GET /api/user/123 HTTP/1.1
Host: www.example.com
🟠Выполнение CRUD-операций
CRUD (Create, Read, Update, Delete) операции являются основными операциями управления данными в веб-приложениях. HTTP-запросы различных методов (POST, GET, PUT, DELETE) используются для выполнения этих операций.
PUT /api/user/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
Content-Length: 60
{"username":"johndoe","email":"johndoe@example.com"}
Ставь 👍 и забирай 📚 Базу знанийvar, let, const). Работа с различными типами данных (строки, числа, объекты, массивы).
🟠Управление потоком:
Условные операторы (if, else, switch). Циклы (for, while, do-while).
🟠Работа с функциями:
Объявление и вызов функций. Работа с анонимными и стрелочными функциями.
🟠Объектно-ориентированное программирование:
Создание объектов и классов. Наследование и полиморфизм.
🚩DOM (Document Object Model)
Это программный интерфейс для веб-документов. Он представляет структуру HTML-документа как дерево объектов, которые могут быть изменены скриптами (например, JavaScript). DOM позволяет JavaScript взаимодействовать с HTML-страницей: изменять элементы, стили, атрибуты и содержимое страницы.
🚩Основные возможности:
🟠Доступ к элементам:
Получение элементов по идентификатору(document.getElementById), классу(document.getElementsByClassName), тегу(document.getElementsByTagName), селектору(document.querySelector, document.querySelectorAll).
🟠Изменение структуры документа:
Создание новых элементов (document.createElement). Добавление и удаление элементов (appendChild, removeChild).
🟠Изменение содержимого и атрибутов:
Изменение текста и HTML-содержимого (element.textContent, element.innerHTML). Управление атрибутами (element.setAttribute, element.getAttribute).
🟠События:
Добавление обработчиков событий (element.addEventListener). Создание и отправка пользовательских событий.
🚩Примеры
Изменение содержимого элемента:
<!DOCTYPE html>
<html>
<head>
<title>Пример DOM</title>
</head>
<body>
<div id="myDiv">Исходный текст</div>
<button onclick="changeText()">Изменить текст</button>
<script>
function changeText() {
// Получение элемента DOM
const myDiv = document.getElementById('myDiv');
// Изменение содержимого элемента
myDiv.textContent = 'Измененный текст';
}
</script>
</body>
</html>
Создание и добавление нового элемента:
<!DOCTYPE html>
<html>
<head>
<title>Пример добавления элемента</title>
</head>
<body>
<button onclick="addElement()">Добавить элемент</button>
<script>
function addElement() {
// Создание нового элемента
const newElement = document.createElement('p');
newElement.textContent = 'Новый параграф';
// Добавление нового элемента в DOM
document.body.appendChild(newElement);
}
</script>
</body>
</html>
🚩Граница
JavaScript — это язык программирования, который предоставляет базовые возможности для работы с данными и логикой.
DOM — это интерфейс, который предоставляет структуру HTML-документа и позволяет JavaScript взаимодействовать с этой структурой. Граница между ними можно представить так:
🟠JavaScript:
Работа с данными, логика выполнения, функции, объекты и т.д.
🟠DOM:
Представление HTML-документа как дерева объектов и возможность манипуляции этими объектами через JavaScript.
Ставь 👍 и забирай 📚 Базу знаний
Available now! Telegram Research 2025 — the year's key insights 
