Как отличаются подходы к использованию интерфейсов в различных версиях Java?
В Java интерфейсы эволюционировали с выходом новых версий языка, что повлияло на их использование:
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
В Java интерфейсы эволюционировали с выходом новых версий языка, что повлияло на их использование:
Читать ответВ Java коллекции обычно параметризуются типом элементов (generics), например, ListString хранит только строки. Однако можно использовать коллекцию с типом Object, чтобы хранить элементы разных типов:
Читать ответВ Java ключевое слово throws используется в объявлении метода для указания, что этот метод может выбросить исключение определённого типа (или нескольких типов).
Читать ответНет, не все стандартные коллекции в Java являются потокобезопасными. Например, такие коллекции как ArrayList, HashMap, HashSet не обеспечивают безопасность при одновременном доступе из нескольких потоков.
Читать ответВ Java объекты типа Optional предназначены для безопасного представления значения, которое может быть как присутствующим, так и отсутствующим.
Читать ответВ Java ключевое слово final влияет на производительность программы косвенно, в основном через оптимизации компилятора и JVM:
Читать ответВ стандартной библиотеке Java нет класса с названием "Main" для очереди. Возможно, речь идет о главном потоке (main thread) и его очереди задач в контексте Android или JavaFX.
Читать ответИнтерфейс Comparable в Java используется для определения естественного порядка объектов класса. Он содержит метод compareTo(), который сравнивает текущий объект с другим объектом того же типа.
Читать ответОсновное отличие между коллекциями Set и ArrayList в Java заключается в их поведении и реализации:
Читать ответСборщик мусора (Garbage Collector, GC) в Java — это механизм автоматического управления памятью, который освобождает память, занятую объектами, которые больше не используются программой.
Читать ответGo - компилируемый, статически типизированный язык. Java - компилируемый (в байт-код), статически типизированный. Python - интерпретируемый, динамически типизированный.
Читать ответИнтерфейсы в Go, Java и C# имеют общую цель — описывать набор методов, которые должен реализовать тип, но отличаются по синтаксису и особенностям использования.
Читать ответ