赞
踩
最近感慨面试难的人越来越多了,一方面是市场环境,更重要的一方面是企业对Java的人才要求越来越高了。
基本上这样感慨的分为两类人,第一,虽然挂着3、5年经验,但肚子里货少,也没啥拿得出手的项目,自己还意识不到问题;第二,自身有技术追求,但欠点儿火候,多练习多吸收知识,锤炼一下问题不大。
说实话,从打算跳槽到准备简历再到初期面试,很多人其实都处于“心虚”的状态。
你回忆一下,是不是盯着简历上的“了解、熟悉、掌握、精通”这几个词都得琢磨好久?写了精通吧,又开始担心面试官超岗发挥。要是问我Redis,五大结构我行,底层编码方式我都忘差不多了……
所以为了避免以上这些问题,小编也是把2022年所有的面试题都做了一个归纳总结,但凡有些面试经验的都能够更好的面试和复习,这样也是为了明年的职业规划做打算了,希望对你们有帮助。
1、访问修饰符 public,private,protected,以及不写(默认)时的区别?
2、String 是最基本的数据类型吗?
3、float f=3.4;是否正确?
4、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
5、Java 有没有 goto?
6、int 和 Integer 有什么区别?
7、&和&&的区别?
8、解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。
9、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
10、switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?
11、用最有效率的方法计算 2 乘以 8?
12、数组有没有 length()方法?String 有没有 length()方法?
13、在 Java 中,如何跳出当前的多重嵌套循环?
14、构造器(constructor)是否可被重写(override)?
15、两个对象值相同(x.equals(y) == true),但却可有不同的 hashcode,这句话对不对?
16、是否可以继承 String 类?
17、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
18、String 和 StringBuilder、StringBuffer 的区别?
19、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
20、描述一下 JVM 加载 class 文件的原理机制?
21、char 型变量中能不能存贮一个中文汉字,为什么?
22、抽象类(abstract class)和接口(interface)有什么异同?
23、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
24、Java 中会存在内存泄漏吗,请简单描述。
25、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized 修饰?
26、阐述静态变量和实例变量的区别。
27、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
28、如何实现对象克隆?
29、GC 是什么?为什么要有 GC?
30、String s = new String(“xyz”);创建了几个字符串对象?
31、 接 口 是 否 可 继 承 ( extends ) 接 口 ? 抽 象 类 是 否 可 实 现(implements)接口?抽象类是否可继承具体类(concrete class)?
32、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
33、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
34、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
35、Java 中的 final 关键字有哪些用法?
36、指出下面程序的运行结果
37、数据类型之间的转换:
38、如何实现字符串的反转及替换?
39、怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?
40、日期和时间:
41、打印昨天的当前时刻。
42、比较一下 Java 和 JavaSciprt。
43、什么时候用断言(assert)?
44、Error 和 Exception 有什么区别?
45、try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally{}里的代码会不会被执行,什么时候被执行,在 return 前还是后?
46、Java 语言如何进行异常处理,关键字:throws、throw
47、运行时异常与受检异常有何异同?
48、列出一些你常见的运行时异常?
49、阐述 final、finally
50、类 ExampleA 继承 Exception,类 ExampleB 继承 ExampleA。
51、Collection 和 Collections 的区别?
52、TreeMap 和 TreeSet 在排序时如何比较元素?Collections 工具类中的 sort()方法如何比较元素?
53、Thread 类的 sleep()方法和对象的 wait()方法都可以让线程暂停执行,它们有什么区别?
54、线程的 sleep()方法和 yield()方法有什么区别?
55、当一个线程进入一个对象的 synchronized 方法 A 之后,其它线程是否可进入此对象 synchronized 方法 B?
56、请说出与线程同步以及线程调度相关的方法。
57、编写多线程程序有几种实现方式?
58、synchronized 关键字的用法?
59、举例说明同步和异步。
60、启动一个线程是调用 run()还是 start()方法?
61、什么是线程池(thread pool)?
62、线程的基本状态以及状态之间的关系?
63、简述 synchronized 和
java.util.concurrent.locks.Lock 的异同?
64、Java 中如何实现序列化,有什么意义?
65、Java 中有几种类型的流?
66、写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
67、如何用 Java 代码列出一个目录下所有的文件?
68、用 Java 的套接字编程实现一个多线程的回显(echo)服务器。
69、XML 文档定义有几种形式?它们之间有何本质区别?解析 XML文档有哪几种方式?
70、你在项目中哪些地方用到了 XML?
71、阐述 JDBC 操作数据库的步骤。
72、Statement 和 PreparedStatement 有什么区别?哪个性能更好?
73、使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?
74、在进行数据库编程时,连接池有什么作用?
75、什么是 DAO 模式?
76、事务的 ACID 是指什么?
77、JDBC 能否处理 Blob 和 Clob?
78、简述正则表达式及其用途。
79、Java 中是如何支持正则表达式操作的?
80、获得一个类的类对象有哪些方式?
81、如何通过反射调用对象的方法?
82、简述一下你了解的设计模式。
83、用 Java 写一个单例类。
84、什么是 UML?
85、UML 中有哪些常用的图?
86、用 Java 写一个折半查找。
87、Java 中能创建 volatile 数组吗?
88、volatile 能使得一个非原子操作变成原子操作吗?
89、volatile 修饰符的有过什么实践?
90、volatile 类型变量提供什么保证?
91、10 个线程和 2 个线程的同步代码,哪个更容易写?
92、你是如何调用 wait()方法的?使用 if 块还是循环?为什么?
93、什么是 Busy spin?我们为什么要使用它?
94、Java 中怎么获取一份线程 dump 文件?
95、Swing 是线程安全的?
96、什么是线程局部变量?
97、用 wait-notify 写一段代码来解决生产者-消费者问题?
98、用 Java 写一个线程安全的单例模式(Singleton)?
99、Java 中 sleep 方法和 wait 方法的区别?
100、什么是不可变对象(immutable object)?Java 中怎么创建一个不可变对象?
101、我们能创建一个包含可变对象的不可变对象吗?
102、Java 中应该使用什么数据类型来代表价格?
103、怎么将 byte 转换为 String?
104、Java 中怎样将 bytes 转换为 long 类型?
105、我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于byte 类型的范围,将会出现什么现象?
106、存在两个类,B 继承 A ,C 继承 B,我们能将 B 转换为 C 么?如 C = (C) B;
107、哪个类包含 clone 方法?是 Cloneable 还是 Object?
108、Java 中 ++ 操作符是线程安全的吗?
109、不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存储回内存,这个过程可能会出现多个线程交差。
110、a = a + b 与 a += b 的区别
111、我能在不进行强制转换的情况下将一个 double 值赋值给 long类型的变量吗?
112、3*0.1 == 0.3 将会返回什么?true 还是 false?
113、int 和 Integer 哪个会占用更多的内存?
114、为什么 Java 中的 String 是不可变的(Immutable)?
115、64 位 JVM 中,int 的长度是多数?
116、Serial 与 Parallel GC 之间的不同之处?
117、32 位和 64 位的 JVM,int 类型变量的长度是多数?
118、Java 中 WeakReference 与 SoftReference 的区别?
119、WeakHashMap 是怎么工作的?
120、JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用?
121、怎样通过 Java 程序来判断 JVM 是 32 位 还是 64 位?
122、32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?
123、解释 Java 堆空间及 GC?
124、你能保证 GC 执行吗?
125、怎么获取 Java 程序使用的内存?堆使用的百分比?
126、Java 中堆和栈有什么区别?
127、“a==b”和”a.equals(b)”有什么区别?
128、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?
129、final、finalize 和 finally 的不同之处?
130、Java 中的编译期常量是什么?使用它又什么风险?
131、poll() 方法和 remove() 方法的区别?
132、Java 中 LinkedHashMap 和 PriorityQueue 的区别是什么?
133、ArrayList 与 LinkedList 的不区别?
134、用哪两种方式来实现集合的排序?
135、Java 中怎么打印数组?
136、Java 中的 LinkedList 是单向链表还是双向链表?
137、Java 中的 TreeMap 是采用什么树实现的?(答案)
138、Hashtable 与 HashMap 有什么不同之处?
139、Java 中的 HashSet,内部是如何工作的?
140、写一段代码在遍历 ArrayList 时移除一个元素?
141、我们能自己写一个容器类,然后使用 for-each 循环码?
142、ArrayList 和 HashMap 的默认大小是多数?
143、有没有可能两个不相等的对象有有相同的 hashcode?
144、两个相同的对象会有不同的的 hash code 吗?
145、我们可以在 hashcode() 中使用随机数字吗?
146、Java 中,Comparator 与 Comparable 有什么不同?
147、在我 Java 程序中,我有三个 socket,我需要多少个线程来处理?
148、Java 中怎么创建 ByteBuffer?
149、Java 中,怎么读写 ByteBuffer ?
150、Java 采用的是大端还是小端?
151、ByteBuffer 中的字节序是什么?
152、Java 中,直接缓冲区与非直接缓冲器有什么区别?
153、Java 中的内存映射缓存区是什么?
154、socket 选项 TCP NO D
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。