Так вот, собеседование проходило по такому плану
![Технические вопросы на собеседовании - 1]()
- JavaCore
- ООП
- REST
- Базы данных
- Инстрменты, которыми пользуешься.

JavaCore
- Вначале меня попросили нарисовать иерархию интерфейсов у Коллекций (это было не сложно, там всего их несколько (Collection, List, Set, Queue, Map).
- В чем различие ArrayList и LinkedList (это один из самых заезженных вопросов и ответов в инетах просто тьма).
- Обсудили скорость выполнения запросов в них и какая разница между листами.
- Вопрос про класс Object. Какие у него методы, что они делают.
- Рефлексия. Что делает метод getClass(). Очень интересный вопрос, разберите его. Особенно про то, как получить всё про класс, пусть даже там приватные методы или переменные.
- Спросили за многопоточность. Слабенько, как я считаю, так рассказать как ты понимаешь что такое многопоточность. Что нужно, чтоб запустить новый поток. Реально, если вы 20+ уровень, то эти вопросы для вас покажутся смешными.
- Что можешь сказать про Stream. Это имеется в виду не про Java 8. Имеется в виду потоки ввода и вывода. Как базовые интерфейсы, какие они (символьные и байтовые). На понимание, никакой конкретики.
- Исключения. Здесь опять-таки попросили нарисовать иерархию исключений, какие бывают, какие из них checked, а какие unchecked. Что нужно делать с Runtime исключениями. Назовите самое часто попадающее (NullPointerException). Вопрос с тем, что нужно делать с checked исключениями(пробрасывать дальше или обработать — понятно и то и другое).
ООП
- Что такое ООП в двух словах?
- Какие еще есть парадигмы программирования? В чем их различие от ООП
- Какие основные принципы ООП (наследование,полиморфизм и инкапсуляция)? Рассказать про каждый из них. Пока всё абстрактно, не привязываясь к какому-то языку.
- Задача на понимание проектирования систем: есть Лошадь и Птица. Нужно получить Пегаса. принцип "has a" и "is a"
REST
- Что такое REST. В Википедии об этом говориться очень круто. Реально статьи из Википедии для ознакомления хватит.
- HTTP. Здесь тоже общие фразы. Его методы, для чего каждый из них.
- Коды состояния HTTP. На какие пять частей делиться, расскажите про самые известные (200,204,404,500,501). Зачем они. Спросили еще про 401 и 403. Но я не знал их. Сказали они важные.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ