- Тема 1. JS common
- — Урок 1. Переменные, let, const, область видимости, типы данных
- — Урок 2. Преобразование типов, математические операторы, операторы сравнения
- — Урок 3. Условное ветвление, логические операторы, конструкция «switch»
- — Урок 4. Циклы while и for
- — Урок 5. Массивы, строки, методы массивов
- — Урок 6. Объекты, Map и Set
- — Урок 7. Функции, стрелочные функции
- — Урок 8. Date, JSON
- — Урок 9. Асинхронность. Колбэки
- — Урок 10. Асинхронность. Промисы
- — Урок 11. Асинхронность. ASYNC AWAIT
- — Урок 12. Cookie, local-storage
- — Урок 13. IndexedDb
- — Урок 14. Деструктуризация
- — Урок 15. Что нужно знать на собеседовании?
- — Урок 16.1. Проект вдыхаем в лендинг жизнь 1
- — Урок 16.2. Проект вдыхаем в лендинг жизнь 2
- — Урок 17. Проект вдыхаем в лендинг жизнь 3
- Тест для самопроверки
- Итоговая аттестация
- Анкета обратной связи
- Дополнительные материалы
- Тема 2. JS ООП
- — Урок 1. Объектно-ориентированное программирование
- — Урок 2. Классы, Геттеры и сеттеры
- — Урок 3. KISS, DRY, YAGNI, BDUF
- — Урок 4. SOLID, APO
- — Урок 5. Модули. Экспорт и импорт
- — Урок 6. Регулярные выражения
- — Урок 7. Что нужно знать на собеседовании?
- Тест для самопроверки
- Анкета обратной связи
- Итоговая аттестация
- Итоговая аттестация
- Анкета обратной связи
В чем разница между ключевыми словами «var», «let» и «const»?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Переменные, объявленные с помощью ключевого слова «var», являются глобальными. Разница между «let» и «const» состоит в том, что в первом случае мы может менять значение переменной, а во втором — нет (константа).
- Принципиальной разницы нет. Зависит от версии js.
- const применяется только в функциях, var - это любая целочисленная переменная, let - любое другое значение переменной.
В чем разница между методами Object.freeze и Object.seal?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Разница заключается в том, что при использовании метода Object.freeze мы не можем менять или редактировать свойства объекта, а при использовании Object.seal у нас такая возможность имеется.
- Разница заключается в том, что при использовании метода Object.seal мы не можем менять или редактировать свойства объекта, а при использовании Object.freeze у нас такая возможность имеется.
- Это один и тот же метод, только в разных версиях js.
Вы работаете над веб-приложением, которое использует JavaScript для отображения данных на странице. Данные поступают с удаленного сервера с помощью AJAX-запросов. Вопросы: Как обрабатывать ошибки в JavaScript? Как оптимизировать производительность JavaScript-кода и улучшить его читаемость?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Обработать ошибки можно используя конструкцию try catch или подключив дополнительные библиотеки. Чтобы улучшить производительность используется минификация и сжатие кода, кэширование. Чтобы улучшить читаемость можно использовать комментарии, структурирование кода и общепринятые соглашения о кодировании
- Обработка ошибок в JavaScript производится при помощи встроенных функций и методов. Для улучшения производительности код пишут в одном файле. Улучшить читаемость можно при помощи использования современного синтаксиса.
- Обработать ошибки в JS можно при помощи if else. Нельзя напрямую улучшить производительность кода, этим занимаются разработчики движка js. Читаемость кода можно улучшить дополнительными отступами и пробелами, а также используя комментарии.
Вы работаете над проектом, который требует использования JavaScript на клиенте. Проект включает в себя страницу с формой авторизации, которая должна быть валидирована при отправке. Форма состоит из двух полей: имя пользователя и пароль. В форме есть кнопка отправки. Нужно ли проверять правильность введенных данных пользователем? Вызовется ли событие submit на элементе формы, при нажатии кнопки отправки если в ней не указан type=”submit”?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Нет, можно ограничиться встроенными средствами html, такими как указание type и required. Нет, событие submit не будет вызвано из за отсутствия нужного type у кнопки отправки
- Да, для этого существуют шаблонные строки, которые позволяют проверить правильность введенных данных. Да событие submit будет вызвано, так как у кнопки внутри формы type по умолчанию установлен как submit
- Да, можно проверить данные при помощи шаблонных строк. Нет так как событие submit может быть вызвано только при наличии у кнопки отпраВки внутри формы type=”submit”
Вы разрабатываете функцию, которая должна принимать строку и возвращать логическое значение (True или False). Эта функция должна проверить, является ли строка палиндромом. Однако вы не учли, что строка может быть представлена в виде массива символов. Вопрос: как преобразовать массив символов в строку, чтобы можно было проверить, является ли она палиндромом?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- можно воспользоваться методом .join()
- можно использовать метод .split()
- можно воспользоваться методом .string()
Деструктуризация это …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Процесс запускаемый на стадии парсинга, позволяющий выполнить функции объявленные при помощи function declaration
- Специальный синтаксис позволяющий распаковать массивы или объекты в несколько переменных
- Этап работы ‘сборщика мусора“ на котором происходит удаление всех непомеченных значений
Для создания класса в JS используется …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Ключевое слово var
- Ключевое слово class
- Ключевое слово new
Для чего используется ключевое слово «new»?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Ключевое слово «new» используется в функциях-конструкторах для создания нового объекта (нового экземпляра класса).
- Ключевое слово «new» используется в функциональном программировании для создания новой функции.
- Если есть несколько констант в одной функции. то каждая последующая константа должна начинаться с new.
Изменить прототип объекта после его создания можно используя …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Прототип объекта нельзя изменить
- метод Object.setPrototypeOf
- метод Object.setPrototype
Инкапсуляция в ООП это …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Сокрытие деталей реализации объекта
- Разделение ответственности между классами
- Создание иерархических структур данных
Какая арифметическая операция приводит к ошибке в JavaScript?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Корень из отрицательного числа
- Деление на ноль
- Все арифметические операции в JavaScript будут отображаться без ошибки
Какая из следующих функций объекта Array возвращает значение true, если каждый элемент в этом массиве удовлетворяет предоставленной функции тестирования?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- concat()
- every()
- push()
- some()
Какая из следующих функций объекта Array объединяет все элементы массива в строку?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Какие значения возвращают следующие выражения? 0 == False 0 === False
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- True, False
- True, True
- False, True
Какие значения возвращают следующие выражения? 5 == “5” 5 === “5”
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- True, False
- True, True
- False, True
Какие значения возвращают следующие выражения? console.log(!!' ') console.log(!!{}) console.log(!![]) console.log(!!1)
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- True, False, False, False
- True, True, True, True
- False, True, False, False
- False, False, False, False
Какие значения возвращают следующие выражения? console.log(!!null) console.log(!!undefined) console.log(!!'') console.log(!!0) console.log(!!NaN)
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- True, False, False, False, True
- True, True, True, True, True
- False, True, False, False, True
- False, False, False, False, False
Какие значения возвращают следующие выражения? null == undefined null === undefined
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- True, False
- True, True
- False, True
Какие приемы работы с асинхронным кодом в JS Вы знаете?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Функции обратного вызова (Callbacks). Промисы (Promises). Async/await. Библиотеки вроде async.js, blueprint, q, co.
- Функции обратного вызова (Callbacks). Промисы (Promises). Async. Библиотеки вроде node.js, beng, query.
- Функции рекурсии. Фреймворки типа django. Async. Библиотеки вроде node.js, beng, query.
Какое ключевое слово позволяет создавать объекты общего вида?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Какой оператор служит для создания нового экземпляра из класса однотипных объектов?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Ключевое слово импорт используется для …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Для создания общей области видимости с модулем
- Для отметки переменных и функций которые должны быть доступны за пределами текущего модуля
- Получения функционала из других модулей
Назовите основные преимущества JSON?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Читается любым редактором.
- Компактный, быстро компилируемый, читаемый человеком.
- Содержит только уникальные значения.
Необходимо установить соответствие между функциями и их описанием
Тип ответа: Сопоставление
- A. alert
- B. prompt
- C. confirm
- D. выводит на экран предупреждение и ожидает нажатия кнопки Ок
- E. отображает модальное окно с текстом и полем для ввода
- F. отображает модальное окно с текстом вопроса и кнопками Ок и Отмена
Посмотрите на данный код: async function func() { const promise = new Promise((res, rej) => { setTimeout(() => { console.log(1); }, 0) console.log(2) }) console.log(3); } Расставьте выводы в консоль в порядке выполнения
Тип ответа: Сортировка
- 1 console.log(2)
- 2 console.log(3)
- 3 console.log(1)
При работе над большим и сложным проектом, стоит ли использовать принципы DRY, KISS, SOLID? Будете ли вы использовать модульный подход распределения кода?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Нет, эти принципы предназначены для небольших и средних проектов. Да, так распределение кода по модулям позволяет улучшить читаемость кода.
- Буду использовать только SOLID, DRY и KISS не являются обязательными при разработке. Нет, модульный подход замедляет выполнение кода, а большое количество файлов затрудняет читаемость кода
- Да,эти принципы позволяют создать хороший проект, который смогут поддерживать другие программисты. Да, модульная система файлов позволяет разбить код на небольшие куски которые легко читать и поддерживать.
Принцип DRY применяется для …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- За счет создания более сложных, но коротких конструкций
- Сокращения количества переменных, за счет записи новых значений в уже существующие переменные
- Исключения дублирования кода, а следовательно сокращения времени разработки и тестирования кода
Принцип KISS подразумевает …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Группировка простых компонентов в более сложные, для сокращения количества кода
- упрощение кода, разделение сложных компонентов на более простые, отказ от лишней функциональности
- решение задач при помощи сторонних библиотек, отказ от самостоятельного написания кода
Сохранить данные в localStorage можно используя …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- localStorage.saveItem(‘ключ’, значение)
- localStorage(‘ключ’, значение)
- localStorage.setItem(‘ключ’,значение)
У вас есть массив чисел и вы хотите найти среднее арифметическое его элементов. Как вы это сделаете?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Сначала нужно распаковать массив в переменные при помощи деструктуризации, затем сложить значения всех переменных и разделить на количество элементов массива
- Нужно сложить все числа в массиве используя метод .map(), а затем разделить это число на количество элементов в массиве
- Для начала нужно сложить все числа в массиве пройдясь по нему циклом, а затем разделить это число на количество элементов массива
Условный (тернарный) оператор это …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- конструкция которая выполняет код несколько раз
- конструкция для определения значения переменной в зависимости от условия
- конструкция позволяющая циклично сравнить три или более переменных
Установите соответствие между операторами и их описанием
Тип ответа: Сопоставление
- A. ||
- B. !
- C. &&
- D. находит и возвращает первое истинное значение
- E. Приводит аргумент к логическому типу и возвращает противоположное значение
- F. находит и возвращает первое ложное значение, либо последний операнд
Что будет записано в переменную test? var a = 5; var test = 5 != a ? "Yes" : "No";
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Что из следующего верно в отношении соглашений об именовании переменных в JavaScript?
Тип ответа: Множественный выбор • с выбором нескольких правильных ответов из предложенных вариантов
- Вы не должны использовать какое-либо из зарезервированных ключевых слов JavaScript в качестве имени переменной.
- Имена переменных JavaScript не должны начинаться с цифры (0-9).
- Имена переменных можно начать только со строчных символов латинского алфавита и использовать нижнее подчеркивание. Например: my_Variable
Что такое запоминание или мемоизация (Memoization)?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Способ импорта данных из таблицы базы данных для обработки в программе.
- Способ хэширования.
- Прием создания функции, способной запоминать ранее вычисленные результаты или значения.
Что такое классы (Classes)?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Особый вид функций, вложенных одна в другую.
- Классы — это относительно новый способ написания функций-конструкторов в JS. Это синтаксический сахар для функций-конструкторов.
- Последовательно выстроенный ряд словарей.
Что такое неявное преобразование?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Способ задать тип переменной, при котором она приобретает значение необходимое для конкретного случая.
- Метод, определяющий значение переменной исходя из её типа.
- Способ приведения значения к другому типу без нашего ведома (участия).
Что такое промисы (Promises)?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Функции, выполняемые при достижении определенного значения переменной.
- Цикл, выполняемый в теле функции.
- Промисы — это один из приемов работы с асинхронным кодом в JS. Они возвращают результат асинхронной операции.
Что такое функция обратного вызова (Callback Function)?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Рекурсивная функция другими словами.
- Функция обратного вызова — это функция, вызов которой отложен на будущее.
- Функция, принимающая значения в зависимости от изменения значения переменной True, False.
Что такое async/await?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Async/await — относительно новый способ написания синхронного кода в JS. Выполняются синхронно в условиях многопоточности.
- Цикл, запускающий функции.
- Async/await — относительно новый способ написания асинхронного (неблокирующего) кода в JS. Им оборачивают промис.
Что такое ECMAScript?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Спецификация языка JavaScript
- Новый язык программирования
- Переработанная реализация JavaScript
Является ли использование унарного плюса (оператор "+") самым быстрым способом преобразования строки в число?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Нет, это не так. Напротив, данный оператор привлекает довольно большой объём памяти и поэтому довольно медленный.
- Согласно MDN оператор "+" действительно является самым быстрым способом преобразования строки в число, поскольку он не выполняет никаких операций со значением, которое является числом.
- В JS преобразовать строку в число невозможно.
JSON объект можно создать при помощи …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- функции JSON.parse()
- функции JSON.stringify()
- метода .toJSON()