Есть MP3 плэйер в который закачано 1000 композиций, которые составляют плэй-лист.
Написать функцию которая эффективно перемешает эти композиции и передаст плэй лист (List<Song>) функции play().
Времени у меня было мало, поэтому начал изобретать из того что приходило на ум.
Сказал, мол, давайте сгенирируем рандомное число для каждой композиции и потом отсортируем эти числа (которые ссылаются на композиции) и передадим плэйеру.