Вступительные задания для кандидатов на
стажировку по направлению .NET Backend
Development
Основные моменты
Качество выполнения
● Оценивается как корректность выполненного задания, так и качество кода
(читаемость, расширяемость, следование основным принципам ООП).
Инструменты
● Для выполнения задания по программированию вам понадобится интегрированная
среда разработки
Microsoft Visual Studio Community
. Для работы с базами данных -
SQL Server Management Studio
. Рекомендуем английские версии.
Структура
● Решение каждого задания (C# проект, SQL файл) должно лежать в
соответствующем номеру задания каталоге (Solution1, Solution2, и т.д.).
Способ сдачи
● Каталоги с решениями следует запаковать в один архив (
Имя Фамилия.zip)
и
отправить на электронную почту
dotnet-internship@mercurydevelopment.com
Задание #1.
Необходимо реализовать консольное приложение, которое будет предоставлять
пользователю информацию о банковский кредитных договорах.
В качестве входного параметра приложение получает путь до файла (.json) со списком
кредитных договоров. Кредитный договор может быть трех видов (автокредит, ипотека и
кредит на образование) и определяется следующими полями:
● ID - уникальный номер кредита;
● Amount - сумма кредита;
● CountOfMonth - срок кредита в месяцах;
● Percent - процентная ставка кредита годовых;
● Borrower - информация о заемщике:
○ Id - уникальный номер заемщика;
○ FirstName - имя;
○ LastName - фамилия;
○ DateOfBirth - дата рождения;
○ PassportNumber - номер паспорта;
● Bank - информация о банке:
○ Id - уникальный номер банка;
○ Name - наименование банка;
○ Address - адрес банка;
● CarModel - модель автомобиля;
● CarBrand - марка автомобиля;
● VIN - VIN код автомобиля;
● AddressOfObject - адрес объекта ипотеки;
● Square - площадь объекта ипотеки;
● UniversityName - название университета;
● UniversityAddress - адрес университета.
Пользователь должен иметь возможность:
-
Получить список всех кредитов вида:
ID кредита | Сумма кредита | Процентная ставка | Срок кредита | Тип
кредита | Наименование банка | Фамилия и Имя заемщика
-
Получить список всех банков;
-
Получить список всех заемщиков;
-
Получить список кредитов по заданному типу (автокредит, ипотека или кредит на
образование);
-
Добавить новый кредит;
-
Получить список кредитов по заданной фамилии заемщика.
-
Рассчитать сумму ежемесячного аннуитетного платежа для заданного кредита (по
ID кредита).
NOTE: предполагается что вся информация будет хранится в оперативной памяти, без
использования СУБД и прочих систем хранения. JSON файл с примерами кредитных
договоров приложен к заданию.
NOTE 2: Формула расчета аннуитетного платежа:
Формула расчета коэффициента аннуитета:
Для примера возьмем 300 000 рублей, срок 18 месяцев и процентную ставку 15% годовых.
Месячная процентная ставка = 15% / 12 = 1,25%, то есть 0,0125.
Количество платежей равно количеству месяцев — 18.
Коэффициент аннуитета:
0,0125 × (1 + 0,0125)18 / ((1 + 0,0125)18 − 1) = 0,062385.
Расчет платежа:
300 000 × 0,062385 = 18 715,44
₽
.
Задание #2. SQL
Имеется база данных “Библиотека”. Краткое описание:
-
Книжные издания
Books
могут содержать одно (“отдельное издание”) или
несколько литературных произведений (“сборники”). Литературные произведения
хранятся в
|