1.Что вам больше всего нравится в работе Java-разработчика?
Честный ответ — это все, что мы тут можем порекомендовать. У каждого кандидата будут свои причины заниматься программированием, и интервьюер хочет узнать именно о вас и о том, что вас мотивирует.

Хотя это кажется прямым вопросом, целесообразно заранее обдумать свой ответ, чтобы вы могли четко сформулировать свой ответ.

2.Расскажите о том, как вы улучшили код. Что вы искали?
Интервьюер хочет получить представление о вашем базовом понимании работы над кодом и задает этот открытый вопрос, чтобы узнать, насколько уверенно вы можете говорить и объяснять, как вы работаете.

Ваш ответ может включать в себя то, как вы определяете некачественный код и отличите его от высококачественного, переходя к объяснению факторов, которые вы проверяете при оценке качества кодирования. Общие факторы включают:

Тестируемость;
Надежность;
Возможность понимания;
Возможность повторного использования;
Краткость.
Завершите свой ответ, рассказав, что делать, если ваши тесты выявляют некачественный код. Решениями могут быть применение иного стандарта кодирования, следование передовым практикам и рефакторинг унаследованного кода.

3.Как вы проверяете свой код?
Интервьюер оценивает ваш уровень базовых знаний в области кодирования.

Правильный ответ — использовать процессы разработки, основанные на тестировании, чтобы многократно подвергать код различным тестовым ситуациям на этапе разработки, а не сначала завершать кодирование, а затем тестировать.

4.Как написать пузырьковую сортировку? Какова его вычислительная сложность?
Пузырьковая сортировка (bubble sort) — это простой алгоритм (который часто преподают в основах информатики) для получения базовых знаний о сортировке. Этот вопрос оценивает, обладает ли кандидат базовыми знаниями, необходимыми для кодирования. Алгоритм пузырьковой сортировки идет по списку, сравнивая соседние элементы и меняя их местами, если они расположены в неправильном порядке. Его наихудший случай и средняя сложность — O (n2).

5.Что такое двоичное дерево? Как бы вы его создали?
Двоичное дерево — это структура данных, в которой каждый элемент или узел имеет не более двух дочерних элементов.

Дочерний элемент слева имеет такое же или меньшее значение, чем родительский. Дочерний элемент справа имеет такое же или большее значение, чем родительский. Для кодирования двоичного дерева требуется рекурсивный метод вставки, и ваш ответ должен охватывать вставку элементов, поиск элементов и удаление элементов.

Информация была взята из:https://hrlider.ru/posts/java-programming-interview/
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence