Frontend Interview - собеседования по Javanoscript / Html / Css – Telegram
Frontend Interview - собеседования по Javanoscript / Html / Css
11.4K subscribers
2.1K photos
118 videos
319 files
530 links
Канал для подготовки к собеседованиям по фронтенду

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/frontendinterview

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Как вы можете использовать промисы в JavaScript для обработки асинхронных операций, и какие функции используются для работы с промисами?

Промисы - это механизм, который позволяет обрабатывать асинхронные операции в JavaScript. Они позволяют управлять выполнением асинхронного кода и получать результаты, когда они готовы. Промисы имеют три состояния: ожидание (pending), выполнено (fulfilled) и отклонено (rejected).

Для создания промиса используется конструктор Promise. Конструктор принимает функцию обратного вызова (callback), которая содержит асинхронный код. Функция обратного вызова должна вызвать одну из двух функций обратного вызова, в зависимости от того, успешно ли выполнена операция: resolve, если операция была выполнена успешно, и reject, если операция не была выполнена.

Пример:
 const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Operation completed successfully');
}, 1000);
});

promise.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});


В этом примере мы создаем промис, который выполняет операцию через 1 секунду и возвращает результат. Затем мы вызываем метод then, чтобы обработать результат, и метод catch, чтобы обработать ошибку.

Существуют также функции обработки промисов, такие как Promise.all, Promise.race, Promise.resolve и Promise.reject. Promise.all позволяет выполнить несколько промисов одновременно и получить результаты, когда все они выполнены. Promise.race позволяет выполнить несколько промисов одновременно и получить результат, когда первый из них выполнен. Promise.resolve и Promise.reject позволяют создавать промисы, которые сразу же выполняются успешно или неуспешно.

👉 @frontendInterview
👍17
Какой метод массива используется для объединения двух или более массивов в один?
Anonymous Quiz
76%
concat()
18%
join()
4%
push()
1%
pop()
👍6😁1
Какие преимущества и недостатки имеет использование стрелочных функций в JavaScript?

Стрелочные функции - это синтаксис функций в JavaScript, который был добавлен в ES6. Они представляют собой более краткий и удобный способ определения функций, который позволяет избежать некоторых проблем, связанных с контекстом this.

Преимущества стрелочных функций включают в себя:
1. Краткость и удобство использования. Стрелочные функции позволяют определить функцию в одну строку, что делает код более компактным и легче читаемым.
 const sum = (a, b) => a + b;


2. Отсутствие привязки контекста this. Стрелочные функции не имеют своего собственного контекста this, что позволяет избежать проблем с его потерей при передаче функции в качестве аргумента или при использовании методов объектов.
 const obj = {
name: 'John',
greet: function() {
setTimeout(() => {
console.log(Hello, ${this.name}!);
}, 1000);
}
};

obj.greet(); // Hello, John!

Недостатки стрелочных функций включают в себя:
1. Отсутствие возможности использования ключевого слова arguments. Стрелочные функции не имеют своего собственного объекта arguments, что может затруднить работу с аргументами функции.

2. Невозможность использования в качестве конструктора. Стрелочные функции не могут быть использованы в качестве конструкторов, что ограничивает их использование в некоторых случаях.

3. Необходимость использования круглых скобок при передаче одного аргумента. Если у функции есть только один аргумент, то его необходимо передавать в круглых скобках, что может быть неудобно.
 const double = (x) => x * 2; // ОК
const double = x => x * 2; // ОК
const double = x, y => x * 2 + y; // ОШИБКА


В целом, стрелочные функции представляют собой удобный и краткий способ определения функций в JavaScript, который может быть использован в большинстве случаев. Однако, в некоторых случаях, их использование может быть ограничено некоторыми особенностями, которые следует учитывать при разработке приложений.

👉 @frontendInterview
👎16👍8
Сначала появляется идея, затем дизайн-макет, а потом фронтенд-разработчик  пишет код с использованием библиотек и фреймворков и превращает всё в удобный сервис или сайт.

На курсе Яндекс Практикума «Фронтенд-разработчик» вы за 10 месяцев научитесь:

• Писать код на HTML, CSS, JavaScript и TypeScript
• Создавать сайты и веб-приложения под любые задачи бизнеса
• Использовать библиотеку React
• Разбираться в технических заданиях от заказчиков и предлагать им оптимальные решения
• Работать в команде с помощью Git
• Тестировать сайты и веб-приложения, размещать их в интернете, устранять ошибки
Практика на реальных кейсах, сопровождение команды специалистов и работающие проекты в портфолио. Карьерный центр поможет вам грамотно составить резюме, презентовать себя с выгодных сторон, отрепетировать собеседование, а оффер вы уже получите сами.

Начать учиться

Реклама АНО ДПО Образовательные технологии Яндекса, ИНН 7704282033, erid LjN8KVEK8
2😁1
Какой метод объекта используется для получения всех ключей объекта в виде массива?
Anonymous Quiz
77%
keys()
5%
values()
7%
entries()
10%
keysAsArray()
1👍1
Можно ли создать анимированный градиентный фон на CSS, не используя дополнительных библиотек?
Anonymous Quiz
94%
Да
6%
Нет
👍21
Какие принципы функционального программирования вы можете применить в JavaScript?

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

1. Неизменяемость данных - это означает, что данные не могут быть изменены после создания. Вместо этого, любые изменения данных создают новые версии данных.

2. Чистые функции - это функции, которые не имеют побочных эффектов и всегда возвращают одинаковый результат для одних и тех же аргументов.

3. Функции высшего порядка - это функции, которые могут принимать другие функции в качестве аргументов или возвращать другие функции.

4. Каррирование - это процесс превращения функции с несколькими аргументами в последовательность функций с одним аргументом. В JavaScript это можно реализовать с помощью метода bind().

5. Рекурсия - это процесс вызова функции из самой себя.

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

👉 @frontendInterview
👍28
Practical Highcharts with Angular: Your Essential Guide to Creating Real-time Dashboards, 2nd Edition (2023)

Научитесь создавать потрясающие анимированные и интерактивные диаграммы с помощью Highcharts и Angular. В этом обновленном издании на основе имеющихся знаний HTML, CSS и JavaScript вы сможете создавать впечатляющие информационные панели, которые будут работать во всех современных браузерах.

👉 @frontendInterview
👍4
Посчитайте девятки

Я хочу посчитать от 0 до n. Сколько раз мне встретится цифра 9 ?
9, 19, 91... добавляют девятку
99, 199, 919... добавляют две девятки
И так далее

Примеры:
number9(8) //вернет 0
number9(9) //вернет 1
number9(10) //вернет 1
number9(98) //вернет 18
number9(100) //вернет 20


👉 @frontendInterview
👍7👎6
Что такое интерфейсы (interfaces) в TypeScript и как они используются?

Интерфейсы в TypeScript - это способ определения формы (shape) объекта. Они позволяют определять типы для объектов и классов, что упрощает проверку типов и предотвращает ошибки во время выполнения.

Интерфейсы могут определять свойства объекта, их типы и обязательность, а также методы и их параметры. Они также могут наследоваться от других интерфейсов и использоваться в качестве типов для переменных и функций.

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

👉 @frontendInterview
👍13
Какой оператор в TypeScript используется для проверки типа данных?
Anonymous Quiz
74%
typeof
13%
instanceof
10%
is
3%
check
👎56🤔42
Какие инструменты вы используете для тестирования фронтенд-кода?

Для тестирования фронтенд-кода я использую инструменты, такие как Jest, Mocha, Chai, Enzyme, Puppeteer, Cypress и другие. Они позволяют создавать тесты для различных аспектов кода, таких как логика, стили, взаимодействие с API и т.д.

Я также использую инструменты для автоматического тестирования, такие как Travis CI и Gitlab CI, чтобы убедиться, что код проходит все тесты на каждом коммите.

👉 @frontendInterview
👎4👍1
Что можно использовать для защиты от XSS-атак в веб-приложениях на JavaScript?
Anonymous Quiz
23%
Валидация входных данных
25%
Использование HTTPS
33%
Использование CORS
19%
Content Security Policy (CSP)
👎43👍1
Что вы думаете о применении микрофронтендов?

Микрофронтенды — это практика разбиения большого приложения на несколько независимых, связанных между собой микро-приложений. Это позволяет уменьшить количество кода, повысить производительность и упростить масштабирование. Они могут быть полезны для больших приложений, где требуется разделить функциональность на отдельные модули

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

👉 @frontendInterview
👍12👎32
GitHub For Dummies, 2nd Edition (2023)

Написанная инженером GitHub, эта книга содержит подробную информацию о том, как работает GitHub и как вы можете использовать его, чтобы стать более эффективным, результативным и ценным членом любой совместной команды программистов.

👉 @frontendInterview
React counter

Ваша задача дописать данный React код - а именно написать функции increment, decrement и reset для счетчика. Кроме того, вам нужно создать функцию getRandomColor, которая будет применяться к компоненту каждый раз при изменении счетчика. Эта функция должна изменять цвет границы элемента.

👉 @frontendInterview
👎17👍4