Некоторые датели перед собесом предлагают заполнить опросник. Сюда их можно выкладывать :) Вот пример (ответы мои, поэтому м.б. небезупречны): JAVA >>> Объясните как работает метод get класса TreeMap get(Object key) возвращает значение (value), соответствующее переданному ключу (key) или null если такого ключа нет. >>> В чем преимущества и недостатки работы с Collection.parallelStream(), если сравнивать его с Collection.stream()? Преимущество - возможное повышение производительности за счёт распараллеливания операций над элементами коллекции. Недостаток - возможное снижение производительности при неправильном выборе типа стрима (например, время на переключение между элементами может превысить возможный выигрыш на распараллеливание при малом объёме вычислений). >>> Как избегать или исправлять взаимные блокировки потоков? - использовать неблокирующие алгоритмы; - использовать атомарные классы; - использовать Concurrent-коллекции. >>> Где можно использовать класс WeakHashMap и как он работает? WeakHashMap — это HashMap, у которого ключами являются слабые ссылки. Поэтому, если во время ближайшей сборки мусора будет обнаружено, что на объект существует только ссылка в WeakHashMap, то из WeakHashMap будет удалена вся пара "ключ-значение", связанная с этим объектом. WeakHashMap можно использовать для хранения временных значений и не заботиться об их удалении что снижает объём кода. SPRING >>> В чем разница между prototype и singleton бинами? Какой тип можно использовать потокобезопасно? - singleton всегда возвращает ссылку на один и тот же объект. Он потокбезопасен; - prototype всегда возвращает ссылки на разные объекты. Он не потокбезопасный, т.к. он не гарантирует что один и тот же экземпляр будет вызываться только в 1 потоке. >>> Как исправлять циклическую зависимость между бинами? Например, service инжектит repository и в то же время repository инжектит service. Использовать ленивую инициализацию бинов или использовать сеттеры вместо конструкторов SQL >>> Объясните разницу между типами JOIN Внутреннее соединение даёт таблицу, в которую включены элементы, присутствующие во всех исходных таблицах. Внешнее добавляет к этому элементы одной (LEFT, RIGHT) или всех (FULL), присутствующие не во всех таблицах. Значения этих элементов будет заменено на NULL >>> Для чего нужен оператор HAVING ? HAVING используется для фильтрации вывода уже сгруппированной таблицы. Пишется после GROUP BY >>> Что такое рекурсивные запросы и где они применяются? Рекурсивный запрос - особый вид запроса. Он рекурсивный. Используется для выборки данных из нескольких таблиц при иерархической организации данных. Это очевидно, но на всякий случай повторю. Ответы на вопросы лучше давать своими словами на основе собственного понимания вопроса. Пусть коряво, но от себя. Это должно произвести лучшее впечатление (у дателей тоже могут быть компы и люди, умеющие гуглить). Удачи!