Logo
TGCATALOG
Каталог Подборки Блог
Frontend | Вопросы собесов

Frontend | Вопросы собесов

Вопросы собеседований по frontend с разбором.

Нет оценок
566
29.10.2026
566
29.10.2026
Нет оценок
566
29.10.2026
Безопасный переход через бот
О канале

Вопросы собеседований по frontend с разбором.

Подписчиков 17,451
Тематика Технологии
Язык Русский

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Сборник вопросов по frontend: JavaScript, фреймворки, производительность, доступность. Подробные ответы помогут уверенно пройти интервью.

Последние посты

Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 С помощью чего можно создать асинхронные callback? Асинхронные callback можно создать через: 1. Промисы — основной способ в современных браузерах: 2. fetch('/api').then(response => callback(response)); 3. async/await — оборачиваем функцию в async, а внутри можно использовать await: 4. const callback = async () => { 5. const result = await fetch(...); 6. // обработка 7. }; 8. Таймеры и события — классические способы: 9. setTimeout(() => callback(), 1000); 10. element.addEventListener('click', () => callback()); Callback вызывается по завершении асинхронной операции, и важно учитывать задержку выполнения (event loop). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть альтернативы у redux? Redux – мощный инструмент, но не всегда он необходим. Существует множество альтернатив, каждая из которых подходит для разных сценариев. 🚩React Context API + useReducer Подходит для небольших и средних приложений Встроено в React (не требует установки дополнительных библиотек) useContext` позволяет передавать данные по дереву компонентов без "прокидывания" через props useReducer работает как Redux, но проще const AuthContext = createContext(); function authReducer(state, action) { switch (action.type) { case "LOGIN": return { ...state, isAuthenticated: true, user: action.payload }; case "LOGOUT": return { ...state, isAuthenticated: false, user: null }; default: return state; } } function AuthProvider({ children }) { const [state, dispatch] = useReducer(authReducer, { isAuthenticated: false, user: null, }); return ( {children} ); } function LoginButton() { const { dispatch } = useContext(AuthContext); return ( dispatch({ type: "LOGIN", payload: "Иван" })}> Войти ); } 🚩Zustand Проще Redux, но с теми же возможностями Нет лишних actions и reducers, только функции import { create } from "zustand"; const useStore = create((set) => ({ count: 0, increment: () => set((state) => ({ count: state.count + 1 })), })); function Counter() { const { count, increment } = useStore(); return Счетчик: {count}; } 🚩Recoil Идеален для React-приложений Гибче, чем Redux, с концепцией "атомов" (раздельные состояния) import { atom, useRecoilState } from "recoil"; const countState = atom({ key: "count", default: 0, }); function Counter() { const [count, setCount] = useRecoilState(countState); return setCount(count + 1)}>Счетчик: {count}; } 🚩Jotai Напоминает Recoil, но без сложных концепций Поддерживает React Suspense и асинхронные состояния import { atom, useAtom } from "jotai"; const countAtom = atom(0); function Counter() { const [count, setCount] = useAtom(countAtom); return setCount(count + 1)}>Счетчик: {count}; } 🚩MobX Автоматически отслеживает изменения состояния Удобен для сложных приложений import { makeAutoObservable } from "mobx"; import { observer } from "mobx-react-lite"; class CounterStore { count = 0; constructor() { makeAutoObservable(this); } increment() { this.count++; } } const store = new CounterStore(); const Counter = observer(() => ( store.increment()}>Счетчик: {store.count} )); 🚩XState Подходит для сложных логик (например, UI-анимаций, состояний формы) Удобно описывать последовательности действий import { createMachine, interpret } from "xstate"; const toggleMachine = createMachine({ id: "toggle", initial: "inactive", states: { inactive: { on: { TOGGLE: "active" } }, active: { on: { TOGGLE: "inactive" } }, }, }); const service = interpret(toggleMachine).start(); service.send("TOGGLE"); // Меняет состояние Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что известно про последнюю интересную вещь которую узнал про CSS? Например: свойство :has() стало поддерживаться в современных браузерах. Оно позволяет писать селекторы на основе потомков или соседей, что открывает новые возможности без JS. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какими способами мы можем получить картинку с сервера? В веб-разработке есть разные способы загрузки изображений с сервера. Они зависят от того, какой сервер и какая задача (отображение в браузере, скачивание, работа с API и т. д.). – самый простой способ (браузер сам загружает) CSS (background-image) – если нужно фоновое изображение .element { background-image: url("Ссылка скрыта background-size: cover; } 🟠`fetch()` – если нужно обработать картинку в JS Можно загрузить изображение как Blob и создать временный URL. fetch("Ссылка скрыта .then(response => response.blob()) .then(blob => { const url = URL.createObjectURL(blob); document.getElementById("img").src = url; }); XMLHttpRequest – старый метод (устарел, но работает) const xhr = new XMLHttpRequest(); xhr.open("GET", "Ссылка скрыта true); xhr.responseType = "blob"; xhr.onload = function () { const url = URL.createObjectURL(xhr.response); document.getElementById("img").src = url; }; xhr.send(); 🟠`` – если нужно редактировать изображение Можно загрузить картинку и нарисовать её на . const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); const img = new Image(); img.onload = function () { ctx.drawImage(img, 0, 0); }; img.src = "Ссылка скрыта WebSocket – если изображение передаётся в реальном времени const socket = new WebSocket("wss://example.com/socket"); socket.onmessage = function (event) { const url = URL.createObjectURL(event.data); document.getElementById("img").src = url; }; data URL (Base64) – если нужно хранить изображение в тексте Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что такое GraphQL? GraphQL — это язык запросов к API, разработанный Facebook. Позволяет клиенту точно указать, какие данные ему нужны. Это альтернатива REST, с преимуществами: - меньше перегрузки; - один запрос на множество сущностей; - гибкость на стороне клиента. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие знаешь подходы по написанию css? Существует несколько методологий и подходов к написанию CSS, которые помогают структурировать код, сделать его более читаемым, масштабируемым и поддерживаемым. Рассмотрим основные. 🟠Классический (обычный) CSS Стандартное написание CSS без структурных ограничений. .button { background-color: blue; color: white; padding: 10px; } 🟠BEM (Block Element Modifier) BEM — один из самых популярных методологий. Он помогает избежать конфликтов классов и улучшает читаемость кода. - Block (Блок) — независимый компонент (.button). - Element (Элемент) — часть блока (.button__icon). - Modifier (Модификатор) — изменение блока (.button--primary). Нажми меня .button { background-color: gray; color: white; padding: 10px; } .button--primary { background-color: blue; } .button__icon { margin-right: 5px; } 🟠OOCSS (Object-Oriented CSS) OOCSS (Объектно-ориентированный CSS) предлагает разбивать стили на структуру и внешний вид, чтобы повторно использовать код. .card { border: 1px solid #ccc; padding: 10px; } .card--dark { background-color: black; color: white; } 🟠CSS-in-JS (Styled Components, Emotion) Этот подход популярен в React и других фреймворках, где стили пишутся внутри JavaScript. import styled from 'styled-components'; const Button = styled.button` background-color: blue; color: white; padding: 10px; `; export default function App() { return Нажми меня; } 🟠Utility-First (Tailwind CSS) В этом подходе используются готовые утилитарные классы для быстрого стилизации. Кнопка Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как предотвратить рекурсию? Чтобы избежать бесконечной рекурсии: - Всегда нужно базовое условие выхода, которое не вызывает рекурсивный вызов. - Использовать ограничения по глубине вызова. - Проверять входные параметры. - Можно заменить рекурсию на итеративный подход (цикл), если глубина вызовов слишком большая. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие типы данных существуют? Существует несколько основных типов данных, которые можно разделить на две категории: примитивные типы и объекты. 🚩Примитивные типы: 🟠Number представляет как целые числа, так и числа с плавающей точкой. Например, 42 или 3.14. 🟠String представляет текстовые данные. Строки неизменяемы. Пример: "Привет, мир!". 🟠Boolean имеет два значения, true и false, и используется для работы с логическими операциями. 🟠Undefined переменная имеет тип undefined, если она была объявлена, но ей не было присвоено никакого значения. 🟠Null специальное значение, которое представляет собой "ничего" или "пустое значение". Важно отметить, что null является объектом из-за ошибки в ранних версиях JavaScript. 🟠Symbol уникальное и неизменяемое значение, используемое как ключ для свойств объекта. Создают уникальные идентификаторы в объектах. 🟠BigInt тип данных, позволяющий работать с целыми числами произвольной точности. Введен для представления чисел, которые больше, чем максимальное значение, которое может представить тип Number. 🚩Объекты могут содержать наборы пар ключ-значение, где ключи - строки или символы, а значения — любой тип данных. Используются для представления коллекций данных, сложных структур или для создания пользовательских типов данных с помощью классов и прототипов. Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что такое SVG? SVG (Scalable Vector Graphics) — это векторный графический формат, основанный на XML. Он позволяет отображать графику (фигуры, линии, текст) с возможностью масштабирования без потери качества. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Динамика подписчиков
+-1.2% за 30 дней
Текущие
17,451
Месяц назад
17,655
Средний рост
+-7 / день
Обновлено
2 дня назад

Отзывы о канале Frontend | Вопросы собесов

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход