Рубрика «тестовое задание» - 4

Не так давно довелось мне быть приглашенным на собеседование в кадровое агентство по вакансии «Руководитель проекта». Ни в коем разе не хочу кидать тень на подобные организации, но в моем случае предметно по телефону общаться было весьма сложно. Если вкратце, то речь шла о проекте по разработке мобильного приложения под мобильные устройства.

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

И что там?

Читать полностью »

Господа, доброго времени суток.

Написал тестовое задание для php-программиста (junior). Код представляет из себя маленький сайтик с возможностью комментирования статей, в котором преднамеренно допущено множество различных тематических ошибок.

Читать полностью »

О сложности тестового задания или так ли много 40 часовПриветствую!

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

Я хочу коснуться поиска работы молодыми специалистами. Читать полностью »

В сегодняшнем посте я хочу обсудить тему — эффективного IT собеседования.
Она родилась из комментария к одному из моих прошлых постов: «Было бы здорово почитать развернутый рассказ про то, как собеседовать людей.» Собственно, сказано — сделано!

Проведение себеседования также тривиально, как этот кубик рубик, если конечно вам не важен результат.

image

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

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

Если вам эта тема интересна и есть чем поделится с хабрачитателями — прошу под кат.
+ Бонус в конце статьи.
Читать полностью »

Это скорее пост-вопрос к специалистам, нежели просто кусок полезной информации. Приглашаю к дискуссии.
Недавно я имел счастье послать своё резюме в Связной на позицию .NET разработчика. В ответ меня попросили сделать тестовое задание на знание многопоточности. Я не могу назвать себя экспертом в этой области, но, тем не менее, прекрасно понял, как мне показалось, как реализовать следующие требования:

Требуется реализация класса на языке C#, аналогичного FixedThreadPool в Java, со следующими требованиями:

  • В конструктор этого класса должно передаваться количество потоков, которые будут выполнять задачи.
  • Интерфейс класса должен предоставлять методы: boolean execute(Task task, Priority priority) и void stop()
  • Интерфейс Task должен содержать один метод: void execute(), который вызывается в произвольном потоке.
  • Тип Priority — это перечисление из трёх приоритетов: HIGH, NORMAL, LOW. При этом во время выбора следующего задания из очереди действуют такие правила: на три задачи с приоритетом HIGH выполняется одна задача с приоритетом NORMAL, задачи с приоритетом LOW не выполняются, пока в очереди есть хоть одна задача с другим приоритетом.
  • До вызова метода stop() задачи ставятся в очередь на выполнение и метод boolean execute(Task task, Priority priority) сразу же возвращает true, не дожидаясь завершения выполнения задачи; а после вызова stop() новые задачи не добавляются в очередь на выполнение, и метод boolean execute(Task task, Priority priority) сразу же возвращает false.
  • Метод stop() ожидает завершения всех текущих задач (не очищая очередь).

Поскольку в задании не было сказано какими примитивами я должен пользоваться, должен ли сделать всё на простейших Thread или же использовать ThreadPool, TPL и т.п., я решил, что задание предполагает использование самых базовых элементов: Thread, ManualResetEvents и т.п. Написал за несколько часов, отослал. Сегодня позвонил и получил ответ через кадровика, который звучал примерно так: «это даже не близко к том, что надо». Это меня озадачило, ибо код работает и протестирован, явных огрехов, на мой взгляд нету.

Итак, на ваш суд представляю мою реализацию FixedThreadPool и сопутствующих классов. Сразу предупреждаю, что, по их мнению реализация ошибочна, и, соответственно, брать мою идею за основу не стоит. Некоторые коментарии по коду:

  • я решил инкапсулировать потоки задач в самом классе задачи,
  • два параметра с типом ILog нужны только для тестовых целей, к основной функциональности они, понятное дело, отношения не имеют,
  • весь проект, включая тестовое приложение можно загрузкить по ссылке (27 килобайт): тестовый проект на ifolder

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js