#Вопросы_с_собеседования
❓Чем LinkedHashSet отличается от HashSet?
❓Чем LinkedHashSet отличается от HashSet?
LinkedHashSet
отличается от HashSet
только тем, что в его основе лежит LinkedHashMap
вместо HashMap
. Благодаря этому порядок элементов при обходе коллекции является идентичным порядку добавления элементов (insertion-order). При добавлении элемента, который уже присутствует в LinkedHashSet
(т.е. с одинаковым ключом), порядок обхода элементов не изменяется.👍17
👍42👎3
#Вопросы_с_собеседования
❓Какой символ является разделителем при указании пути в файловой системе?
Для различных операционных систем символ разделителя различается. Для Windows это
В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю
❓Какой символ является разделителем при указании пути в файловой системе?
Для различных операционных систем символ разделителя различается. Для Windows это
\
, для Linux - /
.В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю
File.separator
.👍32
#Вопросы_с_собеседования
❓Что такое ZonedDateTime?
Документацию можно найти здесь.
❓Что такое ZonedDateTime?
java.time.ZonedDateTime
— аналог java.util.Calendar
, класс с самым полным объемом информации о временном контексте в календарной системе ISO-8601. Включает временную зону, поэтому все операции с временными сдвигами этот класс проводит с её учётом.Документацию можно найти здесь.
👍12😱3
Apache Struts
Apache Struts — фреймворк с открытым исходным кодом для создания Java EE веб-приложений. Struts был создан для того, чтобы чётко разделить модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно).
https://github.com/apache/struts
Apache Struts — фреймворк с открытым исходным кодом для создания Java EE веб-приложений. Struts был создан для того, чтобы чётко разделить модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно).
https://github.com/apache/struts
GitHub
GitHub - apache/struts: Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications
Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications - apache/struts
👍9
Метод equalsIgnoreCase()
Сравнивает данную строку с другой строкой, игнорируя регистр. Две строки считаются равными, если они имеют одинаковую длину и соответствующие символы у двух строк равны, игнорируя регистр букв.
Возвращает значение true, если аргумент не равен null и строки равны, без учета регистра букв; в противном случае значение false.
Сравнивает данную строку с другой строкой, игнорируя регистр. Две строки считаются равными, если они имеют одинаковую длину и соответствующие символы у двух строк равны, игнорируя регистр букв.
Возвращает значение true, если аргумент не равен null и строки равны, без учета регистра букв; в противном случае значение false.
👍39
#Вопросы_с_собеседования
❓О чем говорит ключевое слово throws?
Ответ:
Модификатор throws прописывается в заголовке метода и указывает на то, что метод потенциально может выбросить исключение с указанным типом.
❓О чем говорит ключевое слово throws?
Ответ:
👍29❤2😱2
Как конвертировать ArrayList в массив на Java?
Рассмотрим пример простой программы, которая преобразовывает ArrayList в массив в Java.
Мы используем реализацию метода toArray(T[] a) класса ArrayList, чтобы конвертировать ArrayList в массив на Java. «Под капотом» этого метода используется метод Arrays.copyOf(), чтобы конвертировать ArrayList в Array.
Рассмотрим пример простой программы, которая преобразовывает ArrayList в массив в Java.
Мы используем реализацию метода toArray(T[] a) класса ArrayList, чтобы конвертировать ArrayList в массив на Java. «Под капотом» этого метода используется метод Arrays.copyOf(), чтобы конвертировать ArrayList в Array.
👍24
#Вопросы_с_собеседования
❓Какое худшее время работы метода get(key) для ключа, который есть в HashMap?
O(N). Худший случай - это поиск ключа в
Но начиная с Java 8, после определенного числа элементов в списке, связный список преобразовывается в красно-черное дерево и сложность выборки, даже в случае плохой хеш-функции, не хуже логарифмической O(log(N)).
❓Какое худшее время работы метода get(key) для ключа, который есть в HashMap?
O(N). Худший случай - это поиск ключа в
HashMap
, вырожденного в список по причине совпадения ключей по hashCode()
и для выяснения хранится ли элемент с определённым ключом может потребоваться перебор всего списка.Но начиная с Java 8, после определенного числа элементов в списке, связный список преобразовывается в красно-черное дерево и сложность выборки, даже в случае плохой хеш-функции, не хуже логарифмической O(log(N)).
👍31👎2
#Вопросы_с_собеседования
❓Каким образом реализованы методы hashCode() и equals() в классе Object?
Реализация метода
Реализация метода
❓Каким образом реализованы методы hashCode() и equals() в классе Object?
Реализация метода
Object.equals()
сводится к проверке на равенство двух ссылок(код 1 на картинке).Реализация метода
Object.hashCode()
описана как native
, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти(код 2 на картинке).👍32👎6
Топ 10 фреймворков тестирования для Java в 2020 году
Java не зря считают одним из наиболее универсальных языков программирования. В этой статье мы расскажем о 10 лучших фреймворках тестирования для него.
Смотреть статью
Java не зря считают одним из наиболее универсальных языков программирования. В этой статье мы расскажем о 10 лучших фреймворках тестирования для него.
Смотреть статью
Библиотека программиста
☕ Топ 10 фреймворков тестирования для Java в 2020 году
Java не зря считают одним из наиболее универсальных языков программирования. В этой статье мы расскажем о 10 лучших фреймворках тестирования для него.
👍10
#Вопросы_с_собеседования
❓Какие существуют unchecked exception?
Наиболее часто встречающиеся:
❓Какие существуют unchecked exception?
Наиболее часто встречающиеся:
ArithmeticException, ClassCastException, ConcurrentModificationException, IllegalArgumentException, IllegalStateException, IndexOutOfBoundsException, NoSuchElementException, NullPointerException, UnsupportedOperationException.
👍27
👍42
Введение в сериализацию
Сериализация — это процесс сохранения состояния объекта в последовательность байт.
Смотреть видео
Сериализация — это процесс сохранения состояния объекта в последовательность байт.
Смотреть видео
YouTube
Урок по Java 46: Сериализация
Cкидки до 22-го января на все курсы всего за 9.99:
Каждый купон расчитан на 10 покупок, спешите!
Новый курс по Photoshop:
https://www.udemy.com/course/draft/3356128/?couponCode=4CD42A416E75E5BB51B2
HIBERNATE:
https://www.udemy.com/course/hibernate-kurs/…
Каждый купон расчитан на 10 покупок, спешите!
Новый курс по Photoshop:
https://www.udemy.com/course/draft/3356128/?couponCode=4CD42A416E75E5BB51B2
HIBERNATE:
https://www.udemy.com/course/hibernate-kurs/…
👍12
#Вопросы_с_собеседования
❓Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово
❓Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово
transient
, таким образом исключив поля из общего процесса сериализации.👍26
#Вопросы_с_собеседования
❓Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
Ответ на картинке.
❓Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
Ответ на картинке.
👍31