Задачу решил, и валидатор пропустил. Но мне осталось непонятно: поток clock выполняется 10 секунд, но на нем через 3,5 секунды выполняется команда interrupt() - почему он после этой команды продолжает крутить цикл? и я проверял его статус isInterruped == false, isAlive = true. Зачем же тогда нужен этот метод interrupt() если он не прервал работу потока clock? или он просто нужен чтоб выбросить исключение?
public class Solution {
    public static volatile int numSeconds = 10;

    public static void main(String[] args) throws InterruptedException {
        RacingClock clock = new RacingClock();
        //add your code here - добавь код тут
        Thread.sleep(3500);
        clock.interrupt();
    }

    public static class RacingClock extends Thread {
        public RacingClock() {
            start();
        }

        public void run() {
            //add your code here - добавь код тут
            String result = "Марш!";
            while (numSeconds > 0) {
                try {
                    Thread.sleep(1000);
                    System.out.print(numSeconds-- + " ");
                } catch (InterruptedException e) {
                    result = "Прервано!";
                }
            }
            System.out.print(result);
        }
    }
}