Агава-Минск

ЧУП "Агавамин"
ИТ-аутсорсинг
Сотрудники: ≈ 100
2 1
Picture__3

Обсуждение

Missing-female

Работаю с этой компании уже год. Ничего плохого никогда не было! Коллектив - супер! Ребята все очень дружные и доброжелательные. Елене, как специалисту, цены нет, очень одарённый человек в своей работе, в общем-то благодаря ей в компании отличный климат.

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

За время работы в компании у меня были только положительные эмоции! Всех очень люблю и ценю!

Picture_5035?1356409951

Добрый день, коллеги. Иногда так случается, что кандидат не проходит на собеседование по результатам тестирования. Чаще всего мы стараемся вызвать человека на собеседование, чтобы поговорить лично. Но в данном случае человек живет не в Минске, приглашать его лично приехать - значит тратить прежде всего его ресурсы. Мы надеемся, что неудачный опыт выполнения нашего теста в этот раз может быть поводом для более глубокого ознакомления с языком perl. Потребность в разработчиках у нас возникает постоянно.

Missing-male

То что я не в Минске, я предложил пообщаться по skyp-y, если бы наше общение имело положительный характер, я бы приехал в Минск на повторное собеседование (но мы так и не пообщались), а что касается скрипта, при всем уважении, можно было бы выделить проблемную область, но никак фразой "Скрипт не работает".

Missing-male
-2

Если вам дают тестовое задание, то это уже и есть проблема - ваша. Пишите CV и говорите с HR, так что бы вам не предлогали тестовое задание.

И еще, Елена увидит будущие проблемы с вами еще до того как вас возьмут на работу.

Missing-male

Вы сами поняли что написали в 1м и 2м предложениях?

Missing-male

Попробую по другому сказать. Люди которые жалуются на жизнь тут, будут возможно доставлять определенные проблемы компании в будущем. Поэтому написав "гневное" сообщение тут, вы тем самым подтвердили правильность решения Елены.

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

Missing-male

Любезный, да где же оно гневное, я подчеркнул малоинформативность принимающей стороны, а вы начинаите уже холить в сторону защиты HR, тем самым начиная спор выдвигая слепо свои "предположения". Если посмотреть др. компании, на них так же есть не мало -отзывов, скажем даже среди тех которые в топе5 на этом ресурсе, по вашему они так же проблемные и не приносящие пользу?

Missing-male

Пытался к ним устроится на вакансию Perl программиста, списались, написал первое задание. Задание не сложное, нужно было написать скрипт по работе в файловой БД на уровне добавить/удалить/найти записи. Написал, далее мне сказали что все норма, нужно оптимизировать его для работы с файломи например в 1Трб, сделал, отослал, прошла неделя ответа не было, я написал Елене, мне сказали что мол скрипт не работал, решили уже и не отвечать, но договорились что я пересморю и отправлю новую ривизию. Я пересморел, было пару ошибок в логике, скрипт работал но с ошибками, исправил, записал видео где проверял весь ф-ционал. отослал, Елена отвечат что ее технари в 2а голоса кричат что скрипт не работает (но как же видео?), я попросил контакты технарей, а так же дать некий комментарий по поводу неработы, мне был дан отказ.

зы: я так и не понял в каком месте я допустил ошибку и былали она вообще.

Missing-male

Размести скрипт с описанием задания на http://gist.github.com и скинь сюда ссылку, чтобы посетители сайта могли проверить этот скрипт и указать на ошибки, если они там есть.

Missing-male

Да конечн, вот исходник https://gist.github.com/2404989 , а вот видео http://www.youtube.com/watch?v=dzef4krXrfo

Главный скрипт это manager.pl, скрипт gendb.pl формирует файл gen.db которой после юзается 1м скриптом.

ps: буду рад любым коментам.

Missing-male
+1

Просмотрел код по диагонали. Вижу следующие недоработки:

- Использование усложненных синтаксических конструкций. Синтаксис perl'а позволяет легко запутать тривиальный код. Новички обычно считают, что чем больше в коде "фишек" perl'а, тем он круче. Это не так. Ведь в этом коде придется кому-то разбираться (может быть, даже самому себе через пару лет). Поэтому в следующий раз старайся избегать "упаковки" нескольких инструкций в одной строчке, если это ухудшает ясность кода. Лучше иметь 1000 строчек поятного кода, чем 100 строчек "упакованного" кода.

- Код никак не оптимизирован для работы с большими файлами.

* На строчке 225 manager.pl формирует индекс в памяти, читая весь файл целиком. Представляешь, сколько потребуется времени при формирования индекса для терабайтного файла? И это при каждом запуске программы. Правильнее было бы хранить индексы в файле и обновлять их при добавлении/удалении записей.

* get_lastid() опеределяет максимальный идентификатор записи с помощью алгоритма со сложностью O(n*ln(n)), где n - количество записей в файле. Это было бы еще терпимо, если бы n было мало и get_lastid() вызывался лишь один раз за все время работы программы. В нашем случае это не так - по условию задачи n не ограничено, а get_lastid() вызывается в цикле на строчке 268. Правильнее было бы хранить максимальный идентификатор записи в файле и обновлять его при добавлении новых записей, но никогда не уменьшать его. Так обычно делают СУБД.

* Отсутствуют индексы для ускорения запросов "показать записи данного пользователя" (функция show()) и "показать список пользователей" (функция show_user_list()). Из-за этого приходится каждый раз пробегаться по всем n записям. Если бы у нас был индекс записей по пользователям (user => message_id), то оба запроса можно было бы существенно ускорить.

* При удалении записей файл создается с нуля. Представь, сколько это займет времени при больших n. Правильнее было бы помечать соответствующую запись в файле как удаленную.

Вообще, я бы не придумывал велосипед, а воспользовался бы стандартными средствами типа http://perldoc.perl.org/AnyDBM_File.html для создания файлов БД с сопутствующими индексами.

Missing-male

У меня не было практики работы с терабайтными фалами, к модулям я не прибегал из-за того, что это тест и я посчитал что будет правильней если я напишу сам, причем по ТЗ был дан тот формат файла который приведен в файле gen.db, смысла в исп. модуля приведенного вами нет.

Мне было дано очень краткое ТЗ, в котором задач подобных вашим замечаниям не было указано, например то что вам показалось, что я использую сложные конструкции в одну строку, вообще так даже книга "Программирование на Perl" рекомендует, сам Ларри. ( $var = 1 if $#array > 4; ) или можно было исп. готовые модули или какие то предпочтения в логике при написании.

По поводу предпоследнего замечания, это я добавил от себя в ТЗ этого не было, но в целом с вашими замечаниями я согласен, спс.

зы: но скрипт все же работает по факту?)

Missing-male
Alexey
– Database developer в ТКсэт

Я полагаю, что атмосфера там будет всегда на пять пока у руля стоит Елена, так как это профи своего дела.

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

Dfa3320f6f3aa674eb76f55002cf9f4a?1491830942

А чего отзывов нету? И инфы о конторе?


Авторизуйтесь, чтобы оставлять комментарии

© 2008-2017 Частное предприятие "Дев Бай"
Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси