Побитовые операции
•
•
•
•
•
•
•
•
•
•
•
•
•
•
~
: Побитовый унарный оператор NOT;•
&
: Побитовый AND;•
&=
: Побитовый AND с присваиванием;•
|
: Побитовый OR;•
|=
: Побитовый OR с присваиванием;•
^
: Побитовый исключающее XOR;•
^=
: Побитовый исключающее XOR с присваиванием;•
>>
: Сдвиг вправо (деление на 2 в степени сдвига);•
>>=
: Сдвиг вправо с присваиванием;•
>>>
: Сдвиг вправо без учёта знака;•
>>>=
: Сдвиг вправо без учёта знака с присваиванием;•
<<
: Сдвиг влево (умножение на 2 в степени сдвига);•
<<=
: Сдвиг влево с присваиванием.👍30
#Вопросы_с_собеседования
Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
Ответ:
В примере возникает ошибка, потому что
Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
Ответ:
В примере возникает ошибка, потому что
Collections.emptyList()
возвращает пустой список без возможности добавления элементов.👍30
JUnit
JUnit — свободный Java-фреймворк для создания модульных тестов (они же — юнит-тесты). Эта библиотека — одна из самых популярных, её используют почти все. Рекомендуем вам разобраться с ней как можно быстрее, поскольку очень часто начинающих Java-разработчиков и Java Trainee заставляют «покрывать код тестами». И, надо сказать, это далеко не самое плохое начало карьеры.
Больше информации о Junit можно найти здесь.
JUnit — свободный Java-фреймворк для создания модульных тестов (они же — юнит-тесты). Эта библиотека — одна из самых популярных, её используют почти все. Рекомендуем вам разобраться с ней как можно быстрее, поскольку очень часто начинающих Java-разработчиков и Java Trainee заставляют «покрывать код тестами». И, надо сказать, это далеко не самое плохое начало карьеры.
Больше информации о Junit можно найти здесь.
👍11
#Вопросы_с_собеседования
Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode()?
Общий совет: выбирать поля, которые с большой долью вероятности будут различаться. Для этого необходимо использовать уникальные, лучше всего примитивные поля, например, такие как id, uuid. При этом нужно следовать правилу, если поля задействованы при вычислении hashCode(), то они должны быть задействованы и при выполнении equals().
Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode()?
Общий совет: выбирать поля, которые с большой долью вероятности будут различаться. Для этого необходимо использовать уникальные, лучше всего примитивные поля, например, такие как id, uuid. При этом нужно следовать правилу, если поля задействованы при вычислении hashCode(), то они должны быть задействованы и при выполнении equals().
👍21
👍30
#Вопросы_с_собеседования
Поддерживает ли язык Java множественное наследование?
Это очень хитрый вопрос. Интервьюеры часто говорят: если язык C++ может поддерживать непосредственное множественное наследование, то почему Java не может?
Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
Поддерживает ли язык Java множественное наследование?
Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
👍42😱9👎5
👍21😱7👎1
#Вопросы_с_собеседования
Зачем добавили ArrayList, если уже был Vector?
• Методы класса Vector синхронизированы, а ArrayList - нет;
• По умолчанию, Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.
Vector это устаревший класс и его использование не рекомендовано.
Зачем добавили ArrayList, если уже был Vector?
• Методы класса Vector синхронизированы, а ArrayList - нет;
• По умолчанию, Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.
Vector это устаревший класс и его использование не рекомендовано.
👍42
👍29❤1
#Вопросы_с_собеседования
Как происходит удаление элементов из ArrayList? Как меняется в этом случае размер ArrayList?
При удалении произвольного элемента из списка, все элементы, находящиеся «правее» смещаются на одну ячейку влево и реальный размер массива (его емкость, capacity) не изменяется никак. Механизм автоматического «расширения» массива существует, а вот автоматического «сжатия» нет, можно только явно выполнить «сжатие» командой trimToSize().
Как происходит удаление элементов из ArrayList? Как меняется в этом случае размер ArrayList?
При удалении произвольного элемента из списка, все элементы, находящиеся «правее» смещаются на одну ячейку влево и реальный размер массива (его емкость, capacity) не изменяется никак. Механизм автоматического «расширения» массива существует, а вот автоматического «сжатия» нет, можно только явно выполнить «сжатие» командой trimToSize().
👍29
JFreeChart
JFreeChart — это обширная бесплатная библиотека диаграмм для платформы Java(tm), которую можно использовать на стороне клиента (JavaFX и Swing) или на стороне сервера (с экспортом в несколько форматов, включая SVG, PNG и PDF).
Вся документация лежит здесь.
JFreeChart — это обширная бесплатная библиотека диаграмм для платформы Java(tm), которую можно использовать на стороне клиента (JavaFX и Swing) или на стороне сервера (с экспортом в несколько форматов, включая SVG, PNG и PDF).
Вся документация лежит здесь.
GitHub
GitHub - jfree/jfreechart: A 2D chart library for Java applications (JavaFX, Swing or server-side).
A 2D chart library for Java applications (JavaFX, Swing or server-side). - jfree/jfreechart
👍8😱1
👍26👎3❤1
#Вопросы_с_собеседования
В чем разница между this() и super()?
super() и this() являются специальными ключевыми словами, которые используются для вызова конструктора.
В чем разница между this() и super()?
super() и this() являются специальными ключевыми словами, которые используются для вызова конструктора.
👍29😱3
#вопросы_с_собеседований
Опишите работу блока try-catch-finally.
try — это ключевое слово используется для отметки начала блока кода, который потенциально может выдать ошибку. catch — ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений в случае их возникновения. finally — слово для отметки начала необязательного блока кода. Этот блок помещается после последнего блока catch. Управление передаётся в блок finally вне зависимости от того, было выброшено исключение или нет.
Общий вид конструкции показан на картинке.
Опишите работу блока try-catch-finally.
try — это ключевое слово используется для отметки начала блока кода, который потенциально может выдать ошибку. catch — ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений в случае их возникновения. finally — слово для отметки начала необязательного блока кода. Этот блок помещается после последнего блока catch. Управление передаётся в блок finally вне зависимости от того, было выброшено исключение или нет.
Общий вид конструкции показан на картинке.
👍28
#Вопросы_с_собеседования
❓Сколько необходимо дополнительной памяти при вызове ArrayList.add()?
Если в массиве достаточно места для размещения нового элемента, то дополнительной памяти не требуется. Иначе происходит создание нового массива размером в 1,5 раза превышающим существующий (это верно для JDK выше 1.7, в более ранних версиях размер увеличения иной).
❓Сколько необходимо дополнительной памяти при вызове ArrayList.add()?
Если в массиве достаточно места для размещения нового элемента, то дополнительной памяти не требуется. Иначе происходит создание нового массива размером в 1,5 раза превышающим существующий (это верно для JDK выше 1.7, в более ранних версиях размер увеличения иной).
👍20