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
Пропустит ли TypeScript вызов функции с большим количеством аргументов, чем объявлено в function declaration?
Anonymous Quiz
38%
Да
62%
Нет
Что такое мутация и чистота в функциях?

Мутация – это изменение исходной структуры данных. Например:

 const foo = {
bar: 'baz'
};

foo.bar = 'qux';

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

 const x = {a: 1, b: 1}
const mutateX = (origin) => {
origin.a += 2;
return origin;
}
const y = mutateX(x);
console.log(y, x) // {a:3, b:1}, {a:3, b:1}

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

👉 @frontendInterview
☘️Изучаете фреймворк Spring?

🗓 15 февраля 2022 года в 20:00 пройдет открытый урок «Как пользоваться JPA (hibernate) в Spring-приложении». Вместе с преподавателем Юрием Дворжецким, ведущим full-stack разработчиком, мы рассмотрим, как правильно писать JPA Entity, как ими пользоваться на низком уровне и некоторые аналогичные фишки Spring Data JPA.

📚 Demo-занятие входит в программу онлайн-курса «Spring Framework Developer» и позволяет протестировать обучение на курсе.

📌 Пройдите вступительный тест, чтобы зарегистрироваться на мероприятие: https://otus.pw/qrlM/
JavaScript задачи с собеседований - канал на котором публикуются интересные задачки по JavaScript. Так же react, vue, angular, node.js

Тематика канала : 
— cинтаксис,
— условные операторы, переменные и типы данных,
— функции и функциональные выражения,
— циклы, взаимодействие с пользователем,
— строки, массивы.

Проверь свои знания языка на @javanoscriptquiz

#реклама
👎1
Как удалить дубли из массива?

Используйте new Set() и spread оператор.
const removeDuplicateItems = arr => [...new Set(arr)];
removeDuplicateItems([42, 'foo', 42, 'foo', true, true]);

// [42, "foo", true]


👉 @frontendInterview
Графика на JavaScript

В этой книге рассказывается, как, работая с JavaScript, jQuery, DHTML и элементом Canvas (холст), появившимся в HTML5, создавать насыщенные веб-приложения для ПК и мобильных устройств. С появлением HTML5 и усовершенствованной браузерной поддержки язык JavaScript стал исключительно удобным для создания высокопроизводительной веб-графики.

👉 @frontendInterview
validate PIN code

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

Примеры:
"1234" --> true
"12345" --> false
"a234" --> false


👉 @frontendInterview
Как извлечь вложенное свойство объекта, без риска получить ошибку Uncaught TypeError: Cannot read property 'bar' of undefined?

Несколько способов решения:

Проверять предыдущее значение на undefined с оператором &&:
 const info = data && data.user && data.user.personalInfo

Создавать страховочный объект, если значение undefined:
 const info = ((data || {}).user || {}).personalInfo

Использовать хелпер, или библиотеку:
 const getNestedObject = (nestedObj, pathArr) => 
pathArr.reduce(
(obj, key) => (obj && obj[key] !== 'undefined') ? obj[key] : undefined,
nestedObj
);

const info = getNestedObject(data, ['user', 'personalInfo']);

Proposal Optional Chaining:
const info = data?.user?.personalInfo;

👉 @frontendInterview
Gurufy облегчает изучение React.js разработки.
C помощью крутых short гайдов вы можете изучить весь стек React.js быстро и легко.

Официальный сайт - https://gurufy.dev/

На данный момент доступны курсы по: Next.js, TypeScript, Jest, React Testing Library и другие.
Что такое at-rules в CSS?

At-rules это CSS операторы, которые показывают CSS как себя вести. Они начинаются со знака @ и заканчиваются знаком ;

Наиболее известны из них:
@media - правила стилей для определенного медиа запроса
@font-face - (описывает аспект внешнего шрифта для загрузки)

👉 @frontendInterview
Что такое доступность и как её обеспечить?

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

Lang
Всегда указывайте язык документа:

 <html lang="ru">

</html>

Hidden
Можно прятать контент от экранных читалок с помощью атрибута hidden.

Вы можете обеспечить поддержку старых браузеров, просто добавив в CSS фоллбэк.

  [hidden] {
display: none;
}

Alt
Используйте alt для описания картинок. Если картинка декоративная, используйте пустой alt.
Пустой alt означает, что изображение является ключевой частью контента, но для него нет текстового эквивалента.
Пустая строка означает, что это не ключевой контент и специфический браузер имеет право его не отображать.

 <img src="decorative_image.jpg" alt="">

Button
Используйте элемент button для кнопок. Преимущества:
1) Возможность фокусировки
2) Кликабельность (мышкой или клавиатурой)
3) Экранные читалки идентифицируют их как кнопки!

Заголовки
Структурирование разметки с помощью заголовков (h1-h6). Некоторые читалки поддерживают перемещение по заголовкам. Заголовки нужны для правильного озвучивания структуры и навигации.

Тематические секции (семантические теги)
Подробнее

Нужно размечать тематические секции при помощи HTML5 тегов (<article>, <aside>, <nav>, <section>).
Секционные элементы (<section>) не являются прямой заменой элементу <div>. Используйте их для разметки больших кусков связанного контента, отличающегося от остального контента на странице. Это поможет различным устройствам, а так же поисковым роботам правильно "видеть" сайт.

👉 @frontendInterview
👍1