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

channel icon
Разбираем вопросы с собеседований на Frontend программиста. HTML, CSS, JavaScript, React, Angular, Vue js

Cайт: easyoffer.ru

Условия размещения

Цена за 48 часов в ленте 13200,00
Цена за 1 час закрепления N/A
Взаимопиар Нет
Дополнительные условия рекламы Отсутствуют
-2
18 530
подписчиков
-4
~2.9k
охват 1 публикации
0
~4
постов / день
0,0%
15,6%
ERR % ?

Статистика

Последние публикации

Frontend | Вопросы собесов
21 декабря 2024 г. 19:10
🤔🤔 Что такое семантика в веб-разработке

- Семантика в HTML относится к использованию HTML-тегов в соответствии с их назначением для повышения доступности и поисковой оптимизации.
- Семантически корректная верстка помогает устройствам чтения с экрана и поисковым системам лучше понимать структуру и содержание веб-страницы.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
21 декабря 2024 г. 15:07
Надежная IT-инфраструктура для бизнеса от Selectel.Надежная IT-инфраструктура для бизнеса от Selectel.

Комплексные IaaS-решения для всех уровней бизнеса.

- Выделенные серверы
- Облачные серверы
- Объектное хранилище
- Мобильная ферма
- DBaaS и Managed Kubernetes
- 1С в облаке

Перейти на сайтПерейти на сайт

#реклама 16+
selectel.ru

О рекламодателе
Frontend | Вопросы собесов
21 декабря 2024 г. 15:07
Frontend | Вопросы собесов
21 декабря 2024 г. 15:07
Frontend | Вопросы собесов
21 декабря 2024 г. 15:07
Frontend | Вопросы собесов
21 декабря 2024 г. 15:07
Frontend | Вопросы собесов
21 декабря 2024 г. 15:07
Frontend | Вопросы собесов
21 декабря 2024 г. 12:10
🤔 Что делает setstate()?Что делает setstate()?

Это метод в React, который используется для обновления состояния компонента. Когда состояние компонента изменяется, React запускает процесс обновления (рендеринга) компонента и всех его дочерних компонентов, чтобы отобразить актуальные данные.

🚩Основные концепции

🟠АсинхронностьВызов setState() может быть асинхронным. Это означает, что состояние компонента не обязательно будет обновлено сразу после вызова setState(). Вместо этого, React может сгруппировать несколько вызовов setState() для оптимизации производительности.
🟠Мерджинг состояния
При вызове setState() React сливает (мерджит) новый объект состояния с текущим состоянием. Это позволяет обновлять только те части состояния, которые изменились, без перезаписи всего состояния.

🚩Синтаксис

🟠Первый аргумент
Может быть объектом или функцией. Объект: Новый фрагмент состояния, который нужно объединить с текущим состоянием Функция: Функция, которая принимает текущее состояние и пропсы и возвращает новый фрагмент состояния.

🟠Второй аргумент (необязательный)
Колбэк-функция, которая будет вызвана после того, как состояние обновится и компонент перерисуется.

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

Объект как аргумент
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
incrementCount = () => {
this.setState({ count: this.state.count + 1 });
}
render() {
return (

Count: {this.state.count}




);
}
}


🟠Функция как аргумент
Использование функции вместо объекта рекомендуется, когда новое состояние зависит от предыдущего состояния, чтобы избежать потенциальных проблем с асинхронностью.
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
incrementCount = () => {
this.setState((prevState, props) => ({
count: prevState.count + 1
}));
}
render() {
return (

Count: {this.state.count}




);
}
}


🟠Колбэк-функция
Второй аргумент setState() — это колбэк, который вызывается после того, как состояние было обновлено и компонент перерисован.
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
incrementCount = () => {
this.setState({ count: this.state.count + 1 }, () => {
console.log('Состояние обновлено:', this.state.count);
});
}
render() {
return (

Count: {this.state.count}




);
}
}


🚩Важные замечания

🟠Не изменяйте состояние напрямую
Изменение состояния напрямую (например, this.state.count = 1) не вызовет перерисовку компонента. Всегда используйте setState().
🟠Batching (группировка)
React может группировать несколько вызовов setState() для повышения производительности. Поэтому состояние может быть обновлено асинхронно.
🟠Компоненты-классы и хуки
В функциональных компонентах для управления состоянием используются хуки, такие как useState. setState() используется только в компонентах-классах.

Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
20 декабря 2024 г. 16:09
Цены на все Серверы онлайн! Удобный конфигуратор!Цены на все Серверы онлайн! Удобный конфигуратор!

Серверы STSS Flagman✅
Огромный выбор решений 👍
Консультации лучших экспертов 👌
Непревзойденный сервис ❤️

Получить предложениеПолучить предложение

#реклама
stss.ru

О рекламодателе
Frontend | Вопросы собесов
20 декабря 2024 г. 12:10
🤔 Как получить свойство объекта?Как получить свойство объекта?

🟠Доступ через точечную нотацию
Точечная нотация является наиболее распространенным способом доступа к свойствам объекта. Она проста и удобна для использования, когда имя свойства известно и является допустимым идентификатором JavaScript.
const person = {
name: 'Alice',
age: 25
};

console.log(person.name); // 'Alice'
console.log(person.age); // 25


🟠Доступ через квадратные скобки
Квадратные скобки позволяют получать свойства с именами, которые могут содержать пробелы, специальные символы или быть результатом выражения. Это также полезно, когда имя свойства хранится в переменной.
const person = {
'first name': 'Alice',
age: 25
};

console.log(person['first name']); // 'Alice'
console.log(person['age']); // 25

const propertyName = 'age';
console.log(person[propertyName]); // 25


🟠Деструктуризация объектов
Деструктуризация позволяет извлекать свойства из объекта и присваивать их переменным. Это особенно полезно для извлечения нескольких свойств одновременно.
const person = {
name: 'Alice',
age: 25
};

const { name, age } = person;

console.log(name); // 'Alice'
console.log(age); // 25


🟠Использование Object.keys, Object.values и Object.entries
Эти методы позволяют получать массивы ключей, значений или пар ключ-значение соответственно.
Object.keys: Возвращает массив ключей объекта.
    const person = {
name: 'Alice',
age: 25
};

const keys = Object.keys(person);
console.log(keys); // ['name', 'age']


Object.values: Возвращает массив значений объекта.
    const person = {
name: 'Alice',
age: 25
};

const values = Object.values(person);
console.log(values); // ['Alice', 25]


Object.entries: Возвращает массив пар ключ-значение.
    const person = {
name: 'Alice',
age: 25
};

const entries = Object.entries(person);
console.log(entries); // [['name', 'Alice'], ['age', 25]]


🟠Проверка наличия свойств
Перед доступом к свойству можно проверить его наличие с помощью оператора in или метода hasOwnProperty.
Оператор in
    const person = {
name: 'Alice',
age: 25
};

console.log('name' in person); // true
console.log('gender' in person); // false


Метод hasOwnProperty
    const person = {
name: 'Alice',
age: 25
};

console.log(person.hasOwnProperty('name')); // true
console.log(person.hasOwnProperty('gender')); // false


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
19 декабря 2024 г. 19:10
🤔 Что такое Git-flow?

Git-flow — это модель ветвления в Git для управления разработкой, предложенная Винсентом Дриссеном. Она включает основные ветки (`main`, `develop`) и временные ветки (`feature`, `release`, `hotfix`) для разработки, тестирования и исправления ошибок. Git-flow делает процесс разработки структурированным, но может быть избыточным для небольших или быстрых проектов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
19 декабря 2024 г. 15:14
Концептуальные офисы в БЦ RUNOVSKY 14Концептуальные офисы в БЦ RUNOVSKY 14

Концептуальное офисное пространство для работы, расположенное в историческом центре Москвы в районе Замоскворечье. Проект имеет свой неповторимый характер. Переосмысление стиля ар-деко нашло свое отражение в черных фасадах с арочным остеклением.

БЦ находится в 2 минутах ходьбы от метро "Новокузнецкая", через которую проходят основные пешие маршруты до Третьяковской галереи, парка Зарядья и Московкского Кремля.

Проектом предусмотрено большое количество планировочных решений офисов площадью от 27 м2 с возможностью объединения смежных помещений.

Тех, кто решит купить лот в "RUNOVSKY 14", ждет премиальный сервис, безопасность и комфортная атмосфера.

Перейти на сайтПерейти на сайт

#реклама
зиккурат.рф

О рекламодателе
Frontend | Вопросы собесов
19 декабря 2024 г. 12:10
🤔 Как отслеживать и обрабатывать ошибки в javascript?Как отслеживать и обрабатывать ошибки в javascript?

🟠Использование try...catch
Оператор try...catch позволяет обрабатывать ошибки, возникающие в блоке try. Если возникает ошибка, выполнение кода переходит к блоку catch.
try {
// Код, который может вызвать ошибку
let result = riskyOperation();
console.log(result);
} catch (error) {
// Обработка ошибки
console.error('Произошла ошибка:', error.message);
}


Пример использования
function riskyOperation() {
throw new Error('Что-то пошло не так');
}

try {
riskyOperation();
} catch (error) {
console.error('Произошла ошибка:', error.message); // Произошла ошибка: Что-то пошло не так
}


🟠Использование блока finally
Блок finally выполняется после того, как были выполнены блоки try и catch. Он выполняется независимо от того, произошла ли ошибка.
try {
let result = riskyOperation();
console.log(result);
} catch (error) {
console.error('Произошла ошибка:', error.message);
} finally {
console.log('Этот блок выполнится в любом случае');
}


🟠Обработка ошибок в асинхронных функциях
Для обработки ошибок в асинхронных функциях, использующих async/await, также можно использовать try...catch.
async function fetchData() {
try {
let response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error('Network response was not ok');
}
let data = await response.json();
console.log(data);
} catch (error) {
console.error('Произошла ошибка при получении данных:', error.message);
}
}

fetchData();


🟠Использование промисов
При работе с промисами можно использовать методы catch и finally для обработки ошибок.
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Произошла ошибка при получении данных:', error.message);
})
.finally(() => {
console.log('Запрос завершен');
});


🟠Глобальная обработка ошибок
Для глобальной обработки ошибок можно использовать обработчики событий window.onerror и window.onunhandledrejection. Обработка ошибок выполнения
window.onerror = function(message, source, lineno, colno, error) {
console.error('Произошла глобальная ошибка:', message);
return true; // предотвращает вывод ошибки в консоль браузера
};


Обработка неотловленных промисов
window.onunhandledrejection = function(event) {
console.error('Неотловленный отказ в промисе:', event.reason);
};


🟠Пользовательские ошибки
Можно создавать собственные ошибки с помощью класса Error.
class CustomError extends Error {
constructor(message) {
super(message);
this.name = 'CustomError';
}
}

try {
throw new CustomError('Это пользовательская ошибка');
} catch (error) {
console.error(error.name + ': ' + error.message); // CustomError: Это пользовательская ошибка
}


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
18 декабря 2024 г. 20:10
Бесплатный практический вебинар: Веб-разработчик: с нуля до мини-игры за 2 часа.Бесплатный практический вебинар: Веб-разработчик: с нуля до мини-игры за 2 часа.

Когда: 23 декабря в 19:00 по мск.

Погрузитесь в решение реальной задачи и напишите небольшую игру на HTML, JS и CSS, которая работает прямо в браузере 🎮

Расскажем, что ждут работодатели от джунов, какие есть грейды во фронтенд-разработке и на какую зарплату рассчитывать в перспективе.

Какие JS фреймворки учить: Vue, React, а может, Angular?

Задайте вопросы опытному спикеру, сделайте первый шаг в направлении новой профессии.

🎁 Всем, кто зарегистрировался - гайд «Как заговорить на сленге IT-специалистов», а каждому участнику -  карта компетенций начинающего Frontend-разработчика и гайд «Как опубликовать страницу в интернете при помощи GitHub Pages»
Frontend | Вопросы собесов
18 декабря 2024 г. 19:10
🤔🤔 Что приоритетнее использовать TS или JS?

TypeScript предпочтительнее для больших проектов, так как он предоставляет типизацию, которая предотвращает ошибки на этапе компиляции. JS используется в более простых сценариях или там, где требуется гибкость и нет необходимости в строгой типизации.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
18 декабря 2024 г. 17:01
Elax готов к любому вашему отдыху!Elax готов к любому вашему отдыху!

С Elax на диване: от прыжков до просмотра.

С Elax на кровати: хоть лежать, хоть работать.

Отдыхай как хочешь, если внутри Elax!

Познакомься с инновационным наполнителем для мягкой мебели и матрасов!

Узнать большеУзнать больше

#реклама
elax.ru

О рекламодателе
Frontend | Вопросы собесов
18 декабря 2024 г. 12:10
🤔 Как избежать ссылочной зависимости при копировании объекта?Как избежать ссылочной зависимости при копировании объекта?

Чтобы избежать ссылочной зависимости при копировании объекта в JavaScript, необходимо создать глубокую копию объекта. Глубокая копия означает, что все вложенные объекты и массивы также будут скопированы, а не просто ссылки на них.

🟠Использование JSON.stringify и JSON.parse
Этот метод подходит для простых объектов, не содержащих функций, специальных объектов (например, Date) или циклических ссылок.
const original = {
name: 'Alice',
age: 25,
address: {
city: 'Wonderland',
zip: '12345'
}
};

const copy = JSON.parse(JSON.stringify(original));
copy.address.city = 'Otherland';

console.log(original.address.city); // Wonderland
console.log(copy.address.city); // Otherland


🟠Использование рекурсивной функции для глубокого копирования
Этот метод позволяет точно контролировать процесс копирования и обрабатывать более сложные структуры данных.
function deepClone(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}

if (Array.isArray(obj)) {
const arrCopy = [];
obj.forEach((item, index) => {
arrCopy[index] = deepClone(item);
});
return arrCopy;
}

const objCopy = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
objCopy[key] = deepClone(obj[key]);
}
}
return objCopy;
}

const original = {
name: 'Alice',
age: 25,
address: {
city: 'Wonderland',
zip: '12345'
}
};

const copy = deepClone(original);
copy.address.city = 'Otherland';

console.log(original.address.city); // Wonderland
console.log(copy.address.city); // Otherland


🟠Использование библиотеки lodash
Lodash предоставляет удобную функцию cloneDeep для глубокого копирования объектов.
const _ = require('lodash');

const original = {
name: 'Alice',
age: 25,
address: {
city: 'Wonderland',
zip: '12345'
}
};

const copy = _.cloneDeep(original);
copy.address.city = 'Otherland';

console.log(original.address.city); // Wonderland
console.log(copy.address.city); // Otherland


🟠Использование структурированной клонирования (Structured Clone)
Метод structuredClone позволяет создавать глубокие копии объектов. Этот метод является частью HTML Living Standard и поддерживается в некоторых современных браузерах и средах исполнения.
const original = {
name: 'Alice',
age: 25,
address: {
city: 'Wonderland',
zip: '12345'
}
};

const copy = structuredClone(original);
copy.address.city = 'Otherland';

console.log(original.address.city); // Wonderland
console.log(copy.address.city); // Otherland


Ставь 👍👍 и забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
18 декабря 2024 г. 10:00
А вы знали что?...

🕵️В Windows есть папка, которая собирает на вас компромат!

Посмотрите видео выше — насколько легко узнать всю информацию о вас

Простых способов узнать о вас практически всё — сотни, и если вы хотите соблюдать хотя бы минимум сетевой гигиены — подпишитесь на IT ВЕДОМСТВО

Они рассказывает о признаках майнеров, как удалить трояны и порно-баннеры за 5 минут

Помимо всего этого, сейчас владелец канала проводит розыгрыш умной колонки, для всех новоприбывших подписчиков

💻 Подписываемся на IT ВЕДОМСТВОIT ВЕДОМСТВО — выигрываем призы и соблюдаем цифровую гигиену
Frontend | Вопросы собесов
17 декабря 2024 г. 19:10
🤔🤔 Что такое IIFE?

IIFE (Immediately Invoked Function Expression) — это функция в JavaScript, которая вызывается сразу после определения. Она используется для создания изолированного пространства имён, чтобы избежать конфликтов в глобальной области видимости.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 📚 Базу знанийБазу знаний
Frontend | Вопросы собесов
17 декабря 2024 г. 17:15
Премиальное кросс-купе EXEED RX. От 45 000 ₽ в месяцПремиальное кросс-купе EXEED RX. От 45 000 ₽ в месяц

Создавайте будущее в новом году вместе с EXEED RX. Система стабилизации курсовой устойчивости, полный пакет систем безопасности и интеллектуальный полный привод позволят чувствовать себя уверенно в любом путешествии. Автомобили отлично подготовлены к условиям российской зимы: максимальный пакет теплых опций и система EXEED Connect - двигатель и салон будут прогреты к началу поездки, Вы сможете выбрать необходимую температуру салона, прогреть сиденья водителя и пассажиров. Открывайте новые места и путешествуйте с удовольствием! Чудеса обитают там, где в них верят - пусть эта зима станет началом счастливого приключения, а EXEED поможет в этом!

Получить предложениеПолучить предложение

#реклама
exeed.ru

О рекламодателе