Posts Tagged: Яндекс

Тестовое задание Яндекса (Trip Sorter)

При приёме программистов на работу, кандидатам любят давать тестовые задания. Чаще всего их можно получить от убогих кадровых агентств, тогда к ним лучше не приступать, либо от нормальных компаний после собеседования, тогда стоит подумать, нужно ли тратить на них время или не стоит, в зависимости от того, какое впечатление произвела компания. А можно получить задание на проверку скилов и от очень брендовых с точки зрения HR компаний, коей в области ИТ у нас в стране и является Yandex, занимая, возможно, самое первое место.

Сразу скажу, моё решение задачи не понравилось программистам из Яндекса, а как я понял со слов рекрутёра, из было аж трое, так что задание я запорол.

Как показано в одном комиксе из серии “What I really do”, суть работы программиста заключается в наборе в строке поиска слов “how to Java”. В каждой шутке есть доля правды, и едва приступив к заданию, я решил посмотреть, не делал ли его кто-нибудь до меня. Сначала я пробил слова из задания и ничего не обнаружил, а затем попробовал вбить само название файла, которое было на английском. Тогда я наткнулся на блог какого-то разработчика, кажется он был из Испании. Человек писал в своём блоге о том, что в компании ему предложили следующее тестовое, и что ему обидно, что его не взяли на работу туда.

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

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

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

Буду рад, если кто-нибудь скажет, что в решении есть ошибки.