REPOSITORY OVERVIEWLive repository statistics
★ 65Stars
⑂ 17Forks
◯ 1Open issues
◉ 65Watchers
12/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
0 Community adoption25% weight
35 Maintenance state20% weight
0 License clarity10% weight
0 Project information10% weight
35 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Тестовое задание для поступления в GoCloudCamp
Результаты выполнения тестового задания следует опубликовать на GitHub и отправить на почту gocloudcamp@sbercloud.ru до 23:59:59 10 марта 2023 г. Практическое задание состоит из нескольких частей, при этом, даже если вы сделали только одну часть задания - присылайте ее на рассмотрение.
1. Вопросы для разогрева
- Опишите самую интересную задачу в программировании, которую вам приходилось решать?
- Расскажите о своем самом большом факапе? Что вы предприняли для решения проблемы?
- Каковы ваши ожидания от участия в буткемпе?
2. Разработка музыкального плейлиста
Часть 1. Разработка основного модуля работы с плейлистом
Требуется разработать модуль для обеспечения работы с плейлистом. Модуль должен обладать следующими возможностями:
- Play - начинает воспроизведение
- Pause - приостанавливает воспроизведение
- AddSong - добавляет в конец плейлиста песню
- Next воспроизвести след песню
- Prev воспроизвести предыдущую песню
Технические требования
- Должен быть описан четко определенный интерфейс для взаимодействия с плейлистом
- Плейлист должен быть реализован с использованием двусвязного списка.
- Каждая песня в плейлисте должна иметь свойство Duration.
- Воспроизведение песни не должно блокировать методы управления.
- Метод воспроизведения должен начать воспроизведение с длительностью, ограниченной свойством Duration песни. Воспроизведение должно эмулироваться длительной операцией.
- Следующая песня должна воспроизводиться автоматически после окончания текущей песни.
- Метод Pause должен приостановить текущее воспроизведение, и когда воспроизведение вызывается снова, оно должно продолжаться с момента паузы.
- Метод AddSong должен добавить новую песню в конец списка.
- Вызов метода Next должен начать воспроизведение следущей песни. Таким образом текущее
- спроизведение должно быть остановлено и начато воспроизведение следущей песни
- Вызов метода Prev должен остановить текущее воспроизведение и начать воспроизведение предыдущей песни.
- Реализация метода AddSong должна проводиться с учетом одновременного, конкурентного доступа.
- Следует учитывать, что воспроизведение может быть остановлено извне
- Реализация методов Next/Prev должна проводиться с учетом одновременного, конкурентного доступа.
- Примечание: Все реализации должны быть тщательно протестированы и оптимизированы с точки зрения производительности.
Часть 2: Построение API для музыкального плейлиста
Реализовать сервис, который позволит управлять музыкальным плейлистом. Доступ к сервису должен осуществляться с помощью API, который имеет возможность выполнять CRUD операции с песнями в плейлисте, а также воспроизводить, приостанавливать, переходить к следующему и предыдущему трекам. Конфигурация может храниться в любом источнике данных, будь то файл на диске, либо база данных. Для удобства интеграции с сервисом может быть реализована клиентская библиотека.
Технические требования
- реализация задания может быть выполнена на любом языке программирования
- сервис должен обеспечивать персистентность данных
- сервис должен поддерживать все CRUD операции
- удалять трек допускается только если он не воспроизводится в данный момент
- API должен иметь необходимые методы для взаимодействия с плейлистом.
- API должен возвращать значимые коды ошибок и сообщения в случае ошибок.
Будет здорово, если:
- в качестве протокола взаимодействия сервиса с клиентами будете использовать gRPC
- напишите Dockerfile и docker-compose.yml
- покроете проект unit-тестами
- сделаете тестовый пример использования написанного сервиса
ALGORITHMICALLY RELATEDSimilar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
Тестовое задание для стажёра Frontend в команду Seller Experience
12/100 healthArchived
No license
⑂ 22 forks◯ 0 issuesUpdated Feb 7, 2026
Тестовое задание для front-end разработчика Travelpayouts
11/100 healthArchived
No license
⑂ 18 forks◯ 2 issuesUpdated Apr 24, 2026
Тестовое задание для стажёра Backend в команду Advertising
10/100 healthArchived