Logo
TGCATALOG
Catálogo Selecciones Blog
Preguntas de entrevista

Preguntas de entrevista

Preguntas de entrevista frontend al azar.

Sin valoraciones
566
29.10.2026
566
29.10.2026
Sin valoraciones
566
29.10.2026
Redirección segura vía bot
О канале

Preguntas de entrevista frontend al azar.

Подписчиков 17,451
Тематика Tecnología
Язык Español

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

Colección de preguntas de frontend: JavaScript, marcos, rendimiento, accesibilidad. Las respuestas detalladas ayudarán a pasar con confianza las entrevistas.

Últimas publicaciones

Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Как мы будем через js анимировать что либо? В JavaScript есть три основных способа создания анимаций: CSS-анимации (transition, @keyframes) + изменение классов через JS Метод requestAnimationFrame() Использование библиотек (GSAP, Anime.js, Velocity.js) 🟠CSS-анимации + управление через JS Самый простой способ — использовать CSS-анимации, а в JS только добавлять или убирать классы. Анимировать #box { width: 100px; height: 100px; background: red; transition: transform 0.5s ease-in-out; } .move { transform: translateX(200px); } function toggleBox() { document.getElementById("box").classList.toggle("move"); } 🟠`requestAnimationFrame()` — лучший способ в чистом JS Если нужно более гибкое управление анимацией, используем requestAnimationFrame(). Старт #box { width: 50px; height: 50px; background: blue; position: absolute; } let position = 0; let animationId; function animate() { position += 5; // Двигаем на 5px за кадр document.getElementById("box").style.transform = `translateX(${position}px)`; if (position < 300) { // Останавливаем, когда достигнет 300px animationId = requestAnimationFrame(animate); } } function startAnimation() { cancelAnimationFrame(animationId); // Останавливаем предыдущую анимацию position = 0; animate(); } 🟠Библиотеки (GSAP, Anime.js, Velocity.js) Если нужно делать мощные анимации с минимальным кодом, лучше использовать библиотеку. Анимировать function animateBox() { gsap.to("#box", { x: 300, rotation: 360, duration: 2, ease: "elastic.out(1,0.3)" }); } Ставь 👍 и забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что такое нечистая функция? Нечистая функция — функция, которая: - Имеет побочные эффекты (запросы, изменения внешнего состояния). - Может возвращать разные результаты при одних и тех же входных данных. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что можешь рассказать об version? version (версия) – это числовой или текстовый идентификатор, который используется для обозначения определённого состояния кода, программы, библиотеки или API. Версия помогает понимать, какие изменения были внесены, и совместима ли текущая версия с предыдущими. 🟠Семантическое версионирование (SemVer) Наиболее распространённый стандарт версионирования – SemVer (Semantic Versioning). Он использует формат MAJOR.MINOR.PATCH Пример в package.json (Node.js-проекты): { "name": "my-app", "version": "1.2.3" } Команда для обновления версии в package.json npm version major # 2.0.0 npm version minor # 1.3.0 npm version patch # 1.2.4 🟠Версионирование API При работе с REST API или GraphQL API тоже используют версии, чтобы не ломать старые клиенты. Ссылка скрыта 🟠Версионирование в Git В Git версиями называют теги (tags), привязанные к коммитам. git tag v1.0.0 git push origin v1.0.0 Чтобы посмотреть все версии git tag Ставь 👍 и забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что такое блочная модель? Блочная модель (Box model) описывает, как браузер отображает и рассчитывает размеры элементов: - content → padding → border → margin. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Что такое inline стили, и какой они имеют приоритет? Inline стили — это способ применения CSS-правил непосредственно к HTML-элементу через атрибут style. Этот метод позволяет задать стили индивидуально для конкретного элемента, напрямую внутри его тега, без использования внешних или внутренних стилевых листов. Этот текст будет красного цвета и с размером шрифта 20px. 🚩Приоритетность inline стилей Они имеют более высокий приоритет, чем стили, заданные через внешние или внутренние стилевые листы. Это означает, что если для одного и того же элемента заданы стили через CSS-классы или идентификаторы и через inline атрибут style, то они будут применены. 🚩Порядок приоритетов CSS Inline стили (наивысший приоритет) ID селекторы Классы, псевдоклассы и атрибуты Элементы и псевдоэлементы (наименьший приоритет) Стоит отметить, что существует способ переопределить даже их с помощью правила !important в CSS, однако его использование следует минимизировать, поскольку это может усложнить дальнейшее управление и обслуживание стилей. Ставь 👍 и забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть значения у box-sizing? CSS-свойство box-sizing принимает два значения: - content-box – размер элемента считается по контенту, без учета padding и border. - border-box – размер включает контент, padding и border, что облегчает расчет ширины/высоты. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Когда брать абсолютные величины а когда относительные? Выбор между абсолютными и относительными единицами измерения зависит от контекста использования и целей, которые вы преследуете. Рассмотрим подробнее, когда и почему стоит использовать те или иные единицы. 🚩Абсолютные величины (например, px, pt, cm, in) Имеют фиксированные размеры и не зависят от других элементов или размеров экрана. Они всегда остаются одинаковыми, независимо от контекста. 🚩Когда использовать 1⃣Пиксели (`px`) Точные размеры: Когда вам нужно задать точные размеры элементов, например, для пиксельной точности в дизайне. Фиксированные элементы: Для элементов, размеры которых не должны изменяться в зависимости от экрана или родительского элемента (например, логотипы или иконки). Маленькие декоративные элементы: Когда размеры элементов настолько малы, что относительные единицы могут привести к неконтролируемому результату. .logo { width: 100px; height: 50px; } 🚩Относительные величины (например, %, em, rem, vw, vh) Изменяются в зависимости от других элементов или размеров экрана. Они позволяют создавать более гибкие и адаптивные макеты. 🟠Проценты (`%`) Адаптивные макеты: Когда нужно, чтобы элемент занимал определенный процент от размера родительского элемента. Контейнеры и блоки: Для ширины и высоты блоков, которые должны изменяться вместе с размерами родителя. .container { width: 80%; height: 50%; } 🟠Эм (`em`) Шрифты: Когда нужно задавать размер шрифта относительно размера шрифта родителя. Внутренние отступы и поля: Для создания элементов, которые масштабируются вместе с текстом. .text { font-size: 1.2em; margin: 1em; } 🟠Рем (`rem`): Глобальная консистентность: Когда нужно задавать размер относительно корневого элемента (обычно ), что обеспечивает более предсказуемое масштабирование. Шрифты и отступы: Для элементов, которые должны быть пропорциональны базовому размеру шрифта body { font-size: 16px; } .header { font-size: 2rem; /* 32px */ margin: 1rem; /* 16px */ } 🟠Вьюпорт (`vw`, `vh`): Адаптивные размеры: Когда размеры элементов должны быть пропорциональны размеру вьюпорта (окна браузера). Фоновые изображения и видео: Для элементов, которые должны занимать определенный процент от экрана. .hero { width: 100vw; height: 100vh; } 🚩Комбинированное использование Иногда можно комбинировать абсолютные и относительные единицы для достижения наилучшего результата. .container { width: 80%; /* Относительная ширина */ padding: 20px; /* Абсолютный внутренний отступ */ } .text { font-size: 1.5rem; /* Относительный размер шрифта */ margin: 2em; /* Относительный внешний отступ */ } Ставь 👍 и забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Как решить проблему несовместимости некоторых CSS-свойств в браузере? - Использовать vendor-префиксы (-webkit-, -moz-, -ms-, -o-); - Проверять поддержку на сайте caniuse.com; - Писать fallback-стили; - Использовать полифиллы или normalize.css для приведения к общему стилю. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Preguntas de entrevista
Preguntas de entrevista
🔒Открыть пост
и посмотреть медиа
🤔 Основные причины отказа от классовых компонентов в react? С появлением React Hooks в версии 16.8 (2019 год) классовые компоненты стали устаревшим способом создания компонентов. Сегодня функциональные компоненты с хуками заменяют классы. Давайте разберем почему. 🟠Меньше кода → чище и понятнее Функциональные компоненты короче, читаются легче, а код становится чище. class Counter extends React.Component { constructor(props) { super(props); this.state = { count: 0 }; } increment = () => { this.setState({ count: this.state.count + 1 }); }; render() { return ( Счетчик: {this.state.count} ); } } Функциональный компонент (хуки делают код проще) function Counter() { const [count, setCount] = useState(0); return ( setCount(count + 1)}> Счетчик: {count} ); } 🟠Легче управлять жизненным циклом (useEffect vs componentDidMount) В классах жизненный цикл* компонента состоит из нескольких методов (componentDidMount, componentDidUpdate, componentWillUnmount). class Timer extends React.Component { constructor(props) { super(props); this.state = { time: 0 }; } componentDidMount() { this.timer = setInterval(() => { this.setState({ time: this.state.time + 1 }); }, 1000); } componentWillUnmount() { clearInterval(this.timer); } render() { return Время: {this.state.time} секунд ; } } Функциональный компонент (хуки делают все проще) function Timer() { const [time, setTime] = useState(0); useEffect(() => { const timer = setInterval(() => setTime(t => t + 1), 1000); return () => clearInterval(timer); }, []); return Время: {time} секунд ; } 🟠Лучшая производительность (меньше потребления памяти) Классовые компоненты используют экземпляры классов, а функциональные компоненты – просто функции. Создают экземпляры this Обрабатывают setState Хранят лишние связи и контексты Не создают this Используют только нужные данные Оптимизируются через React.memo const Button = React.memo(({ onClick }) => { console.log("Ререндер кнопки"); return Нажми; }); function App() { const [count, setCount] = useState(0); const increment = useCallback(() => setCount(c => c + 1), []); return ( Счетчик: {count} ); } 🟠Легче переиспользовать логику (React Hooks vs HOC/Render Props) Раньше в классах код переиспользовали через HOC и Render Props, но это делало код сложным. function withLogging(WrappedComponent) { return class extends React.Component { componentDidMount() { console.log("Компонент монтирован"); } render() { return ; } }; } Хуки (useEffect) делают код чище function useLogger() { useEffect(() => console.log("Компонент монтирован"), []); } function MyComponent() { useLogger(); return Привет, мир! ; } 🟠Функциональные компоненты – будущее React React официально рекомендует использовать функциональные компоненты Dan Abramov (разработчик React) Новые фичи React (Suspense, Server Components) создаются для функциональных компонентов Классы не работают в React Server Components Большинство современных библиотек (Redux Toolkit, React Query) рассчитаны на хуки Ставь 👍 и забирай 📚 Базу знаний
Preguntas de entrevista
Evolución de suscriptores
+-1.2% últimos 30 días
Actuales
17,451
Hace un mes
17,655
Crecimiento medio
+-7 / día
Actualizado
hace 2 días

Reseñas de canal Preguntas de entrevista

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Loading
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar