JavaRush /Java блог /Random /Технические вопросы на собеседовании
Roman Beekeeper
35 уровень

Технические вопросы на собеседовании

Статья из группы Random
Так вот, собеседование проходило по такому плану
  1. JavaCore
  2. ООП
  3. REST
  4. Базы данных
  5. Инстрменты, которыми пользуешься.
Технические вопросы на собеседовании - 1

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. Но я не знал их. Сказали они важные.

Базы данных

Здесь я рассказал, что знаю MySQL. Рассказал про три нормальные формы. Рассказал про Join'ы, какие бывают и нарисовал пересечение областей, в котором используются разные джоины. Рассказал про то, как я понимаю реляционную БД. Не забыл еще о про MongoDB — это NoSQL база данных. Через некоторе время я напишу и про это. Очень хорошо знать и разбираться, что такое транзакция. Что такое ACID. Что такое уровни изолируемости. Эти знания дают понять, какой уровень.

Другие инструменты

Здесь мы прошлись по моем резюме. У меня было написано, что использую Maven/Gradle для сборки, использую JIRA для тасков, git, Docker, Swagger. Для Continuous Integration — Stash, Bamboo, Puppet. Для тестирования JUnit, Mockito, JMeter. Я мог что-то забыть, поэтому если интересно — спрашивайте в комментариях постараюсь ответить. Всем кому статья понравилась и была полезна — оценивайте и пишите в комментариях. Так же, подписывайтесь на мой гитхаб аккаунт romankh3 См. также мои другие статьи: - Как найти работу? Советы по рассылке резюме. Статья из группы Random - История Успеха. 20 часов в неделю программирования, магистратура и личная жизнь - Профессиональное выгорание. Как устоять?
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Roman Beekeeper Уровень 35
11 марта 2021
⚡️UPDATE⚡️ Друзья, создал телеграм-канал 🤓, в котором освещаю свою писательскую деятельность и свою open-source разработку в целом. Не хотите пропустить новые статьи? Присоединяйтесь ✌️
Даниил Уровень 41 Master
12 июля 2019
Из "Другие инструменты" я знаю разве что git кое как более-менее, с Maven разобраться пока ума не хватает( Про другое даже не слышал... Неужели это всё (образно "это") нужно реально в определённой степени знать?!
Иван Уровень 30
20 июня 2019
На работу-то взяли в итоге?