Java 面试题经典 77 问(含答案)!

简介: image推荐:成为架构师的十阶段学习资料金三银四了,3月底,4月初,找工作换单位的黄金时期。4月初将会有有一大批职场人士流动。。。作为Java开发码农的你是不是也在蠢蠢欲动,或者已经搞了几轮车轮战了?我们为大家准备了 77 道经典...
image

推荐:成为架构师的十阶段学习资料

金三银四了,3月底,4月初,找工作换单位的黄金时期。4月初将会有有一大批职场人士流动。。。

作为Java开发码农的你是不是也在蠢蠢欲动,或者已经搞了几轮车轮战了?

我们为大家准备了 77 道经典 Java 面试题,如果你面试不力,基础还不够强,那么你或许会受用!

1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

2、JDK和JRE的区别是什么?

3、static关键字是什么意思?Java中是否可以覆盖(override)一个private或者是 static的方法?

4、是否可以在static环境中访问非static变量?

5、Java支持的数据类型有哪些?什么是自动拆装箱?

6、Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

7、Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

8、Java支持多继承么?

9、接口和抽象类的区别是什么?

10、什么是值传递和引用传递?

11、进程和线程的区别是什么?

12、创建线程有几种不同的方式?你喜欢哪一种?为什么?

13、概括的解释下线程的几种可用状态。

14、同步方法和同步代码块的区别是什么?

15、什么是死锁(deadlock)?

16、如何确保N个线程可以访问N个资源同时又不导致死锁?

17、Java集合类框架的基本接口有哪些?

18、为什么集合类没有实现Cloneable和Serializable接口?

19、什么是迭代器(Iterator)?

20、Iterator和ListIterator的区别是什么?

21、快速失败(fail-­fast)和安全失败(fail-­safe)的区别是什么?

22、Java中的HashMap的工作原理是什么?

23、hashCode()和equals()方法的重要性体现在什么地方?

24.HashMap和Hashtable有什么区别?

25、数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是 ArrayList?

26、ArrayList和LinkedList有什么区别?

27、Comparable和Comparator接口是干什么的?列出它们的区别。

28、什么是Java优先级队列(Priority Queue)?

29、你了解大O符号(big-­O notation)么?你能给出不同数据结构的例子么?

30、如何权衡是使用无序的数组还是有序的数组?

31、Java集合类框架的最佳实践有哪些?

32、Enumeration接口和Iterator接口的区别有哪些?

33、HashSet和TreeSet有什么区别?

34、System.gc()和Runtime.gc()会做什么事情?

35、finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?

36、果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?

37、Java堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?

38、串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?

39、在Java中,对象什么时候可以被垃圾回收?

40、JVM的永久代中会发生垃圾回收么?

41、Java中的两种异常类型是什么?他们有什么区别?

42、Java中Exception和Error有什么区别?

43、throw和throws有什么区别?

44、异常处理完成以后,Exception对象会发生什么变化?

45、finally代码块和finalize()方法有什么区别?

46、什么是JDBC?

47、解释下驱动(Driver)在JDBC中的角色。

48、Class.forName()方法有什么作用?

49、PreparedStatement比Statement有什么优势?

50、什么时候使用CallableStatement?用来准备CallableStatement的方法是什么?

51、数据库连接池是什么意思?

52、什么是RMI?

53、什么是分布式垃圾回收(DGC)?它是如何工作的?

54、解释下Serialization和Deserialization。

55、什么是Servlet?

56、说一下Servlet的体系结构。

57、GenericServlet和HttpServlet有什么区别?

58、解释下Servlet的生命周期。

59、doGet()方法和doPost()方法有什么区别?

60、什么是服务端包含(Server Side Include)?

61、什么是Servlet链(Servlet Chaining)?

62、如何知道是哪一个客户端的机器正在请求你的Servlet?

63、HTTP响应的结构是怎么样的?

64、什么是cookie?session和cookie有什么区别?

65、浏览器和Servlet通信使用的是什么协议?

66、什么是HTTP隧道?

67、sendRedirect()和forward()方法有什么区别?

68、什么是URL编码和URL解码?

69、JSP请求是如何被处理的?

70、什么是JSP指令(Directive)?JSP中有哪些不同类型的指令?

71、什么是JSP动作(JSP action)?

72、隐含对象是什么意思?有哪些隐含对象?

73、面向对象软件开发的优点有哪些?

74、封装的定义和好处有哪些?

75、多态的定义?

76、继承的定义?

77、抽象的定义?抽象和封装的不同点?


推荐:Spring Boot & Cloud 最强技术教程

扫描关注我们的微信公众号,干货每天更新。

image

在以下公众号回复 "答案" 获取全部参考答案。

image
相关文章
|
2天前
|
存储 Java
面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
42 23
|
1天前
|
消息中间件 安全 前端开发
字节面试:说说Java中的锁机制?
Java 中的锁(Locking)机制主要是为了解决多线程环境下,对共享资源并发访问时的同步和互斥控制,以确保共享资源的安全访问。 锁的作用主要体现在以下几个方面: 1. **互斥访问**:确保在任何时刻,只有一个线程能够访问特定的资源或执行特定的代码段。这防止了多个线程同时修改同一资源导致的数据不一致问题。 2. **内存可见性**:通过锁的获取和释放,可以确保在锁保护的代码块中对共享变量的修改对其他线程可见。这是因为 Java 内存模型(JMM)规定,对锁的释放会把修改过的共享变量从线程的工作内存刷新到主内存中,而获取锁时会从主内存中读取最新的共享变量值。 3. **保证原子性**:锁
13 1
|
5天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
18 0
|
5天前
|
安全 Java 程序员
【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
11 0
|
7天前
|
Java
三个可能的Java面试题
【5月更文挑战第7天】Java垃圾回收机制自动管理内存,回收无引用对象的内存,确保内存有效利用。多态性允许父类引用操作不同子类对象,如Animal引用可调用Dog的方法。异常处理机制通过try-catch块捕获和处理程序异常,例如尝试执行可能导致ArithmeticException的代码,catch块则负责处理异常。
34 9
|
18天前
|
Java
【JAVA面试题】static的作用是什么?详细介绍
【JAVA面试题】static的作用是什么?详细介绍
|
18天前
|
Java
【JAVA面试题】final关键字的作用有哪些
【JAVA面试题】final关键字的作用有哪些
|
18天前
|
JavaScript 前端开发 Java
【JAVA面试题】什么是引用传递?什么是值传递?
【JAVA面试题】什么是引用传递?什么是值传递?
|
18天前
|
安全 Java
【JAVA面试题】什么是对象锁?什么是类锁?
【JAVA面试题】什么是对象锁?什么是类锁?
|
18天前
|
存储 自然语言处理 Java
【JAVA面试题】什么是代码单元?什么是码点?
【JAVA面试题】什么是代码单元?什么是码点?