Содержание

Глоссарий курса

Блок менеджмента и маркетинга

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

Возможный вариант вопроса

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

Какие вопросы Вы зададите заказчику проекта, чтобы начать работу по разработке решения?

  • Какие ограничения проекта необходимо учесть для выбора подхода к проектированию архитектуры веб- решения?
  • С каких устройств пользователи могут пользоваться веб-решением?
  • Для решения какой задачи будет использоваться это приложение?
  • Есть ли техническое задание на разработку платформы?
Возможный вариант вопроса

Выберите верное утверждение

Планирование рекламной кампании в Сети включает в себя:

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

Вы приняты на работу в компанию, которая занимается разработкой и внедрением HRM-решений. Целевая аудитория компании- крупные производственные предприятия. Компания намерена выйти на новый сегмент рынка средние производственные компании в регионах. Для решения этой задачи Вам как руководителю проекта поручено организовать исследование рынка. Вы намерены разработать план проведения исследования, для этого Вы проводите рабочее совещание с командой, чтобы понять текущую ситуацию.

Какие вопросы Вы зададите сотрудникам компании, чтобы разработать план проведения исследования рынка?

  • Предполагаются ли изменения в продукте с учетом выхода на новый сегмент рынка?
  • Какие ключевые конкуренты появятся у компании при выходе на новый сегмент рынка?
  • Есть ли отраслевые приоритеты по выходу на новые сегменты рынка?
  • Как часто в компанию обращаются организации из сегмента рынка, на который планирует выходить компания?
Возможный вариант вопроса

Выберите верное утверждение

Метод анализа, при котором клиентов объединяют в определенные группы по одинаковым признакам - это:

  • Курортный анализ
  • Когортный анализ
  • А/Б тест
  • А/А/Б тест
  • Затрудняюсь ответить

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


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


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

Виды брифов:

  • Анкетный. Содержит общие сведения о заказчике, вопросы о целях и задачах компании.
  • Экспертный. Включает в себя детальное описание продукта или бизнеса, содержит технические характеристики, профессиональную терминологию.
  • Обобщенный. Универсальный бриф с набором стандартных вопросов, который подходит для разных клиентов.
  • Индивидуальный. Анкета, которую составляют под задачи конкретного заказчика.
  • Рекламный. Содержит перечень вопросов для разработки, настройки и запуска рекламной кампании.

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


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


Креативные индустрии – совокупность экономической деятельности, направленной на создание и использование знаний и информации.


Гибкая методика разработки (agile) – ряд подходов и практик, направленных на минимизацию рисков путем сведение разработки к серии коротких циклов/итераций, длиной в пару недель. Каждая итерация должна приносить мини-прирост к функциональности продукта. В конце каждой итерации проводится переоценка разработки.

Главные принципы agile:

  • Взаимодействие между людьми важнее процессов и инструментов.

  • Работающий продукт важнее исчерпывающей документации. Готовность к изменениям важнее следования изначальному плану.

  • Изменение требований приветствуется на любом этапе разработки, т.к. оно повышает конкурентоспособность продукта.

  • Самый эффективный способ обмена информацией – личная встреча.

  • Очень важна простота как искусство не делать лишнего.

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


Карта проекта – инструмент планирования, позволяющий команде обдумать насущные проблемы, найти возможные решения и определить оптимальный результат проекта.


Медиа-план – это подробный документ, обычно в виде excel-таблицы, который показывает ключевую информацию о планируемых маркетинговых мероприятиях.

Возможный вариант вопроса

Выберите верное утверждение

Медиаплан рекламной кампании в Сети включает в себя:

  • Распределение бюджета по рекламным источникам.
  • Миссию, видение, стратегию, тактику.
  • Выбор площадок для продвижения, целевую аудиторию, цели и этапы СМИ, лицо бренда, торговую марку, миссию.
  • Затрудняюсь ответить.

СТР (Click-Through Rate) отражает процент кликов по вашей рекламе относительно количества показов, а СРС (Cost Per Click) показывает, сколько стоит один клик по рекламе.

Возможный вариант вопроса

Выберите верное утверждение

Назовите основные бизнес-показатели, которые используются для анализа эффективности интернет- маркетинга:

  • Анализ cookіe-файлов.
  • Идентификация посетителя по IP-адресу.
  • СТР-показатель кликабельности рекламы и СРС средняя стоимость клика.
  • Коэффициент окупаемости инвестиций в продвижении товара/услуги.
  • Затрудняюсь ответить.

Метрики CPM – стоимость за тысячу показов, CTR – кликабельность.

Возможный вариант вопроса

Выберите верное утверждение

Назовите метрики, которые используются для анализа эффективности интернет-маркетинга:

  • CPM, CTR, PPV
  • GRP, GRP’s, Affinity
  • HUT, Share, Rating
  • CPS, ROI, CPA
  • Затрудняюсь ответить

CEM (Customer Experience Management) – это практика понимания обратной связи от клиентов для улучшения опыта клиентов. CEM обычно включает в себя анализ различных видов обратной связи клиентов (отзывы, опросы), расширенную аналитику и использование данных для изменения рабочих параметров.


Кластер (в экономике) – это сконцентрированная на одной территории группа взаимосвязанных компаний.


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

Возможный вариант вопроса

Выберите верное утверждение

User Story - это:

  • Подход к изучению историй клиентов в CRM.
  • Описание истории первого использования продукта клиентом.
  • Краткий план вывода продукта на рынок.
  • Способ описания требований к разрабатываемому продукту.
  • Затрудняюсь ответить.

Jobs to be done (JTBD, работа для выполнения) – это методология, задачей которой является достижение целей пользователя в определенных обстоятельствах. Иными словами, это буквально “работа, которую должен выполнять продукт.

Возможный вариант вопроса

Выберите верный ответ

Что означает Jobs To Be Done?

  • Оценка вывода продукта на рынок.
  • Оценка платежеспособности клиентов.
  • Подход к развитию продукта, в котором понимается, что клиент берет продукт «на работу».
  • Подход к исследованию продукта, в котором принимается во внимание род деятельности пользователей.
  • Затрудняюсь ответить.

CusDev (CustDev, Customer Development) – это набор инструментов для тестирования маркетинговых гипотез и создания новых продуктов и одновременно методология проведения таких исследований. В их рамках выявляется действительный спрос потребителя и состоятельность стартапа.

Возможный вариант вопроса

Выберите верное утверждение

CusDev - это:

  • Тестирование идеи или прототипа будущего продукта на востребованность.
  • Тестирование продуктов конкурентов.
  • Прототипирование будущего продукта на востребованность.
  • Разработка продукта под клиента.
  • Затрудняюсь ответить.
Возможный вариант вопроса

Выберите верный ответ

Можно ли протестировать востребованность идеи/продукта без фактической реализации?

  • Да, с помощью Customer Development
  • Да, с помощью Smoke Testing
  • Да, для этого подойдут RTI Research Development
  • Нет
  • Затрудняюсь ответить

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

Возможный вариант вопроса

Выберите верное утверждение

Интернет-маркетинг - это система продвижения товаров и услуг посредством:

  • Ретаргетинга и ЅММ
  • Лендинга и ЅЕО
  • Интегрированных маркетинговых коммуникаций баннерной наружной рекламы
  • ВТІ-коммуникаций
  • Затрудняюсь ответить
Возможный вариант вопроса

Выберите верный ответ

Какая из перечисленной информации является менее важной при маркетинговых исследованиях?

  • Информация о конкурентах, их линейке продуктов и позиционировании.
  • Мнение руководства о продукте или рынке.
  • Объем запросов ключевых слов в индустрии.
  • Ценовая политика конкурентов.
  • Сводка по отзывам продуктов конкурентов на профильных площадках.
  • Затрудняюсь ответить.

Концепция 4P (маркетинг) – это модель маркетинга, которая знакомит потенциальных покупателей с продуктом. В неё входят: продукта (product), цены (price), места продажи (place), продвижения (promotion).

Возможный вариант вопроса

Выберите верное утверждение

Концепцию интернет-маркетинга, связанную с деятельностью компаний, которые оказывают услугу потребителям исключительно в интернете, принято называть «маркетинг-микс», она включает в себя четыре основных элемента (4P). Укажите элемент, входящий в их число:

  • Promotion продвижение.
  • People - клиенты (VIP-клиенты, конкретные персоны).
  • Planning - процесс планирования во времени.
  • Purposes - установка целей для достижения бизнес и маркетинг целей.
  • Затрудняюсь ответить.

Usability (юзабилити) – способность продукта быть понимаемым, изучаемым, используемым и привлекательным для пользователя в заданных условиях; свойство системы, продукта или услуги, при наличии которого конкретный пользователь может эксплуатировать систему в определённых условиях для достижения установленных целей с необходимой результативностью, эффективностью и удовлетворённостью.

Возможный вариант вопроса

Выберите верный ответ

Что означает понятие юзабилити?

  • Это документ, описанный на языке HTML.
  • Это документ, содержащий видимые ссылки на другой документ, на другие информационные ресурсы или места в текущем документе.
  • Это качественный признак, который определяет, насколько интерфейс пользователя легок в использовании.
  • Это процесс и результат художественно-технического проектирования промышленных изделий, их комплексов и систем.
  • Затрудняюсь ответить.

Бенчмаркетинг – сопоставительный анализ на основе эталонных показателей (показателей лидеров отрасли/направления) как процесс определения, понимания и адаптации имеющихся примеров эффективного функционирования предприятия с целью улучшения собственной работы.

Возможный вариант вопроса

Выберите верное утверждение

Бенчмаркетинг - это:

  • Сравнительный анализ негативного опыта конкурентов.
  • Сравнительный анализ неуспешного опыта клиентов.
  • Сравнительный анализ положительного опыта конкурентов.
  • Сравнительный анализ успешного опыта клиентов.
  • Затрудняюсь ответить.

Blue ocean (Голубой океан) – согласно Стратегии Голубого океана, Голубой океан – это новая ниша или участок рынка, создаваемый и занимаемый кем-либо с целью избежать конкуренции или свести её к минимуму.

Возможный вариант вопроса

Выберите верный ответ

Что означает понятие «Голубой океан» при оценке рынков?

  • Среднеконкурентный рынок.
  • Высококонкурентный рынок.
  • Низкоконкурентный рынок.
  • Несуществующий рынок.
  • Затрудняюсь ответить.

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

Возможный вариант вопроса

Выберите верный ответ

Что понимают под реактивностью в разработке?

  • Высокую скорость работы технологий.
  • Критерий доступности технологий для начинающих специалистов.
  • Высокую эффективность работы технологий.
  • Соответствие технологии одноименному паттерну проектирования.
  • Затрудняюсь ответить.
Возможный вариант вопроса

Выберите верный ответ

Что дает реактивность?

  • Скорость.
  • Отказоустойчивость.
  • Распространение изменений.
  • Экономию ресурсов.
  • Затрудняюсь ответить.

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

Возможный вариант вопроса

Выберите верный ответ

Что такое МVР?

  • Способ рекрутинга, главная цель которого получить информацию от бывших сотрудников конкурентов.
  • Анализ финансовых потоков конкурентов.
  • Минимально жизнеспособный проект.
  • Метод тестирования аудитории.
  • Затрудняюсь ответить.

BTL (Below The Line) – это разновидность маркетинговой коммуникации, которая направлена на узкую целевую аудиторию (непрямая реклама). Противоположность ATL (Above The Line рекламы). В неё входят: программы лояльности, сейлс- и трейд-маркетинг, деловые и тематические мероприятия, вирусный маркетинг и проч.


CJM (Customer Journey Map) – визуализация пути клиента с момента поиска товара или услуги вплоть до совершения покупки, его индивидуальный маршрут. Карта помогает лучше понять своего клиента, повысить конверсию продаж, улучшить пользовательский опыт и уменьшить отток.


SOM (Serviceable & Obtainable Market/реально достижимый объем рынка) – это объем продаж, который компания может получить с помощью доступных ей инструментов.

Возможный вариант вопроса

Выберите верный ответ

Что подразумевают под аббревиатурой SOM при оценке потенциального рынка сбыта?

  • Доступный объем рынка, который выражается в долларовом эквиваленте без учета инфляции.
  • Объем рынка, который появится после поправок в законопроекте.
  • Реально достижимый объем рынка.
  • Потенциальный объем рынка, который можно достичь без вложений в рекламу.
  • Затрудняюсь ответить.

Технологический блок

DNS (Domain Name System) – это система, в которой каждому цифровому IP-адресу присваивается понятное буквенное имя (домен).

Возможный вариант вопроса

Выберите верное утверждение

DNS - это система, обеспечивающая:

  • Получение имени хоста по IP-адресу.
  • Получение подтверждения целостности данных при передаче от сервера к клиенту.
  • Получение ІР-адреса по имени хоста.
  • Получение подтверждения целостности данных при передаче от клиента к серверу.
  • Затрудняюсь ответить.
Возможный вариант вопроса

Выберите верный ответ

Какой статус ответа сервера говорит о том, что доступ запрещен?

  • 500
  • 404
  • 403
  • 303
  • Затрудняюсь ответить

Smoke Testing – проверка программного обеспечения на стабильность и наличие явных ошибок. Тест должен подтвердить или опровергнуть правильность выполнения ПО своих основных функций перед его передачей на более глубокое тестирование.


Возможный вариант вопроса

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

Какие дополнительные сведения необходимы для решения ситуации?

  • В каком виде нужно предоставить результат? Что делать, если пар несколько или их нет?
  • Можно ли суммировать числа сами с собой? И что делать, если пар несколько или их нет?
  • Можно ли считать, что на входе только корректные данные, или нужно делать предварительную проверку? И что делать, если пар несколько или их нет?
  • Можно ли считать, что на входе только корректные данные, или нужно делать предварительную проверку? И могут ли в массиве и в k быть отрицательные числа?
Возможный вариант вопроса

Выберите верный ответ

Какое из утверждений о микрофронтенде ложное?

  • Непрерывное развертывание и поддержка микрофронтенда проще по сравнению с монолитными приложениями.
  • Время сборки приложения не увеличивается в зависимости от количества модулей и клиентских микрофронтов.
  • Тестирование микрофронтенда проходит значительно проще и быстрее по сравнению с монолитым приложением.
  • Микрофронтенд обеспечивает изоляцию кода и стиля, а также независимость от бэкенда приложения.
  • Затрудняюсь ответить.
Возможный вариант вопроса

Каким будет значение х после выполнения следующего кода?

let x = 1;
for (let i = 1; i < 3; i++) {
	x+=x;
}
  • 3
  • 8
  • Затрудняюсь ответить
  • 1
  • 4
  • 2
  • NaN

Пояснение: Начальное значение x равно 1. Цикл for выполняется два раза (для i = 1 и i = 2). В каждой итерации значение x удваивается. Таким образом, после первой итерации x становится 2 (1 + 1), а после второй итерации x становится 4 (2 + 2).

Возможный вариант вопроса

Выберите верный ответ

Какая технология используется для реализации адаптивных интерфейсов?

  • Rich Internet Applications
  • Streaming
  • PWA
  • Media queries
  • Затрудняюсь ответить

Пояснение: Media queries – это функция CSS, которая позволяет создавать адаптивные дизайны, оптимизированные для разных размеров экранов и устройств.

Возможный вариант вопроса

Выберите верное утверждение

Основной недостаток использования кэш браузера:

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

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

Возможный вариант вопроса

Вас пригласили в команду стартапа в роли руководителя разработки программного обеспечения. У команды есть идея по созданию сервиса для поиска ментора в ИТ-сфере. Менторство считается одним из мощнейших рычагов роста в ИТ, а также отличным способом развития soft & hard skills. На рынке уже тысячи менторов по различным направлениям. Сервис призван помочь ИТ-специалисту найти эксперта, который поможет составить план развития в сфере ИТ, решить рабочую задачу или прокачать новый навык. В настоящее время уже существует несколько площадок для поиска менторов в виде web-сайтов и Telegram-ботов. Вам предстоит разработать конкурентоспособное решение, при этом Вам важно учесть ограничения стартапа по финансовым и кадровым ресурсам.

Как вы организуете работу по разработке веб-решения?

  • Буду вести разработку на основе готового фреймворка для разработки сайтов и воспользуюсь его архитектурой
  • Разработаю сайт на основе микросервисной архитектуры с микрофронтендом
  • Разработаю каркас и дизайн сайта с помощью HTML, т.к. это основной язык разметки World Wide Web
  • Разработаю сайт с использованием JavaScript, т.к. это самый распространённый инструмент для создания интерфейсов в браузер
  • Разработаю сайт на основе микросервисной архитектуры с SPA-фронтендом
  • Создам прототип сайта в виде скетча и разработаю сайт самостоятельно с использованием бесплатного конструктора сайтов, например Tilda или Readymag
  • Затрудняюсь ответить

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

Возможный вариант вопроса

Выберите верный ответ

Как добавить аудио на веб-страницу?

  • С помощью тега <audio> и указать путь к файлу аудио в атрибуте src
  • С помощью тега <music> и указать путь к файлу аудио
  • С помощью тега <sound> и указать путь к файлу аудио
  • С помощью тега <mp3> и указать путь к файлу аудио
  • Затрудняюсь ответить

Пояснение: Тег <audio> позволяет интегрировать звуковой контент в HTML-документы, а атрибут src указывает на источник аудиофайла.

Возможный вариант вопроса

Выберите верное утверждение

В ходе рекламной кампании в Сети рекламодатели стремятся достигнуть:

  • Увеличения сбыта товаров услуг
  • Максимального показателя охвата независимо от характеристик аудитории
  • Размещения рекламного сообщения на каналах блогеров с наиболее высоким рейтингом
  • Позитивного запоминания товара или торговой марки целевой аудиторией
  • Затрудняюсь ответить

Эти цели включают как прямое стимулирование продаж, так и укрепление бренда в сознании потребителей, что в долгосрочной перспективе также способствует росту продаж.

Возможный вариант вопроса

Что будет выведено в результате выполнения следующего кода?

const a = 5
let b = a
b++
console.log(a, b)
  • 5 a
  • 66
  • 56
  • 5,6
  • a b
  • Затрудняюсь ответить
  • Ошибка

Здесь a инициализируется как 5, а b устанавливается равным a (то есть 5). Затем b увеличивается на 1 (оператор b++). Значение a остается неизменным (5), тогда как значение b теперь равно 6.

Возможный вариант вопроса

Перед Вами код, который выводит на экран сумму чисел, записанных в массиве arr

const forEach = (arr, fn) => {
	for (const x of arr) {
		fn(x)
    }
}
const getsum = (arr) => {
	let s = 0
	forEach(arr, (x) => {
		S+=x
	})
	return s
}
const displayResult = (arr, result) => {
	console.log(arr.join('+') + '=' + result)
}
const arr = [4, 2, 5]
displayResult(arr, getSum(arr))

Укажите относительный порядок выполнения действий в этом коде:

A Вызов функции displayResult

Б Определение функции fn

В Копирование массива arr для передачи в getsum

Г Рекурсивный вызов функции fn

Д Проход по массиву arr и вызов функции fn на каждом элементе массива

Е Вызов функции forEach

Ж Создание массива arr

З Определение функций forEach, getSum и displayResult

И Определение анонимной функции для передачи в forEach

Й Вызов функции getSum

К Начало

***

Относительный порядок выполнения действий в представленном коде:

  1. К Начало
  2. З Определение функций forEach, getSum и displayResult
  3. Ж Создание массива arr
  4. А Вызов функции displayResult
  5. Й Вызов функции getSum
  6. Е Вызов функции forEach
  7. И Определение анонимной функции для передачи в forEach
  8. Д Проход по массиву arr и вызов функции fn на каждом элементе массива

Оставшиеся пункты не соответствуют коду:

Б Функция fn не определяется отдельно, она передается в forEach как анонимная функция.

В Массив arr не копируется для передачи в getSum, он передается непосредственно.

Г В коде нет рекурсивных вызовов.

Возможный вариант вопроса

Что будет выведено в результате выполнения следующего кода?

function foo() {
	console.log(this.name)
}
const a = { name: 'Vasya', foo}
const b = { name: 'Petya', foo: a.foo} 
b.foo()
  • Petya
  • Vasya
  • ничего
  • undefined
  • Затрудняюсь ответить
  • ошибка
  • foo

Код на JavaScript использует концепцию контекста выполнения функции (this). В данном случае функция foo вызывается в контексте объекта b, так как она вызывается как метод этого объекта (b.foo()).

Контекст this внутри функции foo будет ссылаться на объект, в контексте которого эта функция была вызвана, то есть на объект b. Свойство name объекта b равно 'Petya'.

Таким образом, при вызове b.foo(), в консоль будет выведено: Petya

Возможный вариант вопроса

Что выведет этот код?

let vasya ={ name: "Вася", age: 25 }; 
let petya = { name: "Петя", age: 30 }; 
let masha = { name: "Маша", age: 28 }; 
let users = [vasya, petya, masha ]; 
let names = users.map(item => item.name); 

alert(names);
  • vasya
  • Вася, Петя, Маша
  • Вася, 25
  • Вася, 25, Петя, 30, Маша, 2
  • vasya, petya, masha
  • Затрудняюсь ответить

Этот код создает массив объектов users, а затем использует метод map для создания нового массива names, содержащего только имена пользователей из массива users. Метод map применяет предоставленную функцию (item => item.name) ко всем элементам массива users, создавая новый массив из результатов вызовов этой функции.

В данном случае, функция берет каждый объект (item) из массива users и возвращает его свойство name. Таким образом, новый массив names будет содержать имена всех пользователей в том же порядке, что и в исходном массиве users.

Поэтому код выведет: Вася, Петя, Маша

Возможный вариант вопроса

Что будет выведено в результате выполнения следующего кода?

const foo = (a, b=2,...c) => {
	console.log(a, b, c)
}
foo()
foo(5, 6, 7)
foo(1,...[undefined, 3], 4)
  • undefined 2 undefined 5 6 7 1 [undefined, 3] 4

  • undefined 2 [] 5 6 [7] 1 2 [3, 4]

  • Ошибка: некорректный синтаксис

  • undefined undefined [] undefined undefined [5, 6, 7] undefined undefined [1,...[undefined, 3], 4]

  • Затрудняюсь ответить

  • undefined 2 undefined 52 [7] 1 [2, 3] [4]

  • undefined 2 567 1 undefined 3 4

***

Давайте проанализируем каждый вызов функции foo в данном коде.

  1. foo():

    • a и b не получают значений, поэтому a будет undefined. Параметр b имеет значение по умолчанию 2, так что b будет равно 2.
    • c - это параметр остатка, который собирает все “оставшиеся” аргументы в массив. В этом случае, так как аргументов нет, c будет пустым массивом [].
  2. foo(5, 6, 7):

    • a принимает значение 5, b принимает значение 6.
    • Остается один аргумент, 7, который попадает в массив c, так что c будет [7].
  3. foo(1,...[undefined, 3], 4):

    • a принимает значение 1.
    • Для b используется оператор расширения, который вставляет первый элемент массива [undefined, 3], так что b будет undefined.
    • Оставшиеся аргументы 3 и 4 собираются в массив c, так что c будет [3, 4].

Итак, вывод будет следующим:

  • undefined 2 [] 5 6 [7] 1 undefined [3, 4]
Возможный вариант вопроса

Выберете верный ответ

В чем отличие fetch от XmlHttpRequest?

  • Скорость
  • Синхронность
  • Поддерживаемые протоколы
  • Обработка статусных кодов
  • Затрудняюсь ответить

Отличие между fetch и XMLHttpRequest (XHR) заключается в нескольких ключевых аспектах:

  1. Промисы против Callbacks: Одно из самых заметных отличий – fetch использует промисы (Promises), что делает его более удобным для работы с асинхронным кодом. В то время как XHR основан на callback-функциях, что может привести к так называемому “callback hell” при обработке сложных асинхронных операций.

  2. Синтаксис и Удобство Использования: fetch предоставляет более современный и лаконичный синтаксис по сравнению с более громоздким и менее интуитивным XHR.

  3. Обработка статусных кодов: fetch не считает статусные коды ошибок HTTP (как 404 или 500) за отклонённые промисы. Если запрос успешно выполнен (даже с кодом ошибки), промис будет разрешён. В XHR, вам придется вручную проверять статусные коды.

  4. Потоки: fetch имеет поддержку потоков (Streams API), что позволяет обрабатывать получаемые данные по частям, что может быть особенно полезно при работе с большими объемами данных.

  5. Поддерживаемые протоколы: Оба метода поддерживают основные протоколы HTTP/HTTPS, но fetch более гибок и современен в подходе к запросам.

  6. Отмена запроса: В fetch отсутствует встроенная поддержка отмены запроса (хотя это может быть реализовано через AbortController), тогда как в XHR для этого существует метод abort().

  7. Совместимость с браузерами: fetch является более новым API и может не поддерживаться некоторыми старыми браузерами, в то время как XHR поддерживается практически всеми браузерами.

Таким образом, главные отличия – это синтаксис и удобство использования, способ обработки промисов и статусных кодов, а также подход к обработке асинхронных запросов. Скорость и поддерживаемые протоколы не являются ключевыми факторами различия между этими двумя методами.

Возможный вариант вопроса

Какие дополнительные сведения необходимы для того, чтобы разобраться в проблеме? Вы находитесь на собеседовании в качестве кандидата на должность frontend-разработчика. Интервьюер вам предложил решить следующую задачу:

Дан двумерный массив. Вам необходимо вернуть новый массив, который переносит только те массивы из оригинала, которые не были пустыми и элементы которых все одного типа (т.е. однородные).

Пример: дан массив [[1, 5, 4], ['а', 3, 5], ['b'], [], ['1', 2, 3]], ваша функция должна возвращать [[1, 5, 4], ['6']].

Выберите вопросы, которые могут Вам определить архитектуру решения:

  • Какие типы данных могут быть в элементах массива? Могут ли элементы быть какой-то строкой или объектом?
  • Какой тип данных должен быть возвращен из функции: массив массивов или двумерный массив?
  • Допускается ли неявное приведение типов?
  • Сколько элементов в каждом подмассиве должно быть одного типа, чтобы его включить в новый массив?
Возможный вариант вопроса

Выберите верный ответ

Какое ключевое слово используется для объявления переменных с блочной областью видимости в JavaScript?

  • var
  • block
  • const
  • let
  • int
  • Затрудняюсь ответить
Возможный вариант вопроса

Выберите верный ответ

Как создать новый HTML-документ?

  • С помощью интернет-браузера
  • С помощью “Блокнота”
  • С помощью текстового редактора и сохранить файл с расширением .html
  • НТМL-документ создается автоматически при открытии веб-страницы
  • Затрудняюсь ответить
Возможный вариант вопроса

Выберите несколько вариантов ответа

Какие методы используются для работы с массивами в JavaScript?

  • call(), bind(), apply()
  • push(), pop(), shift()
  • concat(), slice(), join()
  • map(), filter(), reduce()
  • Затрудняюсь ответить
***

В JavaScript для работы с массивами используются следующие методы:

  1. Методы для добавления или удаления элементов:

    • push(): добавляет элемент в конец массива.
    • pop(): удаляет последний элемент массива.
    • shift(): удаляет первый элемент массива.
    • unshift(): добавляет элемент в начало массива.
    • splice(): удаляет или добавляет элементы в произвольное место массива.
  2. Методы для комбинирования и разделения массивов:

    • concat(): объединяет два или более массивов.
    • slice(): возвращает новый массив, содержащий копию части исходного массива.
  3. Методы для преобразования массивов:

    • map(): создает новый массив с результатами вызова заданной функции для каждого элемента массива.
    • filter(): создает новый массив со всеми элементами, прошедшими проверку заданной функцией.
    • reduce(): применяет функцию к аккумулятору и каждому элементу массива (слева-направо), сводя его к одному значению.
    • forEach(): выполняет заданную функцию один раз для каждого элемента массива.
    • sort(): сортирует элементы массива на месте и возвращает отсортированный массив.
  4. Методы для поиска в массиве:

    • indexOf(): возвращает первый индекс, по которому данный элемент может быть найден в массиве, или -1, если такого индекса нет.
    • find(): возвращает значение первого найденного в массиве элемента, которое удовлетворяет условию, заданному в передаваемой функции.
    • includes(): определяет, содержит ли массив определенный элемент.

Эти методы являются основными инструментами для обработки и манипуляции массивами в JavaScript.

Возможный вариант вопроса

Выберите верный ответ

Какой тип данных возвращает функция JSON.stringify?

  • boolean
  • function
  • Затрудняюсь ответить
  • array
  • object
  • Зависит от входного параметра
  • string

Пояснение: функция JSON.stringify в JavaScript всегда возвращает строку (string). Этот метод преобразует значение JavaScript (как объект или массив) в строку JSON.

Возможный вариант вопроса

Выберите верный ответ

Как изменить цвет текста заголовка первого уровня?

  • С помощью тега <h1> и указать цвет внутри тега
  • С помощью тега <color> и указать цвет для заголовка
  • С помощью тега <style> и указать цвет для тега <h1>
  • С помощью атрибута color и указать цвет для тега <h1>
  • Затрудняюсь ответить
Возможный вариант вопроса

Выберите верный ответ

Какой элемент используется в HTML5 для прикрепления мультимедийных файлов (аудио, видео, фотографии)?

  • <source>

  • <audio>

  • <embed>

  • <video>

  • Затрудняюсь ответить

***

В HTML5 для прикрепления мультимедийных файлов, таких как аудио, видео и фотографии, используются следующие элементы:

  • <audio> для аудиофайлов.
  • <video> для видеофайлов.
  • <img> для изображений.
  • <embed> и <object> могут использоваться для встраивания различных типов мультимедиа, включая аудио, видео и изображения.

Элемент <source> используется внутри <audio> и <video> для указания источников медиафайлов, но сам по себе он не предназначен для прямого прикрепления мультимедийных файлов.

Возможный вариант вопроса

Выберите верные утверждения относительно следующего кода:

class A {}
class B extends A {}
class C extends A {}
class D extends B {}
class E extends B {} class F extends C {}
class G extends C {}
  • Класс А является родителем всех остальных классов
  • В классах D и Е можно обратиться к полям и методам классов А и В
  • Класс А является родителем только классов В и С
  • Выражение G instanceof A вернёт false
  • Затрудняюсь ответить
  • Класс А является наследником всех остальных классов
  • Выражение G.prototype.name === 'С' вернёт true
***

С использованием классов, можно сделать следующие выводы:

  • Класс А является родителем всех остальных классов: Нет, класс A является непосредственным родителем только классов B и C. Остальные классы (D, E, F, G) являются потомками A через наследование от B или C.

  • В классах D и Е можно обратиться к полям и методам классов А и В: Да, поскольку D и E наследуют от B, который в свою очередь наследует от A, они имеют доступ к полям и методам обоих этих классов.

  • Класс А является родителем только классов В и С: Да, это верно. В данной иерархии A является прямым родителем только для B и C.

  • Выражение G instanceof A вернёт false: Нет, это выражение вернет true, поскольку G является потомком A через наследование от C.

  • Класс А является наследником всех остальных классов: Нет, это неверно. Класс A является базовым классом, от которого наследуются другие классы.

  • Выражение G.prototype.name === 'С' вернёт true: Нет, это неверно. Во-первых, name не является стандартным свойством прототипа в JavaScript. Во-вторых, даже если бы такое свойство было определено, оно бы не равнялось ‘С’ для экземпляра класса G.

Возможный вариант вопроса

Выберите верный ответ

Что из перечисленного подходит для бесплатного базового способа сбора информации о сайте конкурентов?

  • Trello
  • SimilarWeb, WhoIs
  • Lead Forensics
  • Scrum, Kanban
  • Google Analytics
***
  • Trello - это инструмент управления проектами, используемый для организации задач и командной работы. Он не предназначен для анализа веб-сайтов конкурентов.
  • SimilarWeb предоставляет аналитику и информацию о трафике веб-сайтов, что может быть полезно для понимания популярности и производительности сайта конкурентов.
  • WhoIs предоставляет информацию о владельце домена, включая дату регистрации и истечения, контактные данные и другую связанную информацию. Это может быть полезно для понимания структуры владения веб-сайтом конкурента.
  • Lead Forensics - это инструмент для идентификации B2B посетителей веб-сайта и превращения их в продажи. Он не предназначен для анализа веб-сайтов конкурентов и обычно является платным сервисом.
  • Scrum и Kanban - методологии агильного управления проектами, используемые для организации рабочего процесса в командах. Они не связаны с сбором информации о веб-сайтах конкурентов.
  • Google Analytics - это сервис для сбора и анализа трафика на собственном веб-сайте. Он не может использоваться для получения данных о веб-сайтах конкурентов.
Возможный вариант вопроса

Выберите несколько вариантов ответа

Nginx - это:

  • VPN-сервер
  • Почтовый прокси-сервер
  • DLNA сервер
  • НТТР-сервер
  • FTP-сервер
***
  • VPN-сервер предназначен для создания зашифрованного, безопасного соединения между различными сетями или устройствами. Nginx не выполняет функции VPN-сервера.
  • Почтовый прокси-сервер используется для обработки и пересылки электронной почты. Nginx не предназначен для работы с электронной почтой как почтовый прокси-сервер.
  • DLNA сервер позволяет делиться мультимедийными файлами (видео, аудио, изображениями) между совместимыми устройствами в домашней сети. Nginx не является DLNA сервером.
  • HTTP-сервер предназначен для передачи веб-страниц и данных на запросы клиентов по протоколу HTTP. Nginx является одним из популярных веб-серверов и часто используется для обслуживания веб-сайтов и веб-приложений.
  • FTP-сервер используется для обмена файлами по протоколу FTP. Nginx не предназначен для работы как FTP-сервер.
Возможный вариант вопроса

Каким образом можно получить значение ключа name у объекта а?

const a = { name: 'Vasya', age: 20 }
  • a.get(‘name’)
  • a.name
  • a(‘name’)
  • a[name]

Замечание: name = a['name'];

Возможный вариант вопроса

Выберите верный ответ

Что такое замыкание в JavaScript?

  • Способность функции запоминать область видимости, в которой эта функция была объявлена
  • Способность функции вызывать саму себя
  • Способность функции вызывать другую функцию
  • Способность функции запоминать все переменные
  • Способность функции возвращать значение переменных
  • Затрудняюсь ответить

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

Возможный вариант вопроса

Что будет на экране?

alert(str); 
var str = "Hello";
  • Hello
  • error
  • undefined
  • null
  • Ничего, так как переменная не объявлена
***

На экране будет отображено “undefined”. Это происходит из-за механизма поднятия переменных (hoisting) в JavaScript.

Переменная str объявлена после вызова alert. Однако благодаря механизму hoisting, объявление переменной var str (но не её инициализация) поднимается в верхнюю часть области видимости. Это означает, что в момент вызова alert(str), переменная str уже существует, но она ещё не инициализирована и имеет значение undefined.

После строки var str = "Hello"; переменная str получает своё значение "Hello", но это происходит уже после вызова alert.

Возможный вариант вопроса

Выберите верный ответ

Театр (концертная организация) планирует продвижение в интернете и в настоящий момент находится в поиске подрядчика на разработку сайта. Какой инструмент позволит сэкономить деньги и время с учётом планов продвижения разрабатываемого сайта?

  • Оптимизация сайта на этапе разработки, адаптация для смартфонов
  • Оптимизация конверсий на этапе разработки, проведение опроса о товаре или услуге у потенциальных клиентов
  • Настройка контекстной рекламы на этапе разработки сайта: анализ поисковых запросов
  • Анализ показателей отказов и лендинга. Сбор информации у конкурентов
***

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

  • Оптимизация сайта на этапе разработки включает в себя SEO-оптимизацию, которая позволяет сайту лучше ранжироваться в поисковых системах. Это важный шаг для продвижения сайта. Адаптация для смартфонов (отзывчивый дизайн) также критична, поскольку большая часть пользователей в настоящее время использует мобильные устройства для доступа в интернет. Это улучшит пользовательский опыт и потенциально повысит конверсию.

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

  • Настройка контекстной рекламы и анализ поисковых запросов важны для продвижения, но эти действия обычно проводятся после запуска сайта, а не на этапе его разработки.

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

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

Возможный вариант вопроса

Выберите верный ответ

Какая из перечисленной информации является менее важной при маркетинговых исследованиях?

  • Объем запросов ключевых слов в индустрии
  • Сводка по отзывам продуктов конкурентов на профильных площадках
  • Мнение руководства о продукте или рынке
  • Информация о конкурентах, их линейке продуктов и позиционировании
  • Ценовая политика конкурентов
***

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

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

  • Сводка по отзывам продуктов конкурентов на профильных площадках – очень важно знать, что клиенты думают о продуктах конкурентов, так как это может выявить их сильные и слабые стороны.

  • Мнение руководства о продукте или рынке – хотя мнение руководства может быть ценным в определённом контексте, оно может быть субъективным и не всегда отражает реальное положение дел на рынке или реальные потребности клиентов.

  • Информация о конкурентах, их линейке продуктов и позиционировании – это критически важно для понимания рыночной ситуации, выявления ниш и возможностей.

  • Ценовая политика конкурентов – важно для понимания общей рыночной стратегии, ценообразования и определения собственной ценовой стратегии.

Исходя из этого, менее важной (но всё же имеющей некоторую ценность) при маркетинговых исследованиях может считаться мнение руководства о продукте или рынке, так как оно может быть более субъективным и меньше основано на данных и фактах, чем другие перечисленные виды информации.

Возможный вариант вопроса

Выберите верный ответ

Какой паттерн проектирования используется для построения гексагональной архитектуры?

  • Коммандер
  • Билдер
  • Оркестратор
  • Абстрактная фабрика
  • Затрудняюсь ответить
***

Гексагональная архитектура (также известная как Ports and Adapters) сама по себе не является паттерном проектирования в классическом понимании, как, например, Singleton или Observer. Скорее, это архитектурный стиль или подход, который предлагает определенный способ организации кода приложения.

Гексагональная архитектура основывается на идее, что внутренняя логика приложения (бизнес-логика) должна быть изолирована от внешних влияний, таких как пользовательский интерфейс, системы хранения данных, внешние сервисы и т.д. В этой архитектуре внешние взаимодействия осуществляются через “порты”, к которым могут быть подключены различные “адаптеры”. Таким образом, изменения во внешних слоях (например, замена базы данных или изменение пользовательского интерфейса) могут быть выполнены с минимальным влиянием на бизнес-логику.

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

Возможный вариант вопроса

Выберите верный ответ

Что из перечисленного не относится к плюсам применения UI Kit?

  • Оптимизация скорости загрузки веб-страниц за счет использования UI Kit
  • Оптимизация скорости разработки дизайна и верстки новых страниц
  • Унификация и стандартизация элементов дизайна создаваемого приложения
  • Создание компонентного дизайна веб-приложения
  • Затрудняюсь ответить
***

UI Kit (User Interface Kit) — это набор готовых элементов дизайна и интерфейса, который используется для ускорения и упрощения процесса разработки веб-приложений и сайтов. Давайте рассмотрим перечисленные варианты с точки зрения их отношения к плюсам использования UI Kit:

  • Оптимизация скорости загрузки веб-страниц за счет использования UI Kit

    • Использование UI Kit само по себе не гарантирует оптимизации скорости загрузки веб-страниц. Скорее, это зависит от того, насколько эффективно UI Kit реализован и используется.
  • Оптимизация скорости разработки дизайна и верстки новых страниц

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

    • UI Kit помогает добиться унификации и стандартизации дизайна, предоставляя единый набор элементов интерфейса, который можно использовать по всему приложению.
  • Создание компонентного дизайна веб-приложения

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

Таким образом, из перечисленных вариантов оптимизация скорости загрузки веб-страниц за счет использования UI Kit является тем, что менее всего относится к плюсам применения UI Kit, так как эффективность загрузки страниц зависит от многих других факторов.

Возможный вариант вопроса

Выберите верный ответ

Как в JavaScript создать массив?

  • var array = new Array[ ] или var new array = []
  • var array = new Array{} или var new array = []
  • int new Array() или var new Array()
  • var array = new Array() или var array = []
  • Затрудняюсь ответить
Возможный вариант вопроса

Выберите верное утверждение

Создание интересного контента с целью получения максимального количества ссылок на материал - это:

  • Копирайтинг
  • Линкбилдинг
  • Рерайтинг
  • Линкбейтинг
  • Затрудняюсь ответить
***
  • Копирайтинг – это написание текстов с целью рекламы или маркетинга. Хотя это включает создание содержательного контента, основной целью копирайтинга не является привлечение ссылок.

  • Линкбилдинг – это процесс получения гиперссылок с других сайтов на свой сайт. Хотя линкбилдинг включает в себя стратегии для привлечения внешних ссылок, само по себе это не предполагает создание контента.

  • Рерайтинг – это процесс переписывания существующего контента, чтобы сделать его уникальным. Это не обязательно связано с созданием контента для привлечения ссылок.

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

Возможный вариант вопроса

Выберите верный ответ

Какое решение для кеширование можно отнести к классическим?

  • hazelcast
  • couchbase
  • redis
  • memcache
  • Затрудняюсь ответить
***
  • Hazelcast - это распределенная вычислительная и кеширующая платформа. Хотя она может использоваться для кеширования, она не считается классическим решением в том смысле, в каком обычно используется Memcached или Redis.

  • Couchbase - это NoSQL база данных, которая также может быть использована для кеширования, но она не является классическим решением для кеширования, как Memcached или Redis.

  • Redis - это распространенная система управления базами данных в памяти, часто используемая как кеширующий сервер. Она считается одним из классических решений для кеширования.

  • Memcached - это высокопроизводительная распределенная система кеширования объектов в памяти, широко используемая для ускорения динамических веб-приложений, уменьшения нагрузки на базу данных. Это одно из классических и наиболее часто используемых решений для кеширования.

Возможный вариант вопроса

Что выведет этот код?

function f() { 
    alert(this.name);
}

f=f.bind({name: "Вася"}).bind({name: "Петя" });

f0;
  • Петя
  • undefind
  • Вася Петя
  • error
  • Вася
***
  1. f=f.bind({name: "Вася"}) создает новую функцию, привязывая контекст {name: "Вася"} к функции f. Теперь при вызове f() контекстом this будет объект {name: "Вася"}.

  2. Затем f.bind({name: "Петя"}) пытается привязать новый контекст {name: "Петя"} к уже привязанной функции f. Однако важно знать, что привязка контекста с помощью .bind() не может быть изменена. Поэтому первоначальная привязка к {name: "Вася"} остается неизменной, и вторая привязка к {name: "Петя"} не имеет эффекта.

  3. При вызове f();, функция использует первоначально привязанный контекст {name: "Вася"}, поэтому будет выведено “Вася”.

Таким образом, верный ответ - “Вася”.