Skip to content

VladimirLTarasov/DeveloperTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

DeveloperTest

Developer Test Project

Задания для разработчика.

1. Вес – Макс 30 баллов. Провести код-ревью предложенного фрагмента кода.

Ваш коллега разработал библиотеку классов и консольное приложение по поставленному заданию, и руководитель просит вас проверить результат его работы, при необходимости, предложить правильную версию. Согласно заданию должно быть реализовано на языке C# приложение с двумя функциональностями:

  1. для вывода на экран последовательности символов , вида «1, 2, 3, 4, 5.», от единицы до конечного значения, запрашиваемого у пользователя.
  2. для вывода на экран изображение квадрата, состоящего из символа «#», с «дыркой» в центре квадрата. Размер стороны квадрата должен определяться нечетным числом, больше 3 и запрашиваться у пользователя.

Вам необходимо провести проверку кода в репозитории, указать на ошибки в нем и предложения по его модификации.
Код находится в репозитории GitHub. Создайте форк в свой репозиторий и сохраните в нем исправленный вариант. https://github.com/VladimirLTarasov/DeveloperTest/blob/main/FirstTask.cs

2. Разработать WebApi для решения следующих задач, по уровням сложности:

a. Вес – Макс 20 баллов. Реализовать WebApi с методом определения Индекса Массы Тела (ИМТ, анг. термин Body Mass Index, https://ru.wikipedia.org/wiki/Индекс_массы_тела ). Вызов через GET. Метод должен принимать на вход параметры, необходимые для вычисления ИМТ (Рост и Вес человека). Метод должен проверять входные параметры на адекватность, в т.ч. применительно к человеку. Метод возвращает объект с рассчитанным индексом и его описанием. К решению приложить запросы из Postman с корректными и некорректными параметрами.

b. Вес – Макс 40 баллов. Доработать WebApi методом добавления пациента (ФИО, рост, вес, возраст), вызов через POST, метод автоматически вычисляет ИМТ для данного пациента и заносит информацию в Базу данных (спроектировать структуру самостоятельно). Метод должен проверять входные параметры, в случае ошибки возвращать правильный статус ошибки. К решению приложить запросы из Postman с корректными и некорректными параметрами. Приложить ER-диаграмму БД.

c. Вес – Макс 50 баллов. Доработать WebApi методом получения статистики по параметрам ИМТ пациентов из базы данных, вызов через GET. Метод вычисляет статистику посредством SQL-запроса и возвращает список характеристик ИМТ и процентное отношение клиентов в этой категории, по убыванию процентного соотношения, например: Норма – 70% Ниже нормы – 20% Ожирение – 10% Метод не принимает параметры. К решению приложить запросы из Postman, исходный код SQL-запроса.

d. Вес – Макс 50 баллов. Разработать хранимую процедуру для получения статистики по параметрам ИМТ пациентов из базы данных в разрезе возраста. Хранимка вычисляет статистику посредством SQL-запроса с группировкой по возрастам и возвращает список характеристик ИМТ и процентное отношение клиентов в этой категории, по убыванию процентного соотношения, например: Норма – 70% Ниже нормы – 20% Ожирение – 10%

Группировка происходит по диапазонам возрастов, вида:

0..10,

11..20,

21..30,

31..40, и тд.

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

PS. Баллы за решение могут быть снижены при выявлении недостатков: небрежное оформление, нарушение codestyle, отсутствие валидации и комментариев, ошибки в алгоритмах.

Рекомендации по разработке WebApi: C#, ASP.NET WebApi, MSSQL/PostgreSQL, использование ORM (EF или Linq2Db) – опционально. Исходный код решения необходимо залить в свой репозиторий Git. Ссылку на ваш репозиторий направить на почту [email protected]

About

Developer Test Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages