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 | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Когда использовать useLayoutEffect, а когда useEffect? - useEffect вызывается после отрисовки браузером. Его используют для побочных эффектов, не влияющих на layout: загрузка данных, подписки, таймеры. - useLayoutEffect вызывается до того, как браузер "покажет" DOM пользователю. Подходит для синхронных изменений DOM, которые должны быть видны сразу: измерение размеров, синхронное позиционирование, изменения scroll. Резюме: по умолчанию — useEffect. useLayoutEffect нужен, когда важен контроль визуального представления до показа пользователю. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Почему методы жизненного цикла нельзя писать через прилоченную функцию? В Vue 2 и Vue 3 (Options API) методы жизненного цикла (mounted, created, beforeDestroy и др.) должны быть обычными функциями, а не стрелочными (() => {}). 🟠Как работает `this` в Vue? Когда Vue вызывает метод жизненного цикла, он автоматически привязывает this к экземпляру компонента. export default { data() { return { message: "Привет!" }; }, mounted() { console.log(this.message); // ✅ Работает, this = { message: "Привет!" } } }; 🟠Почему стрелочная функция не работает? Стрелочные функции не создают свой собственный this, а берут this из внешнего контекста (того, что было при их создании). export default { data() { return { message: "Привет!" }; }, mounted: () => { console.log(this.message); // ❌ Ошибка: this === undefined } }; 🟠Как стрелочные функции всё-таки можно использовать? Хотя стрелочные функции нельзя использовать для методов жизненного цикла, их можно применять внутри обычных методов: export default { data() { return { message: "Привет!" }; }, mounted() { setTimeout(() => { console.log(this.message); // ✅ Работает, this берётся из `mounted()` }, 1000); } }; Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие методы будут у API? Методы API чаще всего соответствуют CRUD-операциям: - GET — получение данных. - POST — создание ресурса. - PUT/PATCH — обновление. - DELETE — удаление. Если REST не используется, методы могут быть обёрнуты в RPC-стиль или GraphQL-запросы: getUser, updatePrice, subscribeToPrice, logUserActivity. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что выбираешь ооп или функции? Выбор между объектно-ориентированным программированием (ООП) и функциональным программированием (ФП) зависит от задачи, которую нужно решить. Оба подхода имеют свои плюсы и минусы. 🚩Когда использовать ООП? Объектно-ориентированное программирование подходит, когда: Нужно моделировать реальные объекты и их поведение Приложение состоит из множества взаимодействующих сущностей Важно инкапсулировать данные и защитить их от прямого изменения Требуется повторное использование кода через наследование и полиморфизм class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} издает звук`); } } class Dog extends Animal { speak() { console.log(`${this.name} лает`); } } const dog = new Dog("Бобик"); dog.speak(); // "Бобик лает" 🚩Когда использовать функциональное программирование? Функциональный подход хорош, если Код должен быть чистым и предсказуемым Нужно избегать изменений состояния (иммутабельность) Требуется много работы с массивами, коллекциями данных Нужно легко писать асинхронный код const double = num => num * 2; const numbers = [1, 2, 3, 4]; const doubledNumbers = numbers.map(double); console.log(doubledNumbers); // [2, 4, 6, 8] Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что такое Web Workers и зачем они нужны? Web Workers позволяют запускать JavaScript-код в отдельном потоке, не блокируя основной поток интерфейса. Они полезны для тяжёлых вычислений, чтобы не замораживать UI. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Для чего в js нужна асинхронность? JavaScript – однопоточный язык, где код выполняется **последовательно, но иногда мы ждём ответа (запрос в интернет, чтение файла, таймер). Если всё делать синхронно, программа зависнет. 🟠Проблема синхронного кода Представьте, что мы загружаем данные из API синхронно: const data = fetch("Ссылка скрыта // ❌ Ожидание ответа console.log("Данные загружены:", data); 🟠Асинхронность решает эту проблему Асинхронный код не блокирует выполнение программы fetch("Ссылка скрыта .then(response => response.json()) .then(data => console.log("Данные загружены:", data)); console.log("Этот код выполнится сразу! 🚀"); 🚩Как работает асинхронность в JS? Callbacks (обратные вызовы) – старый способ. Promises (fetch(), then/catch) – современный вариант. async/await – удобный синтаксис для асинхронного кода. async/await – лучший способ писать асинхронный код async function getData() { try { let response = await fetch("Ссылка скрыта let data = await response.json(); console.log("Данные:", data); } catch (error) { console.error("Ошибка загрузки:", error); } } getData(); console.log("Этот код выполняется, пока ждём данные!"); 🚩Где нужна асинхронность? Запросы к серверу Чтение файлов Таймеры Работа с базами данных Взаимодействие с пользователем (ожидание ввода) Ставь 👍 и забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что такое useContext? Это хук для доступа к данным из контекста. Он позволяет передавать данные между компонентами без необходимости проброса через пропсы. Это упрощает управление глобальным состоянием. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие используешь подходы для написания приложения которую проще поддерживать, чем делать первоначальную разработку? При разработке frontend-приложений, которые в будущем будет проще поддерживать и масштабировать, я придерживаюсь ряда ключевых подходов. 🟠Разделение ответственности (Separation of Concerns) Это значит, что код должен быть разделен по зонам ответственности. В frontend-разработке это проявляется в: Чистом разделении логики, представления и данных (например, с помощью архитектуры MVC, MVVM или FLUX). Использовании компонентов в React/Vue или шаблонов в Angular. Разделении CSS, JS и HTML, либо использовании методологий, где стили хранятся рядом с компонентом (CSS Modules, Styled Components). Вместо того, чтобы писать всю логику и разметку в одном файле: function App() { const [count, setCount] = useState(0); return setCount(count + 1)}>Count: {count}; } Я разделяю бизнес-логику и представление // CounterLogic.js export function useCounter() { const [count, setCount] = useState(0); const increment = () => setCount(count + 1); return { count, increment }; } // Counter.js import { useCounter } from "./CounterLogic"; function Counter() { const { count, increment } = useCounter(); return Count: {count}; } 🟠Компонентный подход и повторное использование кода Frontend-приложения должны строиться из переиспользуемых и изолированных компонентов. Это уменьшает дублирование кода и делает его понятным. // Button.js (переиспользуемый компонент) function Button({ onClick, children }) { return {children}; } // Counter.js (использует Button) function Counter() { const [count, setCount] = useState(0); return setCount(count + 1)}>Count: {count}; } 🟠Чистый код и читаемость Код должен быть понятным не только мне, но и другим разработчикам. Понятные имена переменных и функций. Вместо x → userAge, вместо doSmth() → calculateTotalPrice(). Меньше вложенности. Вместо кучи if и else, лучше использовать early return. Разбиение кода на модули. Один файл = одна зона ответственности. function getDiscountedPrice(price, discount) { if (discount
Frontend | Вопросы собесов
Frontend | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие достоинства у инкрементального DOM против виртуального? Инкрементальный DOM (например, в Svelte): - Менее абстрактен — ближе к реальному DOM. - Быстрее монтируется — нет необходимости в полной виртуальной копии. - Меньше памяти и меньше промежуточных структур. В отличие от виртуального DOM: - он не сравнивает деревья, а прямо вставляет нужные изменения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Frontend | Вопросы собесов
Динамика подписчиков
+-1.2% за 30 дней
Текущие
17,451
Месяц назад
17,655
Средний рост
+-7 / день
Обновлено
2 дня назад

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

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

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

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

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

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

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