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
Какие преимущества и недостатки имеет методология БЭМ (Блок-Элемент-Модификатор) в CSS-разработке?

Методология БЭМ в CSS-разработке имеет свои преимущества и недостатки.

Преимущества методологии БЭМ:
1. Улучшенная читаемость кода CSS благодаря использованию именования блоков, элементов и модификаторов.
2. Упрощение поддержки и расширения кода благодаря модульному подходу и возможности переиспользования блоков и элементов.
3. Улучшенная структуризация CSS-кода и уменьшение вероятности конфликтов и перезаписи стилей.
4. Улучшенная совместная работа в команде благодаря единому подходу к именованию и структуризации кода.

Недостатки методологии БЭМ:
1. Увеличение объема CSS-кода и усложнение его чтения и написания.
2. Необходимость значительного количества дополнительных классов для каждого элемента и модификатора, что может привести к усложнению кода.
3. Ограничения в гибкости и возможности изменения стилей, так как изменение стиля блока может повлиять на другие блоки и элементы.
4. Необходимость дополнительных усилий для обучения и принятия методологии в команде разработчиков.

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

👉 @frontendInterview
👍17👎114🤔1
CI/CD Pipeline with Docker and Jenkins: Learn How to Build and Manage Your CI/CD Pipelines Effectively

Книга представляет собой правильное сочетание повествования, концепций и реальной реализации. Книга фокусируется на пути к CI/CD зрелости команды с точки зрения DevOps.

👉 @frontendInterview
5
Генератор хештэгов

Вам дана строка, состоящая из нескольких слов. Вам нужно преобразовать эту строку в хештэг. Если строка пустая, то функция должна вернуть false.

Примеры:
 " Hello there thanks for trying my Kata"
//"#HelloThereThanksForTryingMyKata"

" Hello World "
//"#HelloWorld"

""
//false


👉 @frontendInterview
👍51
Какие подходы и методологии вы используете для обработки ошибок в JavaScript на больших проектах?

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

1. Использование try-catch блоков для перехвата и обработки ошибок в конкретных участках кода.
2. Логирование ошибок в файлы или базы данных для последующего анализа и исправления.
3. Использование библиотек для обработки ошибок, таких как Sentry, Rollbar или Bugsnag.
4. Использование тестирования для обнаружения и исправления ошибок до их появления в продакшене.
5. Использование статического анализа кода для обнаружения потенциальных ошибок.

👉 @frontendInterview
👍84
Какие подходы и методы можно использовать для обеспечения безопасности веб-приложений на JavaScript?

Для обеспечения безопасности веб-приложений на JavaScript можно использовать несколько подходов и методов:

1. Валидация входных данных: Необходимо проверять входные данные, передаваемые на сервер, на корректность и соответствие определенным правилам. Это позволяет избежать возможных атак, таких как SQL-инъекции или XSS-атаки.

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

3. Использование CORS: Для защиты от атак типа CSRF, необходимо использовать механизм CORS (Cross-Origin Resource Sharing), который позволяет ограничивать доступ к ресурсам только для определенных доменов.

4. Использование CSP: Для защиты от XSS-атак, необходимо использовать Content Security Policy (CSP), который позволяет ограничивать источники загрузки контента на страницу и предотвращать выполнение вредоносного кода.

5. Использование хэширования: Для защиты паролей пользователей необходимо использовать хэширование паролей, чтобы хранить их в зашифрованном виде в базе данных.

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

7. Тестирование безопасности: Необходимо проводить тестирование безопасности приложения, чтобы выявлять уязвимости и исправлять их до того, как они будут использованы злоумышленниками.

👉 @frontendInterview
👍192
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Погрузитесь в мир веб-разработки с Easy(JS)

Мечтаете о карьере в веб-разработке или уже делаете первые шаги?
Узнайте полезные фишки и советы от автора Easy(JS), опытного senior разработчика.
Здесь вас ждут еженедельные публикации с примерами современных решений и возможность обсуждения вопросов напрямую с автором.

💡Подписывайся на @js_is_easy
👍41🔥1
Что выведется в консоль?
Anonymous Quiz
60%
John
27%
undefined
1%
null
12%
Error
5
Как вы создаете и поддерживаете единый стиль и согласованность в дизайне с помощью CSS на больших проектах?

Для создания и поддержания единого стиля и согласованности в дизайне с помощью CSS на больших проектах я использую следующие подходы:

1. Использование стайл-гайдов: это документы, которые описывают правила написания CSS кода и оформления элементов интерфейса. Они помогают установить единый стиль и согласованность в дизайне на всем проекте.

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

3. Использование компонентного подхода: это позволяет разбить интерфейс на независимые компоненты, которые можно переиспользовать в разных частях сайта. Каждый компонент имеет свой собственный CSS код, который легко поддерживать и масштабировать.

4. Использование системы версионирования: это позволяет контролировать изменения в CSS коде и откатываться к предыдущим версиям в случае ошибок или проблем.

5. Использование проверки на соответствие стайл-гайдам: это позволяет автоматически проверять CSS код на соответствие правилам, описанным в стайл-гайдах. Например, с помощью инструментов типа Stylelint или ESLint.

👉 @frontendInterview
👍74
React Application Architecture for Production: Learn best practices and expert tips to deliver enterprise-ready React web apps (2023)

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

👉 @frontendInterview
👍91🔥1
Разъединить цифры

Вам дана строка, состоящая из цифр на английском "склеенных" друг с другом. Создайте функцию, которая разъединит цифры.

Примеры:
"three"
// "three"

"eightsix"
// eight six"

"fivefourseven"
// "five four seven"

"ninethreesixthree"
// "nine three six three"

"fivethreefivesixthreenineonesevenoneeight"
// "five three five six three nine one seven one eight"


👉 @frontendInterview
👍32
Как вы можете использовать промисы в 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