В vk получил следующее предложение:
Последний месяц много ходил на собеседования и накопилось много тестовых заданий с них и просто небольшой багаж общих вопросов. Если хочешь могу скинуть и описать как происходило собеседование. (Александр Насонов)
Не вопрос! В конце каждого ТЗ краткий комментарий от редакции.
Если вам есть о чем рассказать — пишите в vk/telegram. Так же у мы проводим разборы тестовых заданий.
Задачи:
опыт работы верстальщиком, web-разработчиком от 1 года;
Общение перед заданием:
Сначала общение с HR общие вопросы о прошлом месте работы, что разрабатывали, с чем работали и причина ухода
Потом общение с лидом вопросы про общие вопросы про верстку (про способы центрования, позиционирование). Вопросы про CMS(с какими и как работал), немного Javascript
Задание
От редакции «Без воды»:
Адекватное задание для требуемой позиции. Стандартная задача, разумные временные затраты
Требования к разработчику
Общение перед заданием:
Примерно минут 5 пообщались в скайпе о том что делал и какие у меня примерно знания после чего добавили в гит и трелло с задачами
На выходе нужно было небольшое CRUD приложение на react, делать только фронт, бэк уже был.
Создать компонент для отображения таблицы с данными (Таблица с фейковыми данными из JSON’a, данные любого вида)
От редакции:
Отличное задание.
Задачи:
Photoshop (base)
Общение перед заданием:
Вопросы про то с какими сборщиками работал, как происходит отрисовка сайта(введение имени, запрос, отрисовка документа),какие навыки JS имеются. Как происходила работа совместно с дизайнером.
На выбор давалось одно из трех заданий
Нужно выводить текстовые сообщения в html блок (общий вид приведён в приложенном файле «messages.jpg»).
В блоке 1 — по очереди показываются все сообщения из списка с интервалом в несколько секунд. Показываться они могут несколько раз, но если пользователь нажал «х» слева в блоке 1, то это сообщение больше не будет показываться.
Блок 2 — отображает полный список сообщений, удалённые сообщения помечены знаком «х», новые сообщения добавляются в конец списка.
Блок 3 и 4 для отправки сообщений и включения в очередь для показа.
На одном из серверных языков с подгрузкой данных с сервера. Данные будут добавляться в блок 2 и также отображаться по очереди в п1.
Не функциональные требования:
Перед выполнением нужно оценить трудозатраты в часах и дату, когда будет готово задание.
Есть таблица, в которой есть числа. Числа сравниваются с каким то интервалом в прошлом. При выборе строки (щелчке) на графике отображается информация по этому показателю.
Для отображения график можно использовать сторонний компонент, например
http://www.highcharts.com/demo/ или любой другой.
Вёрстка должна быть адаптированной с поддержкой мобильных устройств (на одном из изображений есть пример). Должна быть возможность скрывать некоторые строки из таблицы (например удалением через настройки).
Нужно в html+js (можно использовать фреймворки) сверстать. Данные для таблицы и графика нужно хранить в json-файле. Бэкенд вообще не нужен.
Нужно сверстать расписание работы сотрудников. На графике отображено плановое время работы сотрудника (закрашенные прямоугольники) и фактическое (закрашено штриховкой). На вход приходит 2 набора данных в json формате, которые содержат 2 набора строк. На выходе ожидаем: html страницу + js + css + json-файл с данными. БД & бэкэнд не требуются. В json-файле должны быть данные с приложенной картинки.
План: {Сотрудник, Ресторан, Роль, ДатаВремя_ПланС, ДатаВремя_ПланПо}
Факт: {Сотрудник, Ресторан, Роль, ДатаВремя_ФактС, ДатаВремя_ФактПо}
Вариант №1. Облегченная задача (минимум):
Вариант №2. Задача нормальной сложности:
Важно:
Перед выполнением оцените время на выполнение задания, выберите вариант (1 или 2) и дату выполнения задания.
От редакции:
Задание 1/2 неплохо. Задание 3 уже сложновато.
Требования:
Общение перед заданием:
Общие вопросы про верстку, алгоритмы и базовые понятия js/react , в чем фишка реакт, взаимодействие между родителем/потомком. Несколько вопросов про es5/es6 зачем были созданы, какие преимущества дают
Написать веб-приложение для проведения тестирования.
Описание:
Back-end: создать базу данных с помощью Entity Framework подходом Code First, в которой
будут храниться вопросы тестирования. Заполнить БД данными из скрипта (приложен к заданию).
Сервис должен реализовывать интерфейс ITestService из диаграммы классов.
Метод GetNext возвращает данные вопроса из списка(п.1) по индексу(берется из тела запроса)
Front-end: в соответствии с диаграммой классов на js реализовать объектную модель приложения.
Для разработки логики руководствоваться UML диаграммой.
testController — основной класс для управления процессом тестирования.
question — общий класс(родитель) для объекта вопроса.
radioQuestion — класс потомок question для вопросов с одним правильным вариантом ответа.
checkboxQuestion — класс потомок question для вопросов с несколькими правильными вариантами ответов.
Схема БД:
Название DAL.TestModel.
Доп.Задание(необязательное): реализовать таймер для вопросов, у которых в поле Timeout !== null
Тоже самое, что и выше, но с дополнениями:
Для выполнения задания необходимо настроить webpack (версии 2, 3 или 4) для работы с кодом ES6+ используя babel-polyfill и babel-loader c пресетами env и stage-3.
Пояснения по заданию:
В задании идет основной упор на синтаксис ES6+ и новые возможности языка, а именно:
1. Новый синтаксис классов
2. Промисы (Promises)
3. Генераторы и итераторы (включая их асинхронные варианты)
4. Коллекции Map и WeakMap
Перед выполнением задания рекомендую ознакомиться с книгой «ECMASrcipt для разработчиков» (автор Николас Закас).
Для реализации методов загрузки данных (прим. ajaxToService) использовать API Fetch, организовать перехват ошибок.
Наследование использовать с новым синтаксисом, обязательно использование ключевого слова super.
Приватные переменные реализовать с использованием WeakMap (посмотреть в книге как это делается)
Пояснения по классам:
TestController — класс синглтон. Содержит асинхронную функцию init, которая запускает тест через асинхронный итератор, который получает из функции questionGenerator.
Функция questionGenerator представляет собой асинхронный генератор.
Метод questionFactory создает экземпляр дочернего класса для Question и возвращает его.
Подробнее по асинхронным итераторам:
https://github.com/tc39/proposal-async-iteration
От редакции:
Задание определенно «Борщ». Большое, сложное, зачем такое давать на тестовое? Да еще и для такой позиции.
Сегодня будем использовать parcel и IntelliJ IDEA Community Edition. Все инструменты бесплатные. Инициализация elm проекта…
На данном вебинаре мы знакомились с языком Elm проводя параллели между Elm и Redux, поэтому…
Richard Feldman рассказывает как масштабировать Elm приложение без боли. Показаны техники: extended records, подход narrow…
В данной заметке вы найдете конспект видео по Elm, которые я посмотрел в ноябре 2019.…
Итоги года 2019 // Max Frontend Покажи мне свой гитхаб, и я скажу работал ли…
Почему стоит изучать Elm? Потому что это интересный вызов, редкие (но вкусные) вакансии и хороший…
View Comments
Кто-нибудь пробовал решать данные задание, особенно интересует последнее и предпоследнее, также интересует какова скорость выполнение данных задач у разного уровня специалистов (junior,middle, sernior) ?
Не, никто не пробовал ;-)
ну что ж, впереди еще много роботы :)