#вопросы_с_собеседований
Для чего нужен метод hashCode()?
Для чего нужен метод hashCode()?
Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смыле — битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть.
Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
#вопросы_с_собеседований
Почему Map — это не Collection, в то время как List и Set являются Collection?
Почему Map — это не Collection, в то время как List и Set являются Collection?
Collection представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение».
Сбер показал пример геймификации: ко Дню самозанятых разработали игру «Я в деле». Задача — принимать заказы от клиентов и зарабатывать на любимом занятии. Ну и не забывать следить, чтобы ресурсы персонажа не закончились, иначе игра завершится раньше времени. Попробовать игру можно тут.
#вопросы_с_собеседований
Можно ли определить класс внутри JSP страницы?
Определить класс внутри
Можно ли определить класс внутри JSP страницы?
Определить класс внутри
JSP
страницы можно, но это считается плохой практикой:<%!
private static class ExampleOne {
//...
}
%>
<%
private class ExampleTwo {
//...
}
%>
#вопросы_с_собеседований
Как вызывать static метод интерфейса?
Как вызывать static метод интерфейса?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Как вызывать static метод интерфейса?
Используя имя интерфейса:
interface Paper {
static void show() {
System.out.println("static show()");
}
}
class Licence {
public void showPaper() {
Paper.show();
}
}
🖥 Почему я повернул экран на 90° и вы тоже должны это сделать
Почему вы до сих пор не повернули ваш монитор вертикально? Ведь это так удобно и необычно. Или нет? Помогаем сомневающимся и рассказываем тем, кто еще не пробовал сменить ориентацию экрана.
https://proglib.io/sh/yRT5GHO3Uz
Почему вы до сих пор не повернули ваш монитор вертикально? Ведь это так удобно и необычно. Или нет? Помогаем сомневающимся и рассказываем тем, кто еще не пробовал сменить ориентацию экрана.
https://proglib.io/sh/yRT5GHO3Uz
Заполните пробел, чтобы этот код вывел -1
Anonymous Quiz
23%
between(blackFriday, xmas)
27%
between(xmas, blackFriday)
28%
minus(blackFriday, xmas)
15%
minus(xmas, blackFriday)
6%
plus(blackFriday, xmas)
Enterprise Java Microservices (2018)
Автор: Ken Finnigan
Большие приложения легче разрабатывать и поддерживать, если вы создаете их из небольших простых компонентов. Разработчики Java теперь могут пользоваться широким набором инструментов, включая фреймворки и четко определённые шаблоны, позволяющие разрабатывать микросервисные приложения. Книга научит вас планировать и создавать проекты, основанные на микросервисной архитектуре. Она рассчитана на Java-разработчиков, знакомых с Java EE.
Скачать книгу
Автор: Ken Finnigan
Большие приложения легче разрабатывать и поддерживать, если вы создаете их из небольших простых компонентов. Разработчики Java теперь могут пользоваться широким набором инструментов, включая фреймворки и четко определённые шаблоны, позволяющие разрабатывать микросервисные приложения. Книга научит вас планировать и создавать проекты, основанные на микросервисной архитектуре. Она рассчитана на Java-разработчиков, знакомых с Java EE.
Скачать книгу
#вопросы_с_собеседований
Опишите процесс сериализации/десериализации с использованием Serializable.
Опишите процесс сериализации/десериализации с использованием Serializable.
При использовании Serializable применяется алгоритм сериализации, который с помощью рефлексии (Reflection API) выполняет:
✔️ запись в поток метаданных о классе, ассоциированном с объектом (имя класса, идентификатор SerialVersionUID, идентификаторы полей класса);
✔️ рекурсивную запись в поток описания суперклассов до класса java.lang.Object (не включительно);
✔️ запись примитивных значений полей сериализуемого экземпляра, начиная с полей самого верхнего суперкласса;
✔️ рекурсивную запись объектов, которые являются полями сериализуемого объекта.
При этом ранее сериализованные объекты повторно не сериализуются, что позволяет алгоритму корректно работать с циклическими ссылками.
Для выполнения десериализации под объект выделяется память, после чего его поля заполняются значениями из потока. Конструктор объекта при этом не вызывается. Однако при десериализации будет вызван конструктор без параметров родительского несериализуемого класса, а его отсутствие повлечёт ошибку десериализации.
✔️ запись в поток метаданных о классе, ассоциированном с объектом (имя класса, идентификатор SerialVersionUID, идентификаторы полей класса);
✔️ рекурсивную запись в поток описания суперклассов до класса java.lang.Object (не включительно);
✔️ запись примитивных значений полей сериализуемого экземпляра, начиная с полей самого верхнего суперкласса;
✔️ рекурсивную запись объектов, которые являются полями сериализуемого объекта.
При этом ранее сериализованные объекты повторно не сериализуются, что позволяет алгоритму корректно работать с циклическими ссылками.
Для выполнения десериализации под объект выделяется память, после чего его поля заполняются значениями из потока. Конструктор объекта при этом не вызывается. Однако при десериализации будет вызван конструктор без параметров родительского несериализуемого класса, а его отсутствие повлечёт ошибку десериализации.
Как войти в айти и получить первый проект уже через полгода?
KYNN поможет. Индивидуальный подход, обучение с ментором, карьерный трекер и практика на реальных проектах 😎
Почему KYNN?
• Развитие карьеры "под ключ" — освоишь востребованные технологии, подготовишься к собеседованию и получишь первый проект
• Опытные менторы, занимающие ведущие позиции в топовых IT-компаниях, помогут освоить профессию
• Карьерный трекер KYNN расставит дедлайны, чтобы отслеживать прогресс в реальном времени
👇🏻 Узнать подробности и записаться на первую консультацию
KYNN.ru
KYNN поможет. Индивидуальный подход, обучение с ментором, карьерный трекер и практика на реальных проектах 😎
Почему KYNN?
• Развитие карьеры "под ключ" — освоишь востребованные технологии, подготовишься к собеседованию и получишь первый проект
• Опытные менторы, занимающие ведущие позиции в топовых IT-компаниях, помогут освоить профессию
• Карьерный трекер KYNN расставит дедлайны, чтобы отслеживать прогресс в реальном времени
👇🏻 Узнать подробности и записаться на первую консультацию
KYNN.ru
#вопросы_с_собеседований
Что такое «система управления базами данных»?
Что такое «система управления базами данных»?
Система управления базами данных (
Основные функции
• управление данными
• журнализация изменений данных
• резервное копирование и восстановление данных;
• поддержка языка определения данных и манипулирования ими.
СУБД
) - набор средств общего или специального назначения, обеспечивающий создание, доступ к материалам и управление базой данных.Основные функции
СУБД
:• управление данными
• журнализация изменений данных
• резервное копирование и восстановление данных;
• поддержка языка определения данных и манипулирования ими.
#вопросы_с_собеседований
Какие побитовые операции вы знаете?
Какие побитовые операции вы знаете?
~ : Побитовый унарный оператор NOT;
& : Побитовый AND;
&= : Побитовый AND с присваиванием;
| : Побитовый OR;
|= : Побитовый OR с присваиванием;
^: Побитовый исключающее XOR;
^= : Побитовый исключающее XOR с присваиванием;
>> : Сдвиг вправо (деление на 2 в степени сдвига);
>>= : Сдвиг вправо с присваиванием;
>>> : Сдвиг вправо без учёта знака;
>>>= : Сдвиг вправо без учёта знака с присваиванием;
<< : Сдвиг влево (умножение на 2 в степени сдвига);
<<= : Сдвиг влево с присваиванием.
& : Побитовый AND;
&= : Побитовый AND с присваиванием;
| : Побитовый OR;
|= : Побитовый OR с присваиванием;
^: Побитовый исключающее XOR;
^= : Побитовый исключающее XOR с присваиванием;
>> : Сдвиг вправо (деление на 2 в степени сдвига);
>>= : Сдвиг вправо с присваиванием;
>>> : Сдвиг вправо без учёта знака;
>>>= : Сдвиг вправо без учёта знака с присваиванием;
<< : Сдвиг влево (умножение на 2 в степени сдвига);
<<= : Сдвиг влево с присваиванием.
#вопросы_с_собеседований
Какие существуют типы связей в базе данных? Приведите примеры.
Какие существуют типы связей в базе данных? Приведите примеры.