This question evaluates a candidate's mastery of Java fundamentals, object-oriented design, interface implementation (Iterator), and the ability to write runnable unit tests in the Coding & Algorithms domain.

Implement, in Java and without IDE assistance, an Iterator interface and two concrete iterator classes that satisfy three given sub-problems, writing runnable code and tests entirely from scratch.