Тестовые задания по C#

Здесь собраны реальные тестовые задания, которые дают соискателям на стажировках и junior-позициях. Эти задания помогут лучше подготовиться к отбору, потренироваться и пополнить портфолио

стэк>
Компания>
Сложность>

СКБ Контур • Высокая сложность

Высокий уровень сложности - 3 звезды

Тестовое задание по C# от компании СКБ Контур

Задание Напишите сервер статистики для многопользовательской игры-шутера. Матчи этой игры проходят на разных серверах, и задача сервера статистики — строить общую картину по результатам матчей со всех серверов. Сервер должен представлять собой standalone-приложение, реализующее описанный ниже RESTful API. Общая схема работы такая: игровые сервера анонсируют себя advertise-запросами, затем присылают результаты каждого завершенного матча. Сервер статистики аккумулирует разную статистику по результатам матчей и отдает её по запросам (статистика по серверу, статистика по игроку, топ игроков и т.д.). Нельзя​​использовать​​.NET​​Core. Требования к решению ● Сервер должен реализовывать описанное выше API. ● Сервер должен поддерживать работу на произвольном HTTP-префиксе (задается при запуске). ● Сервер не должен терять данные при перезапуске. Если на PUT-запрос сервер вернул 200 OK, данные не должны быть потеряны даже в случае аварийного завершения приложения. Допустима потеря данных при внезапном выключении хоста. Для​​хранения​​данных​​можно​​использовать​​как​​собственное​​решение,​​так​​и готовую​​embedded-базу​​данных.​​В​​качестве​​БД​​не​​рекомендуется использовать​​MSSQL​​LocalDB. ● Сервер не должен падать при получении некорректных запросов. На такие запросы нужно отправлять ответ с кодом, отличным от 200 OK. Допустимы любые коды вида 4xx и 5xx. ● Сервер должен быстро обслуживать все виды запросов. ● Сервер должен уметь логировать ошибки. ● Код должен быть покрыт тестами. ● Код должен быть написан аккуратно и с любовью к деталям. Оформление решения ● Все внешние модули, от которых зависит решение, должны содержаться в папке с решением. Также допускаются зависимости от nuget-модулей. ● Решение должно успешно собираться с помощью msbuild: nuget restore && msbuild /p:Configuration=Release. В результате сборки папка Kontur.GameStats.Server/bin/Release внутри папки с решением должна содержать всё необходимое для работы приложения. ● Сервер должен запускаться из папки bin/Release следующим образом: Kontur.GameStats.Server.exe --prefix http://+:8080/, где вместо http://+:8080/ может быть любой UrlPrefix. ● Можно использовать в качестве заготовки проект из репозитория на гитхабе: https://github.com/DQKrait/Kontur.GameStats

СКБ Контур • Высокая сложность

Высокий уровень сложности - 3 звезды

Тестовое задание по C# от компании СКБ Контур

ImageTransformer Нужно написать сервис, решающий такую задачу. По HTTP приходит запрос, содержащий картинку в формате png, координаты прямоугольной области и тип преобразования. Надо применить к картинке преобразование, вырезать фрагмент, соответствующий заданной области, и отправить в ответ. Вопросы по заданию можно задавать здесь: https://t.me/joinchat/A3Kxg0zr49r5YbnfHpIT0A Требования к решению Ожидается, что ваш сервис будет подвергаться большой нагрузке. Поэтому он, конечно же, должен работать максимально быстро. Чем быстрее обрабатывается каждый запрос — тем лучше. Чем больше запросов в секунду обрабатывается — тем лучше. Но у любой производительности есть предел, и ваш сервис должен быть готов столкнуться с нагрузкой, превышающей его возможности. Требования к стабильности под экстремальной нагрузкой: 1. Если нагрузка превышает возможности сервиса — производительность не должна деградировать. То есть, если сервис способен обработать максимум X rps, при нагрузке X * 2 rps сервис должен всё ещё обрабатывать не меньше X rps. Запросы, до которых очередь дойдет не скоро, можно сразу отклонять с ошибкой. 2. Производительность сервиса не должна деградировать со временем. Если сервис круглосуточно работает под нагрузкой без перезапусков, никакие ресурсы не должны закончиться и пропускная способность не должна уменьшиться. 3. Клиенты не должны замечать кратковременные задержки в работе сервиса. Если случилась пауза из-за GC, или ещё по какой-то причине сервис короткое время не обрабатывал запросы, клиенты не должны получить ошибок, если пауза действительно была небольшая. Известно, что сервис будет запущен на виртуальной машине с 8 GB оперативной памяти и 8 ядрами процессора. Операционная система — 64-битная Windows Server 2016. Реализация Сервис должен представлять собой self-hosted веб-сервер, написанный на C# под .NET 4.6.2. Можно использовать вот этот шаблон проекта: https://github.com/DQKrait/Kontur.ImageTransformer

Получите доступ более чем к 500 тестовым заданиям
Сервис можно использовать бесплатно,
без ограничений. Чтобы получить полный доступ,
вам необходимо зарегистрироваться.
1
...
78
где найти тестовые задания для практики
пример тестового задания junior
тестовые задания для junior csharp
практические задачи по csharp
решение тестового задания csharp