← Назад к списку
Логотип C# / .NET C# / .NET
13.02.2026

Тестовое задание: C# (RIT Automation), задания 1-5

Компания: RIT Automation

Вакансия

  • Компания: RIT Automation
  • Направление: C#

Задание 1

На языке C# необходимо разработать приложение Windows Forms (обязательно .NET Framework), которое на главной форме содержит карту из библиотеки GMap.NET, загружает из базы данных Microsoft SQL Server географические координаты условных единиц техники и отображает их на карте в виде маркеров.

Необходимо реализовать:

  • перемещение маркеров с помощью мыши (Drag&Drop, нажать на маркер и перенести в другую точку карты);
  • сохранение новых координат в базу данных, чтобы после перезапуска приложения маркеры были расположены так же, как и до закрытия приложения.

Выполненным заданием считается архив с проектом Visual Studio, а также SQL-скрипт для создания базы данных (полное создание БД с нуля + наполнение данными). В базе данных уже должны содержаться маркеры.

При работе с базой данных нельзя пользоваться фреймворками (EntityFramework и т.д.), необходимо использовать T-SQL.

Задание 2

Написать процедуры обхода бинарного дерева поиска:

  • в глубину (preorder);
  • в ширину.

Нужно реализовать только эти два обхода, без дополнительных видов.

Организовать функцию вставки значения в бинарное дерево.

Задание 3

Для типа «односвязанный неизменяемый список», определенного как:

class ListNode<T> {
    public readonly T Value;
    public readonly ListNode<T> Next;
    ...
}

Написать две функции:

  • замены элемента в списке;
  • объединения двух списков.

Задания 2 и 3 выполняются на C#. Необходимо создать проект в https://dotnetfiddle.net/, CodingGround, http://www.tutorialspoint.com/compile_csharp_online.php или другом онлайн-инструменте и прислать ссылку.

Приветствуется оформление в виде набора тестов.

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

Задание 4

На языке C# необходимо разработать приложение Windows Forms, которое на главной форме содержит карту из библиотеки GMap.NET, загружает из базы данных Microsoft SQL Server географические координаты условных единиц техники и отображает их на карте в виде маркеров.

Ручное перемещение маркеров

Реализовать перемещение маркеров с помощью мыши (Drag&Drop) и сохранение новых координат в базу данных, чтобы после перезапуска приложения маркеры были расположены так же, как и до закрытия приложения.

Автоматическое перемещение маркеров

Реализовать парсинг сообщений с GPS-приемника, которые отвечают за координаты (GPGGA сообщение).

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

Для работы с приемником можно использовать любой эмулятор из интернета или парсить данные из файла.

Скриптовые действия

При заезде/перемещении маркера в определенную зону (нарисовать любую зону на карте) должно происходить действие, выбираемое в приложении из списка:

  • отображение диалогового окна с текстом;
  • изменение цвета маркера на случайный;
  • создание нового маркера в случайной точке, но только в видимой области карты.

Требования

  • язык программирования: C#;
  • библиотека карты: GMap.NET;
  • база данных: Microsoft SQL Server 2012;
  • работа с базой данных: любой вариант (EntityFramework, T-SQL и т.д.);
  • парсинг координат с GPS необходимо писать самостоятельно;
  • использование шаблонов проектирования.

Выполненным заданием считается архив с проектом Visual Studio, а также SQL-скрипт для создания базы данных и заполнения первичными данными. В базе данных уже должны содержаться маркеры.

Задание 5

Тестовое задание на ASP.NET Core (.NET 6):

Реализовать веб-службу REST API. В качестве БД использовать PostgreSQL + EntityFramework.

Есть несколько сущностей:

  • DrillBlock, поля: Id, Name, UpdateDate;
  • Hole, поля: Id, Name, DrillBlockId, DEPTH;
  • DrillBlockPoints, соединяются последовательно, являются географическим контуром блока обуривания. Поля: Id, DrillBlockId, Sequence, X, Y, Z;
  • HolePoints — координаты скважин. Поля: Id, HoleId, X, Y, Z.