3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование



Скачать 60.98 Kb.
Дата26.07.2014
Размер60.98 Kb.
ТипДокументы
Тестовое задание

для соискателей на должность программиста

в компании NetVox Lab.

Оглавление


Введение. 3

Модель данных. 4

TypeA 4

TypeB 4


IntegerAttribute 4

StringAttribute 4

AttachedBlob 5

Задание 1: Анализ текстового файла. 6

Примеры файлов 6

Задание 2: Связь с базой данных. 7

Задание 3: Web-программирование. 8

Задание 4: Разработка Web-Служб. 9




Введение.


Тестовое задание состоит из множества частей, каждая из которых может быть реализована независимо.

В зависимости от интересов и навыков, вы можете выбрать одну или несколько частей для реализации. Результат необходимо представить в виде исходного кода на языке С++, C# или Java. Наиболее предпочтителен вариант на C#.



Исходный код программы с комментариями вместе с резюме необходимо направить на адрес электронной почты, указанный на странице http://www.netvoxlab.ru/vacancy.aspx

Модель данных.


Данные представляют собой древовидную систему, состоящую из объектов различных типов:

TypeA


Данные этого типа содержат поля:

  • Name – текстовое поле

  • Capacity – целочисленное поле

  • Version – поле версии, состоящее из двух чисел.

Объекты этого типа могут иметь в виде дочерних элементов объекты любого другого описанного здесь типа.


TypeB


Данные этого типа содержат поля:

  • Name – текстовое поле

  • Url – ссылка на страницу в Internet

  • Value – вещественное число.

Объекты этого типа могут иметь в виде дочерних элементов объекты любого другого описанного здесь типа.


IntegerAttribute


Данные этого типа содержат поля:

  • Name – текстовое поле

  • Value – целочисленное поле

Объекты этого типа не имеют дочерних элементов.

StringAttribute


Данные этого типа содержат поля:

  • Name – текстовое поле

  • Value – текстовое поле

Объекты этого типа не имеют дочерних элементов.

AttachedBlob


Данные этого типа содержат поля:

  • Value – поле в виде набора байт

Объекты этого типа не имеют дочерних элементов. Этот объект может быть единственным дочерним объектом данного типа. То есть, например, если у объекта TypeA уже есть AttachedBlob, то второго AttachedBlob уже не может быть.

Задание 1: Анализ текстового файла.


Необходимо разработать программу, анализирующую текстовый файл и формирующей в памяти дерево объектов, соответствующее этому файлу.

Файл состоит из блоков, заключённых в фигурные скобки { }.

Внутри каждого блока могут находиться пары Имя=”значение”, Имя=Значение, или другие блоки в фигурных скобках. Каждый блок соответсвует одному объекту и содержит обязательную пару Type=”Имя типа”.

Во время анализа файла, для элементов TypeB, необходимо составить список уникальных Url, сохранить этот список в файл.

Для сформированной в памяти иерархии необходимо написать код, выполняющий следующие действия:



  • Поиск элементов, поле Name которых совпадает с заданным пользователем.


Примеры файлов


Пример 1.

{Type=”StringAttribute” Value=”Пример текста”}

Пример 2.

{ Value=”12” {Type=”AttachedBlob” Value=”DQ4KDQwADQ4=”} Type=” TypeB”}

Пример 3.

{Type=”TypeA” Name=”Объект1”

{Type=”TypeB” Name=”Объект2”

Url=” http://www.netvoxlab.ru/vacancy.aspx” Value =”12.1”

{Type=”StringAttribute” Value=”Пример текста”}

}

Capacity=12



Version=”1.0”

}

Задание 2: Связь с базой данных.


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

Результат проектирования базы данных необходимо представить в виде схемы БД.

Дополнительно к чтению и записи необходимо написать следующие методы, осуществляющие запросы к базе данных:


  • Получение количества дочерних объектов для одного выбранного объекта.

  • Получение всех дочерних объектов типа StringAttribute для выбранного объекта, у которых поле Value содержит заданную пользователем подстроку.

  • Получение дочернего объекта, поле Name которого совпадает с введённой пользователем строкой.


Задание 3: Web-программирование.


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

Необходимо предоставить пользователю следующие возможности:



  • Создавать и удалять объекты из дерева.

  • Редактировать объекты.

  • Искать объекты по имени (поле Name).

Реализация следующих действий не обязательна, но будет рассматриваться как плюс:

  • Возможность просматривать изменения объектов (история изменений).

  • Возможность отменять изменения.


Задание 4: Разработка Web-Служб.


Необходимо разработать web service, который получает на входе XML документ, соответствующий модели данных. В этом документе подсчитывается сумма всех значений поля Value для TypeB. К корневому элементу документа добавляется атрибут result, в который сохраняется результат вычисления. Полученный документ сохраняется на стороне сервера (например, в файл). Результат сумирования отправляется в виде результата выполнения веб-службы.

В качестве имени XML-элементов использовать имя типа. Например, записи

{ Value=”12.0” {Type=”AttachedBlob” Value=”DQ4KDQwADQ4=”} Type=” TypeB”}

соответствует такая XML-структура:








Похожие:

3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconЗадание 2а. Реляционные базы данных
Требуется разработать схему реляционной базы данных для хранения информации о типах облаков (см задание 1), создать приложение для...
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconЗадание к лабораторным работам по курсу “Объектно-ориентированное программирование”
Разработать структуру элементов данных класса в виде динамической структуры данных (динамический массив, список, массив указателей)....
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconГенералова бд
Трехуровневая система организации бд. Модели данных. Классификация моделей данных. Семантические модели данных. Модель полуструктурированных...
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconПриложение 5 «В мире слов о профессии» Фамилия, имя Задание
Задание: прочитай словарные профессиональные слова, вставь пропущенные буквы и запомни определения данных слов
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconЛекция №07 Модели данных
Описание: Иерархическая модель данных. Режимы исключения. Сетевая модель данных. Объектно-ориентированная модель данных. Объектно-реляционная...
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconБазы данных Реляционная модель данных. Объекты данных, целостность реляционных данных
Реляционная модель данных была предложена Е. Коддом, в 1970 году. Реляционная модель(РМ) данных представляет информацию в виде совокупности...
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconЗадание: Составьте программу для вычисления Входные данные
Массивы вещественных значений, и натуральное число () считывать из текстового файла Input txt
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconИндивидуальное домашнее задание №1 мт2, 2 семестр Представление графа Указания по выполнению идз №1
Реализовать процедуры: ввода и вывода из файла, процедуру преобразования из одной структуры данных в другую
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconПрактические занятия к теме №3 задача 1 Задание Создание базы данных
...
3 Модель данных. 4 TypeA 4 TypeB 4 IntegerAttribute 4 StringAttribute 4 AttachedBlob 5 Задание 1: Анализ текстового файла. 6 Примеры файлов 6 Задание 2: Связь с базой данных. 7 Задание 3: Web-программирование iconКонтрольная работа №1: «Матричная алгебра» Задание Найти и, если Задание Вычислить определитель
Тематика и примеры контрольных заданий и вопросов (контрольные работы, индивидуальные типовые расчеты, коллоквиум)
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org