|
2024 Вступительное заданиеBog'liq 2024 Вступительное задание KXA56SHIXE, The Algorithm Design Manual, Mavzu Iqtisodiy axborot tizimlarida axborotlarni himoyalash usu-fayllar.org (1), Tolalar haqida, Behzod Boltaboyev, САО005 оқими учун мустақил иш мавзулари, Do\'stmurodov Xusan, Коди cal 1316 Номи (1), Plitalar, 84078527a4, ciziqli1932, ehtimol yakuniy, Taklifnoma, Final Interview, Mustaqil ish qanday yoziladi. Is\'hoqova Z
Вступительные задания для кандидатов на
стажировку по направлению .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
могут содержать одно (“отдельное издание”) или
несколько литературных произведений (“сборники”). Литературные произведения
хранятся в
|
| |