Всем привет! В последнее время я делился множеством вопросов и дискуссий по Java, и многие из моих читателей просили сгруппировать их вместе, чтобы они могли разместить их на одной странице и быть готовыми, и этот пост является результатом этого.
Эта статья содержит50+ вопросов для собеседования по Java,Охватывает все важные темы, такие как основные основы Java,Платформа коллекций Java,Многопоточность и параллелизм в Java,Java IO,JDBC,Ядро JVM,проблема с кодировкой,Объектно-ориентированное программированиеЖдать.
С этими вопросами также можно столкнуться во время различных интервью, но это определенно не очень сложные вопросы, с которыми вы могли столкнуться в телефонном или личном интервью.
Эти вопросы также отлично подходят для обзора важных тем, таких как многопоточность и коллекции, поскольку я также делюсь некоторыми полезными ресурсами для дальнейшего обучения и совершенствования, такими какПолный мастер-класс по Java,Восполнить пробелы в знаниях Java.
Итак, вот список некоторых распространенных вопросов по Java для начинающих и опытных разработчиков Java от 2 до 5 лет:
Вопросы и ответы на собеседовании по Java
1) Как Java достигает независимости от платформы?
Отвечать:(Woohoo.java67.com/2012/08/how…)
Подсказка: Байт-код и виртуальная машина Java
2) Что такое Java ClassLoader?
Отвечать:(Java revisited.blogspot.is/2012/12/how…)
Подсказка: часть JVM, которая загружает байт-код класса. Вы можете написать это сами.
3) Напишите программу на Java, чтобы определить, является ли число четным или нечетным?
Отвечать:(Java revisited.blogspot.is /2013/04/как…)
Совет: Вы можете использовать побитовые операторы, такие как побитовое И &, помните, что четные числа имеют 0 в конце в двоичном формате, а нечетные числа имеют 1 в конце.
4)Разница между Java ArrayList и HashSet?
Отвечать:(woohoo.java67.com/2012/07/где…)
Совет: здесь применимы все различия между List и Set, такие как сортировка, повторение, случайный поиск и т. д.
5) Одноэлементный шаблонЧто такое двойная регистрация?
Отвечать:(woohoo.java67.com/2016/04/почему…)
Подсказка: проверьте дважды, инициализирован ли экземпляр, первый раз без блокировки и второй раз с блокировкой.
6)Как создать потокобезопасный синглтон в Java?
Отвечать:(Java revisited.blogspot.is/2012/12/how…)
Подсказка: много способов, таких как использование Enum или использование режима блокировки с двойной проверкой или использование вложенных статических классов.
7)Когда использовать volatile переменные в Java?
Отвечать:(Woohoo.java67.com/2012/08/Я... ) подсказка: когда необходимо указать JVM, что переменная может быть изменена несколькими потоками, и предложить JVM не кэшировать ее значение.
8)Когда использовать переходную переменную в Java?
Отвечать:(Woohoo.java67.com/2012/08/Я... )
Совет: если вы хотите создать несериализуемую переменную в классе, реализующем интерфейс Serializable. Другими словами, вы можете использовать его для переменных, значения которых вы не хотите сохранять. видетьThe Complete Java MasterClassчтобы понять переходные переменные в Java.
9)Разница между переходной переменной и изменчивой переменной в Java?
Отвечать:(woohoo.java67.com/2012/11/где…)
Подсказка: совершенно разные, один для сериализации и один для параллелизма.
10)Разница между Serializable и Externalizable в Java?
Отвечать:(woohoo.java67.com/2012/10/где…)
Совет: Externalizable дает вам больше контроля над процессом сериализации.
11)Можем ли мы переопределить частные методы в Java?
Отвечать:(Woohoo.java67.com/2013/08/miserable…)
Подсказка: нет, потому что он не виден в подклассах, что является основным требованием для переопределения методов в Java.
12)Разница между Java Hashtable и HashMap?
Отвечать:(Java revisited.blogspot.is /2010/10/ место…)
Подсказка: самое главное, что Hashtable является синхронным, а HashMap — нет. Это также традиционный и медленный HashMap по сравнению с ним.
13)Разница между списком Java и набором?
Отвечать:(Java revisited.blogspot. — это /2012/04/ место…)
Совет: Список допускает дублирование. Наборы неупорядочены и не допускают дублирования элементов.
14) Разница между Java ArrayList и Vector
Отвечать:(Woohoo. Java67.com/2012/09/ ахххххххххххххх…)
Подсказка: много, но самое главное ArrayList — асинхронный и быстрый, Vector — синхронный и медленный. Это также традиционный класс, такой как Hashtable.
15) Разница между Java Hashtable и ConcurrentHashMap?
Отвечать:(Java revisited.blogspot.is /2011/04/ место…)
Совет: более масштабируемый
16)Как ConcurrentHashMap обеспечивает масштабируемость?
Отвечать:(Java revisited.blogspot./2017/08/top…)
Подсказка: путем разделения карты на сегменты и блокировки только во время операций записи.
17)Какие два метода нужно переопределить, чтобы объект использовался в качестве ключа HashMap?
Отвечать:(woohoo.java67.com/2013/06/как…)
Подсказка: равно и хэш-код
18) В чем разница между ожиданием и сном в Java?
Отвечать:(Woohoo.java67.com/2012/08/Я... )
Подсказка: метод wait() снимает блокировку или монитор, а метод sleep — нет.
19) Разница между уведомлениями Java и notifyAll?
Отвечать:(woohoo.java67.com/2013/03/где…)
Совет: notify уведомляет случайный поток, ожидающий блокировки, а notifyAll уведомляет все ожидающие потоки. Если вы уверены, что ожидает только один поток, используйте notify, в противном случае лучше использовать notifyAll. видетьThreading Essentials Mini-CourseДополнительная информация об основах многопоточности от Java Champion Хайнца Кабуца.
20) Зачем переопределять хеш-код в Java вместе с equals()?
Отвечать:(Java revisited.blogspot.is/2015/01/почему…)
Совет: Чтобы соответствовать соглашениям о равенстве и хэш-коде, это необходимо, если вы храните объекты в классах коллекций, таких как HashMap или ArrayList.
21) Что означает коэффициент загрузки HashMap?
Отвечать:(Вуху. Java67.com/2017/08/top…)
Подсказка: пороговое значение для запуска изменения размера, HashMap обычно составляет 0,75, что означает, что если HashMap достигает 75% хранилища, он сам изменит размер.
22) Разница между Java ArrayList и LinkedList?
Отвечать:(woohoo.java67.com/2012/12/где…)
Подсказка: как и в случае с массивами и связанными списками, один допускает случайный поиск, а другой — нет. Вставки и удаления проще выполнять в связанных списках, но их легко запрашивать в массивах. видетьОсновы Java: коллекцииКурс Ричарда Уорбертона по Pluralsight, чтобы узнать больше об основных структурах данных Collection в Java.
23) Разница между Java CountDownLatch и CyclicBarrier?
Отвечать:(woohoo.java67.com/2012/08/где…)
Подсказка: вы можете повторно использовать CyclicBarrier после того, как он сломается, но CountDownLatch нельзя использовать повторно после того, как счетчик достигнет нуля.
24) Когда использовать Runnable или Thread в Java?
Отвечать:(woohoo.java67.com/2016/01/7-из…)
Подсказка: навсегда
25) Что означает безопасность типов Enum в Java?
Отвечать:(woohoo.java67.com/2014/04/Я ха…)
Подсказка: это означает, что вы не можете назначать экземпляры разных типов перечисления переменным перечисления. Например, если у вас есть такие переменные, как DayOfWeek, то вы не можете присваивать значения с помощью перечисления DayOfMonth.
26)Как реализовать автоупаковку Integer в Java?
Отвечать:(Повторное посещение Java.blogspot.is/2012/07/AUT…)
Совет: используйте метод valueOf()
27)Разница между PATH и Classpath в Java?
Отвечать:(Woohoo.java67.com/2012/08/Я... )
Совет: PATH используется операционной системой, а Classpath используется JVM для поиска двоичных файлов Java (таких как файлы JAR или файлы классов).). ВидетьJava Fundamentals: The Core PlatformУзнайте больше о PATH, Classpath и других переменных среды Java.
28)Разница между перегрузкой метода и переопределением в Java?
Отвечать:(Вуху. Java67.com/2015/08/top…)
Подсказка: переопределение происходит в подклассах, а перегрузка происходит в том же классе. Кроме того, переопределение — это действие во время выполнения, тогда как перегрузка разрешается во время компиляции.
29)Как предотвратить наследование класса в Java?
Отвечать:(woohoo.java67.com/2017/06/10-…) Совет: окончательный измененный класс
30)Как вы ограничиваете использование вашего класса клиентами?
Отвечать:(Java revisited.blogspot.was/2016/01/почему…)
Совет. Сделайте конструктор закрытым или создайте исключение из конструктора.
31)Разница между Java StringBuilder и StringBuffer?
Отвечать:(woohoo.java67.com/2016/10/5-…)
Подсказка: StringBuilder не синхронизируется, а StringBuffer синхронизируется.
32)Разница между полиморфизмом и наследованием в Java?
Отвечать:(woohoo.java67.com/2014/04/где…)
Совет: Наследование позволяет повторно использовать код и строить отношения между классами, что необходимо для полиморфизма, обеспечивающего динамическое поведение. видетьJava Fundamentals: Object-Oriented Design
чтобы узнать больше о возможностях ООП.
33)Можем ли мы переопределить статические методы в Java?
Отвечать:(Woohoo.java67.com/2012/08/miserable…)
Подсказка: нет, потому что переопределения разрешаются во время выполнения, а вызовы статических методов разрешаются во время компиляции.
34)Можем ли мы получить доступ к закрытым методам в Java?
Отвечать:(Woohoo.java67.com/2012/08/miserable…)
Подсказка: да, в том же классе, но не вне класса
35)Разница между интерфейсом и абстрактным классом в Java?
Отвечать:(woohoo.java67.com/2017/08/где…)
Подсказка: начиная с Java 8 различия неопределенны. Однако классы Java по-прежнему могут реализовывать несколько интерфейсов, но расширять только один класс.
36)Разница между парсером DOM и SAX в Java?
Отвечать:(Вуууу. Java67.com/2012/09/Дом…)
Подсказка: DOM загружает весь XML-файл в память, а SAX — нет. Это основанный на событиях синтаксический анализатор, который можно использовать для анализа больших файлов, но DOM работает быстро и его следует предпочесть для небольших файлов.
37)Разница между ключевыми словами throw и throws в Java?
Отвечать:(woohoo.java67.com/2012/10/где…)
Подсказка: throws объявляет исключение, которое метод может сгенерировать в случае ошибки, но ключевое слово throw на самом деле создает исключение. видетьОсновы Java: обработка исключенийузнать оОбработка исключений в JavaДополнительная информация.
38)Разница между отказоустойчивыми и отказоустойчивыми итераторами в Java?
Отвечать:(woohoo.java67.com/2015/06/Я ха…)
Совет: отказоустойчивость выдает исключение ConcurrentModificationException, когда они итеративно обнаруживают внешние изменения в базовой коллекции, отказоустойчивость этого не делает.
39)Разница между итератором и перечислением в Java?
Отвечать:(Java revisited.blogspot./2010/10/я…)
Совет: Iterator также позволяет удалять элементы во время итерации, тогда как Enumeration этого не позволяет.
40)Что такое IdentityHashMap в Java?
Отвечать:(woohoo.java67.com/2016/09/где…)
Подсказка: Карта, которая использует оператор равенства == для проверки равенства вместо метода equals().
41)Что такое пул строк в Java?
Отвечать:(Java revisited.blogspot.is /2016/07/ место…)
Подсказка: String пул строк. Он был перемещен из пространства perm gen в JDK 7 в кучу.
42)Может ли класс Serializable содержать несериализуемое поле в Java?
Отвечать:(Повторное посещение Java.blogspot.is/2016/09/how…)
Совет: да, но вам нужно установить его на статический или переходный.
43)Разница между этим и супер в Java?
Отвечать:(woohoo.java67.com/2013/06/где…)
Подсказка: this относится к текущему экземпляру, а super относится к экземпляру суперкласса.
44) Разница между Comparator и Comparable в Java?
Отвечать:(woohoo.java67.com/2013/08/где…)
Совет: Comparator определяет пользовательский порядок, а Comparable определяет естественный порядок объектов, например, алфавитный порядок String. СвязанныйИспользование JavaДополнительные сведения о сортировке см.The Complete Java MasterClass.
45)Разница между Java java.util.Date и java.sql.Date?
Отвечать:(Java revisited.blogspot. — это /2012/04/ место…)
Подсказка: первый содержит дату и время, последний содержит только часть даты.
46)Почему методы ожидания и уведомления объявлены в классе Object в Java?
Отвечать:(Java revisited.blogspot.was /2012/02/почему…)
Совет: В качестве замка может выступать любой объект.
47)Почему Java не поддерживает множественное наследование?
Отвечать:(Java revisited.blogspot.is/2011/07/почему…)
48) Разница между проверенными и непроверенными исключениями в Java?
Отвечать:(Java revisited.blogspot.is /2011/12/car…)
Подсказка: если это проверенное исключение, вы должны обработать исключение с помощью блока catch, а если оно не проверено, это зависит от вас; компиляция не предложит вам.
49)Разница между ошибками и исключениями в Java?
Отвечать:(woohoo.java67.com/2012/12/где…)
50) Разница между состоянием гонки и тупиком в Java?
Отвечать:(Java revisited.blogspot./2012/02/me ha…)
больше ресурсов
Java Interview Guide: 200+ Interview Questions and Answers
Spring Framework Interview Guide - 200+ Questions & Answers
Preparing For a Job Interview By John Sonmez
Java Programming Interview Exposed by Markham
Cracking the Coding Interview - 189 Questions and Answers
Data Structure and Algorithms Analysis for Job Interviews
130+ Java Interview Questions of Last 5 Years
Спасибо за чтение этой статьи! Если вам нравятся эти основные вопросы по Java, поделитесь ими со своими друзьями и коллегами. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, оставьте комментарий ниже.
Нажмите на оригинальную английскую ссылку
Для получения дополнительных статей, пожалуйста, посетите: http://www.apexyun.com
Общедоступный номер: Galaxy № 1
Контактный адрес электронной почты: public@space-explore.com
(Пожалуйста, не перепечатывайте без разрешения)