Тестовые задания для разработчика
Тестовое задание
Сделать регистрацию пользователя по адресу эл. почты.
- Клиент вводит адрес эл. почты, нажимает продолжить
- Появляется поле, куда надо ввести код, который был сгенерирован системой и отправлен на введенную почту
- Если код верный -- показать страницу что всё хорошо. Иначе -- выдать сообщение об ошибке.
Web-приложение
- Реализация на
ASP.NET
(
ASP.NET
Core)
- Сгенерированное письмо уходит или в очередь сообщений (RabbitMQ) или в базу данных.
Сервер отправки писем
- Консольное приложение на .NET (.NET Core)
- Слушает очередь (или периодически опрашивает базу данных) и получив задание для отправки -- выводит его
в консоль (например,
2023.04.10 18:30 test@example.com код: 1234
)
Примечания
- Реализация через очереди будет бо́льшим плюсом, чем через БД.
- UI на React, вместо RazorPages/RazorViews будет б́ольши́м плюсом.
- Локализуемость фраз интерфейса будет плюсом (en/ru)
- Защита от дудоса будет плюсом (таймеры на отправку, валидация, капча)
Примерное время реализации:
- Создание клиентской части (1 час)
- Создание сервера отправки (1 час)
Что вас ждет на работе
При успешном выполнении тестового задания вас будет ждать очное собеседование.
Вопросы на собеседовании будут касаться алгоритмов и структур данных, платформы .NET и
того как работает
протокол HTTP (мы пишем веб-приложение).
Стек технологий, который у нас используется:
-
.NET Standard 2.0
,
.NET Framework 4.8
,
.NET Core 7
(в новых частях проекта)
-
SQL Server
/
PostgreSQL
+
Dapper
-
ASP.NET 4.8
(старый код мигрирует на WebApi)
-
React
+
MobX
+
ANTD
,
Knockout
-
RabbitMQ
-
Redis