Frontend Interview - собеседования по Javascript / Html / Css
Канал для подготовки к собеседованиям по фронтенду Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/frontendinterview Канал в реестре РКН: https://rknn.link/su
Ko'proq ko'rsatish📈 Telegram kanali Frontend Interview - собеседования по Javascript / Html / Css analitikasi
Frontend Interview - собеседования по Javascript / Html / Css (@frontendinterview) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 798 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 430-o'rinni va Rossiya mintaqasida 60 405-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 798 obunachiga ega bo‘ldi.
25 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -84 ga, so‘nggi 24 soatda esa 1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 9.28% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 4.11% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 002 marta ko‘riladi; birinchi sutkada odatda 444 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 4 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent javascript, браузер, html, css, видимость kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Канал для подготовки к собеседованиям по фронтенду
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Купить рекламу: https://telega.in/c/frontendinterview
Канал в реестре РКН:
https://rknn.link/su”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 26 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
.promo-block {
transition: opacity 0.4s ease-in;
opacity: 1;
}
@starting-style {
.promo-block {
opacity: 0;
}
}
В момент загрузки страницы .promo-block будет не виден, так как в начальном состоянии opacity равен нулю. После загрузки страницы применятся стили из основного состояния: opacity будет равен единице и .promo-block отобразится на экране.
👉 @frontendInterviewGET /api/users?id=123 HTTP/1.1
Host: www.example.com
POST
Отправляет данные на сервер для создания ресурса или выполнения действия.
- Изменяет состояние сервера.
- Данные передаются в теле запроса.
- Не кэшируется по умолчанию.
POST /api/users HTTP/1.1
Host: www.example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "john.doe@example.com"
}
PUT
Отправляет данные на сервер для создания или замены ресурса.
- Идемпотентный.
- Данные передаются в теле запроса.
PUT /api/users/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "john.doe@example.com"
}
DELETE
Удаляет ресурс на сервере.
- Идемпотентный.
DELETE /api/users/123 HTTP/1.1
Host: www.example.com
PATCH
Частично обновляет ресурс на сервере.
- Не является идемпотентным, хотя в некоторых случаях может быть.
- Данные передаются в теле запроса.
PATCH /api/users/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
{
"email": "new.email@example.com"
}
HEAD
Запрашивает только заголовки ресурса, без тела.
- Идемпотентный.
- Используется для проверки наличия ресурса, размера, даты последнего изменения и т.д.
HEAD /api/users/123 HTTP/1.1
Host: www.example.com
OPTIONS
Запрашивает поддерживаемые сервером методы для указанного ресурса.
- Идемпотентный.
- Используется для CORS-запросов, чтобы определить разрешенные методы и заголовки.
OPTIONS /api/users HTTP/1.1
Host: www.example.com
CONNECT
Устанавливает туннель к серверу, обычно используется для прокси-серверов.
- Не используется в обычных RESTful API.
CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com
👉 @frontendInterview"camelCasing" => "camel Casing" "identifier" => "identifier" "" => ""👉 @frontendInterview
? : позволяет компактно проверять условие и отрисовывать один из двух компонентов.
Пример:
import React from 'react';
const MyComponent = ({ isLoggedIn }) => {
return (
<div>
{isLoggedIn ? <p>Welcome back!</p> : <p>Please log in.</p>}
</div>
);
};
export default MyComponent;
Логическое И (&&)
Можно использовать логический оператор && для отрисовки компонента только тогда, когда условие истинно.
Пример:
import React from 'react';
const MyComponent = ({ showDetails }) => {
return (
<div>
<h1>Item</h1>
{showDetails && <p>Here are the details...</p>}
</div>
);
};
export default MyComponent;
Условный рендеринг с if...else
Для более сложной логики условного рендеринга можно использовать обычные операторы if...else внутри функции компонента.
Пример:
import React from 'react';
const MyComponent = ({ status }) => {
if (status === 'loading') {
return <p>Loading...</p>;
} else if (status === 'error') {
return <p>Error occurred!</p>;
} else if (status === 'success') {
return <p>Data loaded successfully!</p>;
} else {
return null; // Возвращаем null, чтобы не отрисовывать ничего
}
};
export default MyComponent;
Условный рендеринг с помощью функций
Можно вынести условную логику рендеринга в отдельную функцию для лучшей читаемости и повторного использования.
Пример:
import React from 'react';
const renderContent = (status) => {
switch (status) {
case 'loading':
return <p>Loading...</p>;
case 'error':
return <p>Error occurred!</p>;
case 'success':
return <p>Data loaded successfully!</p>;
default:
return null;
}
};
const MyComponent = ({ status }) => {
return (
<div>
{renderContent(status)}
</div>
);
};
export default MyComponent;
Использование IIFE (немедленно вызываемые функциональные выражения)
Можно использовать IIFE (Immediately Invoked Function Expression) для выполнения более сложной логики рендеринга внутри JSX.
Пример:
import React from 'react';
const MyComponent = ({ isLoggedIn, userName }) => {
return (
<div>
{(() => {
if (isLoggedIn) {
return <p>Welcome back, {userName}!</p>;
} else {
return <p>Please log in.</p>;
}
})()}
</div>
);
};
export default MyComponent;
👉 @frontendInterviewconst array = [5, undefined, 0, false, '', null, true, 1]
Массив может быть разрежённым (sparse array), то есть включать незаполненные элементы (empty slots).
Например, добавим к массиву array элемент с индексом 15:
array[15] = 'новый элемент'
console.log(array)
// [ 5, undefined, 0, false, '', null, true, 1, <7 empty items>, 'новый элемент']
Напишите функцию подсчёта незаполненных элементов массива.
В JavaScript массивы — это не отдельный тип данных, а просто объекты. Заполненные слоты массива хранятся под числовыми ключами, а пустые слоты вообще не существуют.
В консоли Chrome Dev Tools пустые слоты отображаются как empty, а в Node.js — empty items. Но это лишь абстрактное представление ситуации, когда поле .length массива не совпадает с ожидаемыми заполненными слотами.
Чтобы проверить наличие значения по ключу, можно использовать оператор in или метод .hasOwnProperty():
const test = new Array(5)
test[2] = 42
2 in test // true
test.hasOwnProperty(2) // true
0 in test // false
test.hasOwnProperty(0) // false
То есть, мы можем пройтись по массиву от 0 до length и проверить отсутвие текущего индекса в качестве ключа. Однако есть способ ещё проще: итератор массива и методы, поверх него, используют только существующие ключи:
const test = new Array(5)
test[2] = 42
test.forEach((value, key) => console.log(`значение по ключу ${key}: ${value}`))
// значение по ключу 2: 42
// консоль вывела значение только один раз
Таким образом, чтобы найти количество пустых слотов, достаточно от длины массива отнять число заполненных значений:
const calcEmpty = items => items.reduce(amount => --amount, items.length)
const test = new Array(5)
test[2] = 42
calcEmpty(test) // 4
test[10] = 2
calcEmpty(test) // 9
👉 @frontendInterview
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
