Тестовые задания по C#
Здесь собраны реальные тестовые задания, которые дают соискателям на стажировках и junior-позициях. Эти задания помогут лучше подготовиться к отбору, потренироваться и пополнить портфолио
NAUKA • Лёгкая сложность
Тестовое задание по C# от компании NAUKA
Необходимо разработать приложение, позволяющее управлять учетными данными сотрудников (создавать, редактировать, просматривать список и детали, удалять). Функциональные требования к веб-приложению: 1. Поддержка операций управления (создания, чтения, редактирования и удаления) данными сотрудников. Данные сотрудника определяется следующими значениями: Имя; Фамилия; Отчество; Дата рождения; Адрес проживания; Отдел; Поле ввода “О себе”. 2. Наличие пользовательского интерфейса, реализованного c использованием WinForms. Нефункциональные требования: Система хранения данных: любая СУБД; Код приложения необходимо снабдить комментариями; Приложение должно собираться без установки или настройки каких- либо дополнительных компонент; Архив с результатом тестового задания должен содержать текстовый файл readme.txt с инструкцией по настройке и конфигурированию приложения (если необходимо).
Инфотекст • Средняя сложность
Тестовое задание по C# от компании Инфотекст
Задание 2. Rss фидер. Графическое приложение для чтения RSS ленты с сайта. В файле настроек хранится: Лента, которую обрабатывает фидер. По умолчанию это (https://habr.com/rss/interesting/). Частота обновления ленты приложением. Основное окно должно содержать список элементов ленты (item): Каждый элемент ленты должен отображать название и дату публикации (поля item->title и item->pubDate ). Дата публикации статьи должна отображаться в удобном для чтения пользователю формате. При нажатии на заголовок должен открываться браузер с переходом на выбранную статью (или в уже открытом браузере должна открываться ссылка). Пользователь должен иметь возможность посмотреть описание статьи (поле item->description). Содержание описание выводится в виде обычного текста (как есть), без форматирования по тегам. Данные должны периодически обновляться. Частота обновления должна быть взята из файла конфигурации. Пункты со звездочкой являются дополнительными и не обязательны для выполнения. * Файл настроек имеет формат XML. * Имеется возможность изменить ленту в меню настроек. * Имеется возможность изменить частоту обновления в меню настроек. * Опции в меню настроек валидируются. * Имеется возможность включить несколько лент. Пользователь должен иметь возможность включать и выключать ленты в окне приложения. * Выводить описание в виде, форматированном по тегам. * Иметь возможность переключения отображения описания в форматированном виде и без форматирования. * Реализовать на asp.net mvc/blazor или asp.net spa Требования к присылаемым решениям. Готовые задания должны быть переданы в zip архиве. Каждый из проектов должен находиться в своей папке и должен в обязательном порядке содержать отдельно исходный код приложения и отдельно собранную бинарную версию работающую в среде MS Windows 10. Собранная программа не должна требовать настроек системы или нахождения определенных файлов в специфичном месте (не актуально для 2го задания, если выполнено на asp.net). Исходный код должен компилироваться средствами MSVS 2015 или MSVS 2017. В архиве не должно быть неиспользуемых исходных кодов, ресурсов или промежуточных файлов сборки. Максимальное время на выполнение задания – 2 недели.
AFCStudio • Лёгкая сложность
Тестовое задание по C# от компании AFCStudio
C# junior backend / Full-stack AFCStudio Стек технологий: Бэкенд: C#, .net core 5+ Архитектура: cqrs База данных: mssql/postgres Доп задание по фронту: без разницы (angular react razor etc) Задание Необходимо написать сервис, позволяющий создавать и редактировать сотрудников организации. Сотрудники должны иметь должность, на основе которой рассчитывается их заработная плата. Помимо CRUD-запросов должен присутствовать пагинированный запрос, включающий поле для сортировки, поле для фильтрации (по ФИО-сотрудника или должности). Задание на знание БД. Написать и приложить скрипты для: выборки всех сотрудников, сотрудников у кого зп выше 10000, удаления сотрудников старше 70 лет, обновить зп до 15000 тем сотрудникам, у которых она меньше. Доп задание (выполнять по желанию): необходимо написать сайт с горизонтальным навигационным меню, состоящим из двух вкладок: ● “О компании” (стартовая страница) ● “Сотрудники” На первой вкладке использовать произвольную верстку. При переходе на вкладку «сотрудники» должна появляться таблица, состоящая из колонок: ● “Отдел” ● “Ф.И.О” ● “Дата рождения” ● “Дата устройства на работу” ● “Заработная плата” ● “Создание/удаление/редактирование сотрудника” В колонке “Создание/удаление/редактирование сотрудника” хедер должен быть пустой, в теле - три кнопки. При нажатии на кнопки “Создать” и “Редактировать” - открывается модальное окно с полями сотрудника, при нажатии на кнопку удалить - показывается модальное окно с подтверждением. Все действия должны выполняться асинхронно т.е. без перезагрузки страницы.
СКБ Контур • Высокая сложность
Тестовое задание по C# от компании СКБ Контур
Тестовая задача “Ханаби” В этой задаче на объектно-ориентированное проектирование нужно создать систему классов, моделирующую карточную игру. Правила игры Мы используем упрощенные правила игры Ханаби. Они отличаются от стандартных. Два участника играют специальными картами. У каждой карты есть цвет (красный, зеленый, синий, желтый и белый) и достоинство (от 1 до 5). На вход программе подается список карт колоды. В колоде есть как минимум 11 карт. Первые 5 карт достаются первому игроку. Вторые 5 карт — второму. Начало новой игры описывается такой входной строкой: Start new game with deck R1 G2 B3 W4 Y5 R1 R1 B1 B2 W1 W2 W1 Эта игра начнется со следующими картами: Первый игрок: R1 G2 B3 W4 Y5 (красная единица, зеленая двойка и т.д) Второй игрок: R1 R1 B1 B2 W1 Верхняя карта колоды после такой раздачи — W2 (белая двойка) Игра кооперативная и задача у игроков общая — выложить на стол как можно больше карт, пока игра не закончилась. Игроки держат карты рубашками к себе, то есть не видят своих карт, но видят чужие. Игроки не знают ни состав колоды, ни порядок карт в колоде. Игроки ходят по очереди и пропускать ход нельзя. Ход — это одно из четырех действий: 1. Разыграть карту. Игрок выбирает одну из своих карт и кладет на стол. Играть можно только карту, которой еще нет на столе. При этом достоинство карты должно быть единицей или на столе уже должна быть карта того же цвета, но на единицу меньшего достоинства. То есть разыгранная карта должна продолжать возрастающую последовательность одного цвета или начинать последовательность нового цвета. Сыгранная карта удаляется из руки и помещается на стол. Игрок добирает карту из колоды себе в руку, в конец списка карт. Если корректно сыграть карту нельзя, то карта помещается в сброс, а игра немедленно завершается. Пример: Play card 0 — текущий игрок выкладывает первую карту Если игроку достоверно не известно, можно ли сыграть карту корректно, но он все же успешно разыгрывает эту карту, то ход считается рискованным. В этой задаче рискованными называются только такие ходы. 2. Сбросить карту. Игрок выбирает одну из своих карт, помещает её в сброс и добирает одну карту из колоды себе в руку. Пример: Drop card 4 — текущий игрок сбрасывает последнюю карту из руки 3. Подсказать цвет. Игрок называет один из цветов и указывает на все карты этого цвета в чужой руке. Цвет, которого нет в чужой руке, называть нельзя. Пример: Tell color Red for cards 0 1 2 3 4 — текущий игрок сообщает другому игроку, что у него все карты красные 4. Подсказать достоинство. Игрок называет достоинство и указывает на все карты этого достоинства в чужой руке. Достоинство, которого нет в чужой руке называть нельзя. Пример: Tell rank 1 for cards 2 4 — текущий игрок сообщает, что у другого игрока в руке вторая и четвертая карты (нумерация с нуля) — единицы. Игра завершается в трех случаях: 1. Когда колода заканчивается. То есть, последняя карта колоды никогда не играет. 2. Когда на столе 25 карт. То есть, когда больше ни одну карту выложить нельзя. 3. Когда один из игроков делает некорректный ход: разыгрывает некорректную карту или сообщает другому игроку ложную или неполную информацию о его картах. Все ходы после завершения игры нужно игнорировать. Постановка задачи Программе будут вводить через консоль описание игр одна за другой. Для каждой завершенной игры из входных данных программа должна вывести одну строку, содержащую номер хода, на котором игра завершилась, количество корректно сыгранных карт, а также количество успешных рискованных ходов.
без ограничений.
Чтобы получить полный доступ,
вам необходимо зарегистрироваться.