1. Чем отличаются методы forEach у коллекций и forEach у стримов?
2. Почему Map не реализует интерфейс Collection? Я сказал что у Collection сигнатура методов не подходит для мапы, на что получил еще один вопрос "Так почему бы, например, вместо put(key, value) не использовать add(new Entry(key, value))?"
И еще особняком стоит один вопрос, который пару раз задавали на финальном интервью и касается отпуска. Спрашивали давно ли я был в отпуске. Или могут спросить "Почему готов выйти на работу через N дней? В отпуск хочешь сходить?". Тут что хотят услышать? Какая логика?
Самое страшное не то, что вы ответов не знаете, а то, что найти их не смогли. Если второй вопрос вот прям как есть вбить в Google, то ответ будет в первом же результате!
И еще особняком стоит один вопрос, который пару раз задавали на финальном интервью и касается отпуска. Спрашивали давно ли я был в отпуске. Или могут спросить "Почему готов выйти на работу через N дней? В отпуск хочешь сходить?". Тут что хотят услышать? Какая логика?
Не хотят нанять затраханного разработчика, который на испытательном сроке получит нервный срыв.
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.
3. Вопрос про отпуск и когда вы можете выйти на работу - это самый обычный вопрос, показывающий, что собеседующий не вчера родился и знает, что люди, иногда не могут выйти на работу "завтра", что иногда у них есть "планы на отпуск и уже билеты куплены". Элементарное управление кадрами.
Почему Map не реализует интерфейс Collection? Я сказал что у Collection сигнатура методов не подходит для мапы, на что получил еще один вопрос "Так почему бы, например, вместо put(key, value) не использовать add(new Entry(key, value))?
Я не знаю кто-ж такие вопросы задает. Это вобщем не инженерные а философские вопросы.
Можно предположить что добавление в Map - возвращает булевый результат. И мы
по логике правильного программирование не имеем права его игнорировать.
Про отпуск - вообще непонятно. Ну скажи дексыть всегда готов. Когда выходить. Нужна сменка? Флюрография?