#Вопросы_с_собеседования 
❓Что такое стек и куча? Что хранится в каждой из этих структур памяти и как они взаимосвязаны?
Стек — это часть памяти, которая содержит информацию о вызовах вложенных методов вплоть до текущей позиции в программе. Он также содержит все локальные переменные и ссылки на объекты в куче, определенные в текущих выполняемых методах.
Эта структура позволяет среде выполнения возвращаться из метода, зная адрес, откуда он был вызван, а также очищать все локальные переменные после выхода из метода. Каждый поток имеет свой собственный стек.
Куча — это большой объем памяти, предназначенный для размещения объектов. Когда вы создаете объект с ключевым словом
❓Что такое стек и куча? Что хранится в каждой из этих структур памяти и как они взаимосвязаны?
Стек — это часть памяти, которая содержит информацию о вызовах вложенных методов вплоть до текущей позиции в программе. Он также содержит все локальные переменные и ссылки на объекты в куче, определенные в текущих выполняемых методах.
Эта структура позволяет среде выполнения возвращаться из метода, зная адрес, откуда он был вызван, а также очищать все локальные переменные после выхода из метода. Каждый поток имеет свой собственный стек.
Куча — это большой объем памяти, предназначенный для размещения объектов. Когда вы создаете объект с ключевым словом
new, он размещается в куче. Однако ссылка на этот объект находится в стеке.👍36❤1
  В каком случае использование TreeSet предпочтительнее использования HashSet?
  Anonymous Quiz
    11%
    Когда необходимо часто осуществлять обращение к элементам из Set
      
    12%
    Когда необходимо часто вставлять в Set новые элементы или удалять их
      
    64%
    Когда нужно гарантировать сохранение порядка элементов коллекции
      
    13%
    Когда нужно модифицировать производительность итератора по коллекции
      
    👍35👎4
  Метод ensureCapacity
Увеличивает размер внутреннего массива, чтобы в него поместилось количество элементов, переданных в minCapacity. Если массив достаточно вместителен, никакие преобразования не производятся.
Этот метод полезен, когда возникает потребность вместить большое количество элементов в несколько итераций. Например, при создании списка емкость его внутреннего массива — 10. При загрузке данных по сети они обрабатываются асинхронно порциями и результаты помещаются в массив. Если ожидается доставка 10 000 элементов, может быть неэффективно просто добавлять эти данные каждый раз: достаточно будет в начале обработки вызвать метод ensureCapaciry(10000) и записывать туда данные по мере необходимости.
Увеличивает размер внутреннего массива, чтобы в него поместилось количество элементов, переданных в minCapacity. Если массив достаточно вместителен, никакие преобразования не производятся.
Этот метод полезен, когда возникает потребность вместить большое количество элементов в несколько итераций. Например, при создании списка емкость его внутреннего массива — 10. При загрузке данных по сети они обрабатываются асинхронно порциями и результаты помещаются в массив. Если ожидается доставка 10 000 элементов, может быть неэффективно просто добавлять эти данные каждый раз: достаточно будет в начале обработки вызвать метод ensureCapaciry(10000) и записывать туда данные по мере необходимости.
👍23
  #Вопросы_с_собеседования 
❓Почему строка является популярным ключом в HashMap в Java?
Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
❓Почему строка является популярным ключом в HashMap в Java?
Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
👍45❤1
  #Вопросы_с_собеседования 
❓Чем похожи класс и интерфейс?
☕️ Интерфейс может содержать любое количество методов;
☕️ Интерфейс записан в файле с расширением .java, и имя интерфейса совпадает с именем файла;
☕️ Байт-код интерфейса находится в .class файле;
☕️ Интерфейсы появляются в пакетах, и их соответствующий файл байт-кода должен быть в структуре каталогов, которая совпадает с именем пакета.
❓Чем похожи класс и интерфейс?
☕️ Интерфейс может содержать любое количество методов;
☕️ Интерфейс записан в файле с расширением .java, и имя интерфейса совпадает с именем файла;
☕️ Байт-код интерфейса находится в .class файле;
☕️ Интерфейсы появляются в пакетах, и их соответствующий файл байт-кода должен быть в структуре каталогов, которая совпадает с именем пакета.
👍29🔥2❤1👎1
  Что выведет программа?
  Anonymous Quiz
    17%
    %X%x%x%x%x%x%x10101010101010
      
    36%
    Aaaaaaa
      
    15%
    %X%x%x%x%x%x%x10101010101010
      
    8%
    %X%x%x%x%x%x%x
      
    1%
    %X%X%X%X%X%X%X
      
    24%
    Ничего
      
    👍46❤3
  Основы Java: выделяем 4 разных роли классов
Java – объектно-ориентированный язык, и если спросить, какую роль в нем играют классы, первым в голову приходит создание объектов. Выделим ещё три важных роли этой конструкции языка, помимо самой очевидной.
Читать далее
  
  Java – объектно-ориентированный язык, и если спросить, какую роль в нем играют классы, первым в голову приходит создание объектов. Выделим ещё три важных роли этой конструкции языка, помимо самой очевидной.
Читать далее
Библиотека программиста
  
  ☕ Основы Java: выделяем 4 разных роли классов
  Java – объектно-ориентированный язык, и если спросить, какую роль в нем играют классы, первым в голову приходит создание объектов. Выделим ещё три важных роли этой конструкции языка, помимо самой очевидной.
👍18🔥1
  #Вопросы_с_собеседования 
❓Что такое абстрактный метод в языке Java?
Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.
Теперь, для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
❓Что такое абстрактный метод в языке Java?
Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.
Теперь, для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
👍29❤2
  #Вопросы_с_собеседования 
❓В чем разница между перегрузкой и переопределением чего-либо?
Переопределение выполняется во время работы программы, а перегрузка — во время компиляции. Также переопределение и перегрузка выполняются по-разному: в Java перегружаемый метод должен иметь отличную от оригинального метода сигнатуру, а в случае с переопределением она может быть той же самой.
❓В чем разница между перегрузкой и переопределением чего-либо?
Переопределение выполняется во время работы программы, а перегрузка — во время компиляции. Также переопределение и перегрузка выполняются по-разному: в Java перегружаемый метод должен иметь отличную от оригинального метода сигнатуру, а в случае с переопределением она может быть той же самой.
👍20❤2
  👍45😱12👎5🔥1
  #Вопросы_с_собеседования 
❓Что такое «блокирующий метод»?
Блокирующий метод – метод, который блокируется, до тех пор, пока задание не выполнится, например метод accept() у ServerSocket блокируется в ожидании подключения клиента. Здесь блокирование означает, что контроль не вернётся к вызывающему методу до тех пор, пока не выполнится задание. Так же существуют асинхронные или неблокирующиеся методы, которые могут завершится до выполнения задачи.
❓Что такое «блокирующий метод»?
Блокирующий метод – метод, который блокируется, до тех пор, пока задание не выполнится, например метод accept() у ServerSocket блокируется в ожидании подключения клиента. Здесь блокирование означает, что контроль не вернётся к вызывающему методу до тех пор, пока не выполнится задание. Так же существуют асинхронные или неблокирующиеся методы, которые могут завершится до выполнения задачи.
👍17
  #Вопросы_с_собеседования 
❓Какие типы ключевых слов используются в обработке исключений Java?
☕ try
☕catch
☕finally
☕throw
☕throws
❓Какие типы ключевых слов используются в обработке исключений Java?
☕ try
☕catch
☕finally
☕throw
☕throws
👍45
  #Вопросы_с_собеседования 
❓В чем разница между абстрактными классами и интерфейсами?
Ответ на картинке.
❓В чем разница между абстрактными классами и интерфейсами?
Ответ на картинке.
👍39👎20🔥1
  #Вопросы_с_собеседования 
❓Дайте краткую характеристику Enum в Java
Enum — перечисление, набор строковых констант, объединенных общим типом. Объявляется через ключевое слово — enum.
Вот пример с enum — допустимые роли в некоторой школе(см картинку).
Слова, написанные большими буквами, и есть те самые константы перечисления, которые объявляются упрощенно, без использования оператора new.
 
Использование перечислений заметно упрощает жизнь, так как они помогают избежать ошибок и путаницы в наименованиях (так как может быть только определенный перечень значений).
❓Дайте краткую характеристику Enum в Java
Enum — перечисление, набор строковых констант, объединенных общим типом. Объявляется через ключевое слово — enum.
Вот пример с enum — допустимые роли в некоторой школе(см картинку).
Слова, написанные большими буквами, и есть те самые константы перечисления, которые объявляются упрощенно, без использования оператора new.
Использование перечислений заметно упрощает жизнь, так как они помогают избежать ошибок и путаницы в наименованиях (так как может быть только определенный перечень значений).
👍18
  NullPointer Exception
Исключение нулевого указателя возникает в Java довольно часто при попытке вызова метода несуществующего объекта.
Рассмотрим строчку кода из примера 1 на картинке. Если объект school окажется равен
Хорошей практикой разработки на Java является предварительная проверка на
Исключение нулевого указателя возникает в Java довольно часто при попытке вызова метода несуществующего объекта.
Рассмотрим строчку кода из примера 1 на картинке. Если объект school окажется равен
null или его метод listStudents вернет null, вы получите исключение NullPointerException.Хорошей практикой разработки на Java является предварительная проверка на
null в методах (как в примере 2).👍24👎4
  #Вопросы_с_собеседования 
❓Что такое маркерный интерфейс? Каковы известные примеры таких интерфейсов в Java?
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:
❓Что такое маркерный интерфейс? Каковы известные примеры таких интерфейсов в Java?
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:
☕️ Serializable используется для явного указания того, что этот класс может быть сериализован;☕️ Cloneable позволяет клонировать объекты с помощью метода clone (без интерфейса Cloneable этот метод выдает исключение CloneNotSupportedException);☕️ Remote используется в RMI для указания интерфейса, методы которого можно вызывать удаленно.👍19