fa
Feedback
Библиотека собеса по Java | вопросы с собеседований

Библиотека собеса по Java | вопросы с собеседований

رفتن به کانال در Telegram

Вопросы с собеседований по Java и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/08c603b6 Для обратной связи: @proglibrary_feeedback_bot

نمایش بیشتر
6 486
مشترکین
-524 ساعت
+47 روز
+1130 روز
آرشیو پست ها
Правда ли, что примитивные типы данных всегда хранятся в стеке, а экземпляры ссылочных типов данных — в куче? Нет. Примитивные поля экземпляра класса хранятся не в стеке, а в куче, а любой объект (всё, что создаётся при помощи оператора new) хранится в куче.

Что будет, если в static блоке кода возникнет исключение? Если в static блоке кода возникнет исключение, то это приведет к ошибке инициализации класса. Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс. Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям. Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.

Как определить, содержит ли массив определенное значение в Java с помощью потоков? Чтобы проверить, содержит ли массив значен
Как определить, содержит ли массив определенное значение в Java с помощью потоков? Чтобы проверить, содержит ли массив значений int, double или long значение, используйте IntStream, DoubleStream или LongStream соответственно.

Где разрешена инициализация статических/нестатических полей? ☕ Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации. ☕ Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.

Дайте краткую характеристику Enum в Java Enum — перечисление, набор строковых констант, объединенных общим типом. Объявляется
Дайте краткую характеристику Enum в Java Enum — перечисление, набор строковых констант, объединенных общим типом. Объявляется через ключевое слово — enum. Вот пример с enum — допустимые роли в некоторой школе (см картинку). Слова, написанные большими буквами, и есть те самые константы перечисления, которые объявляются упрощенно, без использования оператора new. Использование перечислений заметно упрощает жизнь, так как они помогают избежать ошибок и путаницы в наименованиях (так как может быть только определенный перечень значений).

Что делает метод intern() в классе String? Метод intern() используется для сохранения строки в пуле строк или получения ссылки, если такая строка уже находится в пуле.

Что такое «fail-fast поведение»? fail-fast поведение означает, что при возникновении ошибки или состояния, которое может привести к ошибке, система немедленно прекращает дальнейшую работу и уведомляет об этом. Использование fail-fast подхода позволяет избежать недетерминированного поведения программы в течение времени. В Java Collections API некоторые итераторы ведут себя как fail-fast и выбрасывают ConcurrentModificationException, если после его создания была произведена модификация коллекции, т.е. добавлен или удален элемент напрямую из коллекции, а не используя методы итератора. Реализация такого поведения осуществляется за счет подсчета количества модификаций коллекции (modification count): • при изменении коллекции счетчик модификаций так же изменяется; • при создании итератора ему передается текущее значение счетчика; • при каждом обращении к итератору сохраненное значение счетчика сравнивается с текущим, и, если они не совпадают, возникает исключение.

В чем разница между sleep() и wait(), notify() и notifyAll() методами? Метод sleep() заставляет поток "заснуть" на определенное время (указывается в миллисекундах), после чего поток продолжит свою работу. Метод wait() освобождает монитор, занятый потоком, так что другие потоки могут использовать указанный блок кода и поток переходит в состояние waiting — поток будет ждать вызова метода notify() или notifyAll() другим потоком. Разница между notify() и notifyAll() в том, что notify() "высвободит" один поток (какой именно определить нельзя), а notifyAll() "освободит" все потоки из состояния waiting в состояние running.

Что такое маркерный интерфейс? Каковы известные примеры таких интерфейсов в Java? Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие: ☕ Serializable используется для явного указания того, что этот класс может быть сериализован; ☕ Cloneable позволяет клонировать объекты с помощью метода clone (без интерфейса Cloneable этот метод выдает исключение CloneNotSupportedException); ☕ Remote используется в RMI для указания интерфейса, методы которого можно вызывать удаленно.

Сколько различных типов конструкторов существует в Java? В Java есть 2 типа конструкторов: 1) Конструктор по умолчанию — не принимает никаких параметров. 2) Параметризованный конструктор — принимает как минимум один параметр.

Почему хранить пароль предпочтительнее в char[]/byte[], а не в String? ☕ Строка в виде литерала сразу раскрывает пароль, плюс она всегда хранится в string-пуле. ☕ byte[]/char[] возможно сбросить после использования, и удалить все ссылки на него.

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемыJava Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие профильные каналы Библиотека фронтендера Библиотека шарписта Библиотека мобильного разработчика Библиотека хакера Библиотека питониста Библиотека devops’a Библиотека тестировщика Библиотека пхпшника 💼Каналы с вакансиями Вакансии по питону, Django, Flask Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel Вакансии по DevOps & SRE Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Можно ли указывать конструктор внутри Enum? Да, конечно. Именно через конструктор и задаются значения внутренних переменных e
Можно ли указывать конструктор внутри Enum? Да, конечно. Именно через конструктор и задаются значения внутренних переменных enum. В качестве примера добавим два поля — ageFrom и ageTo — чтобы обозначить возрастные рамки для каждой роли.

Какая проблема возникнет с этим кодом? Ответ: Данный код не с компилируется. Этот вопрос на знание иерархии исключений, в дан
Какая проблема возникнет с этим кодом? Ответ: Данный код не с компилируется. Этот вопрос на знание иерархии исключений, в данном случае FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения и в следующий блок catch управление не будет передано.

Что такое стек-трейс? Стек-трейс (stack trace) представляет собой список вызовов методов в обратном хронологическом порядке,
Что такое стек-трейс? Стек-трейс (stack trace) представляет собой список вызовов методов в обратном хронологическом порядке, начиная с метода, в котором произошло исключение. Стек-трейс позволяет отследить, какие методы были вызваны перед возникновением исключения, и предоставляет информацию о местоположении, где произошло исключение.

Почему в некоторых интерфейсах вообще не определяют методов? Это так называемые маркерные интерфейсы. Они просто указывают, что класс относится к определенному типу. Примером может послужить интерфейс Clonable, который указывает на то, что класс поддерживает механизм клонирования.

Что такое исключение? Какой пакет содержит все определения классов исключений в Java? Исключения (Exceptions) — это нештатные ситуации, возникающие во время выполнения программы. Они могут произойти в результате неправильного ввода пользователем или неправильной логики кодера. Пакет java.lang.Exception содержит все определения классов исключений в Java.

Можно ли перегружать метод main() в Java? Да, метод main() может быть перегружен, но JVM или виртуальная машина Java вызывает только исходный метод main().

Каким образом реализованы методы hashCode() и equals() в классе Object? Реализация метода Object.equals() сводится к проверке на равенство двух ссылок: public boolean equals(Object obj) { return (this == obj); } Реализация метода Object.hashCode() описана как native, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти: public native int hashCode();