H
H
highter2020-08-27 12:39:12
Frontend
highter, 2020-08-27 12:39:12

Guys, check out the test task?

Good day to all!
I decided to change jobs, I applied to N company for the position of front-end developer. I passed an interview with HR, and now it's time to communicate with Team Lead. After talking, we agreed on a test task:

Необходимо разработать javascript-компонент для сортировки таблиц с данными.

Функционал

Сортировка по столбцам: при нажатии на название столбца строки таблицы сортируются по возрастанию, при повторном клике - по убыванию. Графическим элементом или текстовым сообщением указывается направление сортировки.
Клиентская пагинация: данные необходимо отображать постранично, максимум 50 элементов на страницу. Необходимо предоставить пользовательскую навигацию для перехода по страницам.
Фильтрация: компонент предоставляет текстовое поле, в которое пользователь может ввести текст и строки таблицы, данные которых не содержат подстроку, введённую пользователем, скрываются. Перефильтрация осуществляется по нажатию на кнопку Найти.
По клике на строку таблицы значения полей выводятся в дополнительном блоке под таблицей.
Данные в таблицу загружаются с сервера. Способ загрузки с сервера на ваш выбор.
Для демонстрации работы компонента необходимо сделать простую HTML страницу. Пользователю предлагается выбрать набор данных: маленький или большой. При выборе набора данных он загружается с сервера и по данным строится таблица.


Замечания

Особое внимание следует уделить скорости работы. Зависание интерфейса при выполнении операций загрузки данных, фильтрации, сортировки недопустимо.
Во время загрузки данных стоит показать какой-то индикатор
Разрешённые библиотеки: jQuery, Lodash/Underscore, Backbone, самописный. Но вам придется объяснить выбор и причину использования. Использование сторонних библиотек будет плюсом только в случае если это оправданно и вы сможете объяснить причину выбора. Показав свои знания в грамотном применении сторонних готовых решений, вы имеете шанс повысить свою профессиональную привлекательность для нас.
Пишите код так, как бы вы его писали в работе - внутренности задания будут оцениваться даже тщательней, чем внешнее соответствие заданию. Код должен быть организован так, чтобы его можно было заново использовать.
Помните про обработку ошибок!
Верстка может быть самая простая. Визуализацию и украшение делаете на ваш вкус. Мы не против использования http://getbootstrap.com/ или похожего UI фреймворк, но только для UI представления (нельзя использовать JS код для решения задачи, но можно использовать для оформительских эффектов(анимации и тому подобное))!
Дополнительным плюсом будет:

Использование TypeScript или ES6+(babel).


I do not post the entire text of the test task, BUT the most basic part. There are still such things as text
schemes for the visual display of a table, links to a non-working api (CORS from the server side is prohibited).
After completing this test task on VUE (Cli) (about which we talked a lot with the Team Lead, who was listed in the "Will be a plus" in the vacancy), which was done in 5 hours. I get a rejection with a very stupid excuse:

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

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

Then I got even dumber options for excuses, like "The task was completed on vue, this did not need to be done according to the conditions.", I will not write them, because you get the meaning of it.

I just want to once again draw your attention to the fact that I got a job only as a front-end developer.

Now the questions for me are:
1. Is it worth taking such assignments seriously, taking it personally?
2. I'm not against tests, but do they have to be so voluminous?
3. If I go to the development front, should I do api proxying (because CORS is prohibited by the server)? Although I could do that too, because. I am full-stack (but back-end on php or go)
4. Who is to blame here, Team Lead who was afraid of competition in the form of my face or company policy - the search for free power?

Thanks to everyone who shared.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
prrrrrrr, 2020-08-27
@prrrrrrr

about:

2. I'm not against tests, but do they have to be so voluminous?

I came across vacancies in general, where I left a response, and without an interview, without any questions, they immediately throw a test. there is a feeling that some "employers" just need to stupidly fix a bug, and they do not know how to do it. there is, of course, where the interview is first, but then the test is thrown almost to write a mini-project. the question is, since they throw it at everyone, and you do it for everyone, killing a lot of time, where is the guarantee that they will take you after completing the test? and nowhere, so do test only as part of an interview or paid.
from personal experience: as soon as I started sending out a resume, they asked for a rather big test. made. type accepted. they were silent for a week, after they said * - the project is over, we will contact you *. after I think: *-oh, cool. I just wasted my time doing your test and you scammed me. i'm a moron*

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question