#Вопросы_с_собеседования 
❓Какие разновидности сборщиков мусора реализованы в виртуальной машине HotSpot?
Java HotSpot VM предоставляет разработчикам на выбор четыре различных сборщика мусора:
• Serial (последовательный) — самый простой вариант для приложений с небольшим объемом данных и не требовательных к задержкам. На данный момент используется сравнительно редко, но на слабых компьютерах может быть выбран виртуальной машиной в качестве сборщика по умолчанию. Использование Serial GC включается опцией
• Parallel (параллельный) — наследует подходы к сборке от последовательного сборщика, но добавляет параллелизм в некоторые операции, а также возможности по автоматической подстройке под требуемые параметры производительности. Параллельный сборщик включается опцией
• Concurrent Mark Sweep (CMS) — нацелен на снижение максимальных задержек путем выполнения части работ по сборке мусора параллельно с основными потоками приложения. Подходит для работы с относительно большими объемами данных в памяти. Использование CMS GC включается опцией
• Garbage-First (G1) — создан для замены CMS, особенно в серверных приложениях, работающих на многопроцессорных серверах и оперирующих большими объемами данных. G1 включается опцией Java
❓Какие разновидности сборщиков мусора реализованы в виртуальной машине HotSpot?
Java HotSpot VM предоставляет разработчикам на выбор четыре различных сборщика мусора:
• Serial (последовательный) — самый простой вариант для приложений с небольшим объемом данных и не требовательных к задержкам. На данный момент используется сравнительно редко, но на слабых компьютерах может быть выбран виртуальной машиной в качестве сборщика по умолчанию. Использование Serial GC включается опцией
-XX:+UseSerialGC.• Parallel (параллельный) — наследует подходы к сборке от последовательного сборщика, но добавляет параллелизм в некоторые операции, а также возможности по автоматической подстройке под требуемые параметры производительности. Параллельный сборщик включается опцией
-XX:+UseParallelGC.• Concurrent Mark Sweep (CMS) — нацелен на снижение максимальных задержек путем выполнения части работ по сборке мусора параллельно с основными потоками приложения. Подходит для работы с относительно большими объемами данных в памяти. Использование CMS GC включается опцией
-XX:+UseConcMarkSweepGC.• Garbage-First (G1) — создан для замены CMS, особенно в серверных приложениях, работающих на многопроцессорных серверах и оперирующих большими объемами данных. G1 включается опцией Java
-XX:+UseG1GC.👍12❤2👎1
  👍30😱10👎6
  #Вопросы_с_собеседования 
❓Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
Ответ:
При следующем вызове методов итератора будет выброшено ConcurrentModificationException. 
❓Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
Ответ:
👍22❤3
  Парсинг JSON с помощью Jackson
Jackson в основном известен как библиотека, которая конвертирует строки JSON и простые объекты Java (англ POJO — Plain Old Java Object).
Смотреть статью
  
  Jackson в основном известен как библиотека, которая конвертирует строки JSON и простые объекты Java (англ POJO — Plain Old Java Object).
Смотреть статью
Хабр
  
  Парсинг JSON с помощью Jackson
  Большая часть веба на сегодняшний день обменивается данными в формате JSON. Веб-серверы, веб-приложения и мобильные приложения, даже устройства IoT общаются друг с другом, используя JSON. Простой и...
👍11
  Spark Framework
Spark — оптимальный выбор для программистов, разрабатывающих веб-приложения на Java. В нём можно быстро и без усилий строить бэкенд сайтов. Spark поддерживает практически все функции Java 8 и имеет выразительный API.
Документация находиться здесь.
Spark — оптимальный выбор для программистов, разрабатывающих веб-приложения на Java. В нём можно быстро и без усилий строить бэкенд сайтов. Spark поддерживает практически все функции Java 8 и имеет выразительный API.
Документация находиться здесь.
👍16❤2
  #Вопросы_с_собеседования 
Что такое «абстракция»?
Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
Что такое «абстракция»?
Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
👍31
  #Вопросы_с_собеседования 
❓Что такое Instance Variable?
Instance Variable — переменная, которая определена внутри класса, и она существует вплоть до того момента, пока существует объект.
Пример — класс
❓Что такое Instance Variable?
Instance Variable — переменная, которая определена внутри класса, и она существует вплоть до того момента, пока существует объект.
Пример — класс
Bee, в котором есть две переменные nectarCapacity и maxNectarCapacity.👍19
  👍38😱3
  #Вопросы_с_собеседования 
❓Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?
Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок
Таким образом, исходя из факта, что
❓Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?
Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок
catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).Таким образом, исходя из факта, что
FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.👍35
  #Вопросы_с_собеседования 
❓LinkedHashMap - что в нем от LinkedList, а что от HashMap?
Реализация
При добавлении элемента, который уже присутствует в
❓LinkedHashMap - что в нем от LinkedList, а что от HashMap?
Реализация
LinkedHashMap отличается от HashMap поддержкой двухсвязанного списка, определяющего порядок итерации по элементам структуры данных. По умолчанию элементы списка упорядочены согласно их порядку добавления в LinkedHashMap (insertion-order). Однако порядок итерации можно изменить, установив параметр конструктора accessOrder в значение true. В этом случае доступ осуществляется по порядку последнего обращения к элементу (access-order). Это означает, что при вызове методов get() или put() элемент, к которому обращаемся, перемещается в конец списка.При добавлении элемента, который уже присутствует в
LinkedHashMap (т.е. с одинаковым ключом), порядок итерации по элементам не изменяется.👍19
  #Вопросы_с_собеседования 
❓Что такое полиморфизм?
Полиморфизм — это способность программы идентично использовать объекты с одинаковым интерфейсом без информации о конкретном типе этого объекта. Как говорится, один интерфейс — множество реализаций.
При помощи полиморфизма можно объединять и использовать разные типы объектов по их общему поведению.
Например, есть у нас класс Animal, у которого есть два наследника — Dog и Cat. У общего класса Animal есть общее поведение для всех — издавать звук. В случае, когда нужно собрать воедино всех наследников класса Animal и выполнить метод “издавать звук”, используем возможности полиморфизма. Вот как будет это выглядеть(см картинку).
Таким образом, полиморфизм помогает нам. Причем это относится и к полиморфным (перегруженным) методам.
❓Что такое полиморфизм?
Полиморфизм — это способность программы идентично использовать объекты с одинаковым интерфейсом без информации о конкретном типе этого объекта. Как говорится, один интерфейс — множество реализаций.
При помощи полиморфизма можно объединять и использовать разные типы объектов по их общему поведению.
Например, есть у нас класс Animal, у которого есть два наследника — Dog и Cat. У общего класса Animal есть общее поведение для всех — издавать звук. В случае, когда нужно собрать воедино всех наследников класса Animal и выполнить метод “издавать звук”, используем возможности полиморфизма. Вот как будет это выглядеть(см картинку).
Таким образом, полиморфизм помогает нам. Причем это относится и к полиморфным (перегруженным) методам.
👍32
  Будет ли интересна вам публикация в канал вопросов с собеседований на английском языке?
  Anonymous Poll
    80%
    Да
      
    20%
    Нет
      
    👍13😱3👎2
  Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам в 2022 году
Смотреть статью
  
  Смотреть статью
Хабр
  
  Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам в 2022 году
  Хабр, привет! Меня зовут Даниил Пилипенко, я программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay. Сегодня...
👍16😱2
  #Вопросы_с_собеседования 
❓Почему Map — это не Collection, в то время как List и Set являются Collection?
Ответ:
Collection представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение». 
❓Почему Map — это не Collection, в то время как List и Set являются Collection?
Ответ:
👍31