1. RTFM!
forEach в стримах:
Performs an action for each element of this stream.
This is a terminal operation.
The behavior of this operation is explicitly nondeterministic. For parallel stream pipelines, this operation does not guarantee to respect the encounter order of the stream, as doing so would sacrifice the benefit of parallelism. For any given element, the action may be performed at whatever time and in whatever thread the library chooses. If the action accesses shared state, it is responsible for providing the required synchronization.
forEach для Iterable:
Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception. Actions are performed in the order of iteration, if that order is specified. Exceptions thrown by the action are relayed to the caller.
The behavior of this method is unspecified if the action performs side-effects that modify the underlying source of elements, unless an overriding class has specified a concurrent modification policy.
2. Ну это совсем просто
загуглить
3. Вопрос про отпуск и когда вы можете выйти на работу - это самый обычный вопрос, показывающий, что собеседующий не вчера родился и знает, что люди, иногда не могут выйти на работу "завтра", что иногда у них есть "планы на отпуск и уже билеты куплены". Элементарное управление кадрами.