Frontend собеседования – Telegram
Frontend собеседования
1.54K subscribers
383 photos
543 links
Подготовка к собеседованиям на позицию Frontend-разработчик

Еще больше ответов на сайте https://frontview-it.ru

JS собеседования - @frontview_js
Frontend работа - @frontview_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Для встраивания аудио на HTML-страницу используется тег <audio>. Этот тег позволяет воспроизводить аудиофайлы непосредственно в браузере.

Пример использования:

<audio controls>
<source src="audio-file.mp3" type="audio/mpeg">
Ваш браузер не поддерживает элемент <code>audio</code>.
</audio>


Атрибут controls добавляет элементы управления воспроизведением, такие как кнопки воспроизведения и паузы. Внутри тега <audio> можно использовать несколько <source> для указания разных форматов аудио, обеспечивая кроссбраузерную совместимость.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Utility types в TypeScript, такие как Omit, Pick и Partial, предоставляют удобные способы для манипуляции типами. Omit удаляет указанные свойства из типа, Pick выбирает только указанные свойства, а Partial делает все свойства типа необязательными.

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
➡️ Для вывода информации в консоль используется метод console.log(). Этот метод принимает любое количество аргументов и выводит их в консоль. Также доступны другие методы, такие как console.error(), console.warn() и console.info(), которые используются для вывода сообщений об ошибках, предупреждений и информационных сообщений соответственно.


console.log("Это обычное сообщение"); // Выводит сообщение в консоль
console.error("Это сообщение об ошибке"); // Выводит сообщение об ошибке
console.warn("Это предупреждение"); // Выводит предупреждение
console.info("Это информационное сообщение"); // Выводит информационное сообщение


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🔘CSS-переменные (кастомные свойства) позволяют хранить значения, которые можно повторно использовать в стилях. Они объявляются с помощью синтаксиса --имя-переменной и используются через функцию var().


:root {
--primary-color: blue; /* Объявление переменной */
}

.element {
color: var(--primary-color); /* Использование переменной */
}


Переменные можно переопределять для конкретных элементов или медиа-запросов, что делает их гибкими для управления стилями.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Жизненный цикл компонента Vue состоит из этапов инициализации, монтирования, обновления и уничтожения. На каждом этапе вызываются соответствующие хуки, такие как created, mounted, updated и destroyed, которые позволяют выполнять код в определённые моменты жизни компонента.

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
▶️ Хук useRef используется для создания изменяемого объекта, который сохраняет своё значение между рендерами компонента. Он часто применяется для доступа к DOM-элементам или хранения значений, которые не должны вызывать повторный рендер при изменении.


const inputRef = useRef(null); // Создание ref

useEffect(() => {
inputRef.current.focus(); // Доступ к DOM-элементу
}, []);

return <input ref={inputRef} />; // Привязка ref к элементу


useRef также полезен для хранения предыдущих значений или любых других данных, которые не должны влиять на обновление компонента.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
Вложенные списки создаются путём размещения одного списка внутри элемента другого списка. Для маркированных списков используется тег <ul>, для нумерованных — <ol>, а элементы списка определяются тегом <li>.


<ul>
<li>Первый элемент</li>
<li>Второй элемент
<ul>
<li>Вложенный элемент 1</li>
<li>Вложенный элемент 2</li>
</ul>
</li>
<li>Третий элемент</li>
</ul>


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Декораторы в TypeScript — это специальные функции, которые добавляют метаданные или изменяют поведение классов, методов, свойств или параметров. Они часто применяются для реализации аспектно-ориентированного программирования, например, для логирования, валидации или управления зависимостями.

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
🟣Текущую дату и время можно получить с помощью объекта Date. При создании экземпляра без аргументов он автоматически инициализируется текущими датой и временем.


const now = new Date(); // Создание объекта с текущей датой и временем
console.log(now); // Вывод текущей даты и времени


Для форматирования даты и времени можно использовать методы объекта Date, такие как toLocaleString(), getHours(), getMinutes() и другие.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🟢Условный рендеринг позволяет отображать элементы интерфейса в зависимости от определённых условий. Для этого используются директивы v-if, v-else-if и v-else, которые управляют видимостью элементов на основе значения выражения.


<div v-if="isVisible">Элемент виден</div>
<div v-else>Элемент скрыт</div>


Также доступна директива v-show, которая скрывает элемент через CSS, если условие ложно, но не удаляет его из DOM.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Маршрутизация в React позволяет управлять отображением компонентов в зависимости от URL. Для этого используется библиотека react-router-dom, которая предоставляет компоненты BrowserRouter, Route, Switch и Link для настройки маршрутов и навигации.

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
Переходы (transition) в CSS позволяют плавно изменять значения свойств элемента при смене состояния, например, при наведении. Трансформации (transform) применяются для изменения положения, размера или формы элемента, включая перемещение, масштабирование и вращение.


.element {
transition: opacity 0.5s ease; /* Плавное изменение opacity */
transform: rotate(45deg); /* Вращение элемента на 45 градусов */
}


Переходы и трансформации часто используются вместе для создания анимаций и интерактивных эффектов.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💯1
👉 Конфликты при слиянии веток возникают, когда Git не может автоматически объединить изменения из разных веток. Это происходит, если одни и те же строки кода были изменены в обеих ветках.


# После конфликта Git помечает конфликтующие участки в файле
<<<<<<< HEAD
изменение из текущей ветки
=======
изменение из ветки для слияния
>>>>>>> branch-name


Для решения конфликтов необходимо вручную отредактировать файл, оставив нужные изменения, и удалить маркеры конфликта. После этого нужно добавить файл в индекс и завершить слияние.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Многострочное текстовое поле создаётся с помощью тега <textarea>. Этот элемент позволяет пользователю вводить текст, а атрибуты rows и cols задают размеры поля.

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Настройка компилятора через tsconfig.json позволяет управлять процессом компиляции. Этот файл создается в корне проекта и содержит параметры, которые определяют, как будет происходить трансформация кода.

Основные разделы файла:
- compilerOptions: настройки компилятора, такие как целевая версия, модульная система, строгость типов и другие.
- include: массив путей к файлам, которые должны быть включены в компиляцию.
- exclude: массив путей к файлам, которые должны быть исключены из компиляции.

Пример минимальной конфигурации:

{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"strict": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}


- target: определяет версию стандарта, в которую будет компилироваться код.
- module: задает систему модулей.
- strict: включает строгий режим проверки типов.
- outDir: указывает директорию для скомпилированных файлов.
- include/exclude: управляют выбором файлов для компиляции.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
➡️ Оператор typeof используется для определения типа значения. Он возвращает строку, указывающую тип операнда. Работает как с примитивами, так и с объектами.

Основные возвращаемые значения:
- "undefined" для undefined.
- "boolean" для булевых значений.
- "number" для чисел.
- "string" для строк.
- "bigint" для значений типа BigInt.
- "symbol" для символов.
- "object" для объектов (включая null и массивы).
- "function" для функций.

Пример:

console.log(typeof 42); // "number"
console.log(typeof "hello"); // "string"
console.log(typeof {}); // "object"
console.log(typeof []); // "object"
console.log(typeof null); // "object"
console.log(typeof function() {}); // "function"


- Для null возвращается "object", что является исторической ошибкой.
- Для массивов также возвращается "object", так как они являются объектами.
- Для функций возвращается "function", хотя они тоже являются объектами.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
GRID-система — это модуль CSS, предназначенный для создания сложных адаптивных макетов с помощью сетки из строк и столбцов. Она позволяет легко управлять расположением элементов, их размерами и выравниванием, что делает верстку более гибкой и предсказуемой.

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🛑Тег в Git — это указатель на конкретный коммит, который используется для отметки важных моментов в истории проекта, например, версий релизов. Теги бывают двух типов: легковесные (lightweight) и аннотированные (annotated).

- Легковесный тег — это просто ссылка на коммит. Создается командой:

git tag v1.0


- Аннотированный тег содержит дополнительную информацию: имя автора, дату и сообщение. Создается командой:

git tag -a v1.0 -m "Release version 1.0"


Теги не обновляются автоматически при новых коммитах, что делает их удобными для фиксации состояний проекта. Для отправки тегов в удаленный репозиторий используется команда:

git push origin v1.0


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
➡️Кастомный хук — это функция, которая использует встроенные хуки (useState, useEffect и другие) для создания повторно используемой логики. Имя хука должно начинаться с use, чтобы React мог корректно отслеживать его вызовы.


function useWindowWidth() {
const [width, setWidth] = useState(window.innerWidth);

useEffect(() => {
const handleResize = () => setWidth(window.innerWidth);
window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);
}, []);

return width;
}


В этом примере хук useWindowWidth отслеживает ширину окна браузера и возвращает её значение. Кастомные хуки позволяют инкапсулировать логику, упрощая её повторное использование в разных компонентах.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🛑Styled Components — это библиотека для стилизации компонентов в React, которая позволяет писать CSS-код непосредственно в JavaScript. Она создает изолированные стили, автоматически генерируя уникальные классы, что предотвращает конфликты.

Пример использования:

import styled from 'styled-components';

const Button = styled.button`
background: ${props => props.primary ? 'blue' : 'white'};
color: ${props => props.primary ? 'white' : 'blue'};
padding: 10px 20px;
border: none;
border-radius: 5px;
`;

// Использование компонента
<Button primary>Click me</Button>


- Стили пишутся в виде шаблонных строк внутри styled.
- Пропсы компонента могут динамически влиять на стили.
- Стили автоматически изолируются, что упрощает поддержку и масштабирование.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Кнопка в HTML создается с помощью тега <button>, который может содержать текст или другие элементы. Для отправки данных в формах также используется тег <input> с атрибутом type="submit".

✈️ Frontend собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3