50+ вопросов для собеседования по Java для программистов

Java
50+ вопросов для собеседования по Java для программистов

Всем привет! В последнее время я делился множеством вопросов и дискуссий по 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

(Пожалуйста, не перепечатывайте без разрешения)