Тестовые задания для программистов

Можете выбрать для выполнения любое из представленных тестовых заданий.

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

Тестовое задание желательно выполнить на Java или C#.NET.

Тестовое задание №1

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

Если Вам по каким-то причинам не нравится сайт e1.ru, можете выбрать любой другой широко известный портал с объявлениями – от доски объявлений о животных zoo-zoo.ru до доски объявлений по продаже монет на www.monetki.su.

Тестовое задание №2

Компания «Велосипеды и колеса» разработала некоторое приложение.
Менеджер проекта желает иметь возможность отслеживать динамику изменений, вносимых в исходный код данного приложения. К сожалению, менеджер не знал про существование  систем учета версий. Было принято решение: при внесении изменения в исходный код специальным образом аннотировать изменяемый класс или метод  для фиксации автора вносимых изменений, даты внесения изменений и причины внесения изменений.

Необходимо разработать приложение, которое будет:
 - Анализировать переданную в виде параметра сборку приложения на предмет наличия данной аннотации.
 - Извлекать информацию из аннотации и сохранять ее в БД с целью последующего анализа.
 - Предоставлять возможность менеджеру проекта просматривать историческую информацию из БД о внесенных изменениях в код проекта.

Тестовое задание №3

В компании ОАО «Вешалки и Веснушки» существует распределенная система.
Компоненты системы обмениваются информацией используя Интернет. Протокол обмена HTTP\SOAP поверх TCP.

Компания не довольна текущим решением, т.к. офисы находятся в труднодоступных для широкополосного интернета местах. И, как следствие, стоимость трафика очень велика, а при передаче сообщений, используя SOAP и HTTP, размер сообщения увеличивается в разы.

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

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

 

Было принято решение разработать собственную реализацию Сериализатора данных, удовлетворяющую следующим условиям:
 - Компактность результирующих данных сериализации.
 - Сериализация полного графа объекта.

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

Запрещено использовать стандартные сериализаторы, к примеру BinaryFormatter, ObjectOutputStream и т.п.

 
Copyright Компания Экстрим про