|
1 | 1 | ## Java面试强化测试题 |
2 | 2 |
|
3 | | -### Java基础 |
4 | | -1、集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap <br> |
5 | | -2、进程和线程的区别? <br> |
6 | | -3、Java的并发、多线程、线程模型? <br> |
7 | | -4、什么是线程池,如何使用? <br> |
8 | | -5、数据一致性如何保证? <br> |
9 | | -*注意点:* <br> |
10 | | -Synchronized关键字,类锁,方法锁,重入锁;<br> |
11 | | -6、Java中实现多态的机制是什么? <br> |
12 | | -7、如何将一个Java对象序列化到文件里? <br> |
13 | | -8、说说你对Java反射的理解? <br> |
14 | | -9、同步的方法;多进程开发以及多进程应用场景? <br> |
15 | | -10、在Java中wait和seelp方法的不同? <br> |
16 | | -*注意点:* <br> |
17 | | -最大的不同是在等待时wait 会释放锁,而sleep 一直持有锁。wait 通常被用于线程间交互,sleep 通常被用于暂停执行。 <br> |
18 | | -11、synchronized 和volatile 关键字的作用和区别? <br> |
19 | | -*注意点:* <br> |
20 | | -volatile 本质是在告诉jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; |
21 | | -synchronized 则是锁定当前变量,只有当前线程可以访问该变量, |
22 | | -其他线程被阻塞住。 <br> |
23 | | -(1).volatile 仅能使用在变量级别;synchronized 则可以使用在变量、方法、和类级别的 <br> |
24 | | -(2).volatile 仅能实现变量的修改可见性,并不能保证原子性;synchronized 则可以保证变量的修改可见性和原子性 <br> |
25 | | -(3).volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。 <br> |
26 | | -(4).volatile 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化 <br> |
27 | | -12、服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达? <br> |
28 | | -13、ThreadLocal原理,实现及如何保证Local属性? <br> |
29 | | -14、String StringBuilder StringBuffer对比? <br> |
30 | | -15、你所知道的设计模式有哪些? <br> |
31 | | -*注意点:* <br> |
32 | | -(Java 中一般认为有23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。 |
33 | | -需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。 <br> |
34 | | -总体来说设计模式分为三大类: <br> |
35 | | -创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 <br> |
36 | | -结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 <br> |
37 | | -行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 |
38 | | -) |
39 | | -16、Java如何调用c、c++语言? <br> |
40 | | -17、接口与回调;回调的原理;写一个回调demo; <br> |
41 | | -18、泛型原理,举例说明; <br> |
42 | | -*注意点:* <br> |
43 | | -解析与分派; <br> |
44 | | -19、抽象类与接口的区别;应用场景;抽象类是否可以没有方法和属性; <br> |
45 | | -20、静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? <br> |
46 | | -21、修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法? <br> |
47 | | -22、说说你对泛型的了解? <br> |
48 | | -23、Java的异常体系? <br> |
49 | | -24、如何控制某个方法允许并发访问线程的个数? <br> |
50 | | -25、动态代理的区别,什么场景使用? <br> |
51 | | -26、Dex加载过程和优化方式? <br> |
52 | | -27、Jvm和Gc机制? <br> |
53 | | - |
54 | | -### 叙述下令你印象最深刻的项目; |
55 | | -*注意点:* <br> |
56 | | -1、明确项目是做什么的 <br> |
57 | | -2、明确项目的价值。 |
58 | | -*注意点:* <br> |
59 | | -(为什么做这个项目,它解决了用户什么痛点,它带来什么价值?) <br> |
60 | | -3、明确项目的功能。 |
61 | | -*注意点:* <br> |
62 | | -(这个项目涉及哪些功能?) <br> |
63 | | -4、明确项目的技术。 |
64 | | -*注意点:* <br> |
65 | | -(这个项目用到哪些技术?) <br> |
66 | | -5、明确个人在项目中的位置和作用。 |
67 | | -*注意点:* <br> |
68 | | -(你在这个项目的承担角色?) <br> |
69 | | -6、明确项目的整体架构。 <br> |
70 | | -7、明确项目的优缺点,如果重新设计你会如何设计。 <br> |
71 | | -8、明确项目的亮点。 |
72 | | -*注意点:* <br> |
73 | | -(这个项目有什么亮点?) <br> |
74 | | -9、明确技术成长。 |
75 | | -*注意点:* <br> |
76 | | -(你通过这个项目有哪些技术成长?) |
77 | | - |
78 | 3 | ### Java基础 |
79 | 4 | 1、List 和 Set 的区别? <br> |
80 | 5 | 2、HashSet 是如何保证不重复的? <br> |
@@ -194,13 +119,86 @@ synchronized 则是锁定当前变量,只有当前线程可以访问该变量 |
194 | 119 | 7、类的实例化顺序? <br> |
195 | 120 | 8、JVM垃圾回收机制,何时触发MinorGC等操作? <br> |
196 | 121 | 9、JVM 中一次完整的 GC 流程(从 ygc 到 fgc)是怎样的? <br> |
197 | | -10、各种回收器,各自优缺点? |
| 122 | +10、各种回收器,各自优缺点? <br> |
198 | 123 | *注意点:* <br> |
199 | 124 | 重点CMS、G1 <br> |
200 | 125 | 11、各种回收算法? <br> |
201 | 126 | 12、说下OOM错误,stackoverflow错误,permgen space错误? <br> |
202 | 127 |
|
| 128 | +### Java基础综合 |
| 129 | +1、集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap <br> |
| 130 | +2、进程和线程的区别? <br> |
| 131 | +3、Java的并发、多线程、线程模型? <br> |
| 132 | +4、什么是线程池,如何使用? <br> |
| 133 | +5、数据一致性如何保证? <br> |
| 134 | +*注意点:* <br> |
| 135 | +Synchronized关键字,类锁,方法锁,重入锁;<br> |
| 136 | +6、Java中实现多态的机制是什么? <br> |
| 137 | +7、如何将一个Java对象序列化到文件里? <br> |
| 138 | +8、说说你对Java反射的理解? <br> |
| 139 | +9、同步的方法;多进程开发以及多进程应用场景? <br> |
| 140 | +10、在Java中wait和seelp方法的不同? <br> |
| 141 | +*注意点:* <br> |
| 142 | +最大的不同是在等待时wait 会释放锁,而sleep 一直持有锁。wait 通常被用于线程间交互,sleep 通常被用于暂停执行。 <br> |
| 143 | +11、synchronized 和volatile 关键字的作用和区别? <br> |
| 144 | +*注意点:* <br> |
| 145 | +volatile 本质是在告诉jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; |
| 146 | +synchronized 则是锁定当前变量,只有当前线程可以访问该变量, |
| 147 | +其他线程被阻塞住。 <br> |
| 148 | +(1).volatile 仅能使用在变量级别;synchronized 则可以使用在变量、方法、和类级别的 <br> |
| 149 | +(2).volatile 仅能实现变量的修改可见性,并不能保证原子性;synchronized 则可以保证变量的修改可见性和原子性 <br> |
| 150 | +(3).volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。 <br> |
| 151 | +(4).volatile 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化 <br> |
| 152 | +12、服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达? <br> |
| 153 | +13、ThreadLocal原理,实现及如何保证Local属性? <br> |
| 154 | +14、String StringBuilder StringBuffer对比? <br> |
| 155 | +15、你所知道的设计模式有哪些? <br> |
| 156 | +*注意点:* <br> |
| 157 | +(Java 中一般认为有23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。 |
| 158 | +需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。 <br> |
| 159 | +总体来说设计模式分为三大类: <br> |
| 160 | +创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 <br> |
| 161 | +结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 <br> |
| 162 | +行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 |
| 163 | +) |
| 164 | +16、Java如何调用c、c++语言? <br> |
| 165 | +17、接口与回调;回调的原理;写一个回调demo; <br> |
| 166 | +18、泛型原理,举例说明; <br> |
| 167 | +*注意点:* <br> |
| 168 | +解析与分派; <br> |
| 169 | +19、抽象类与接口的区别;应用场景;抽象类是否可以没有方法和属性; <br> |
| 170 | +20、静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? <br> |
| 171 | +21、修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法? <br> |
| 172 | +22、说说你对泛型的了解? <br> |
| 173 | +23、Java的异常体系? <br> |
| 174 | +24、如何控制某个方法允许并发访问线程的个数? <br> |
| 175 | +25、动态代理的区别,什么场景使用? <br> |
| 176 | +26、Dex加载过程和优化方式? <br> |
| 177 | +27、Jvm和Gc机制? <br> |
203 | 178 |
|
| 179 | +### 叙述下令你印象最深刻的项目; |
| 180 | +*注意点:* <br> |
| 181 | +1、明确项目是做什么的 <br> |
| 182 | +2、明确项目的价值。 |
| 183 | +*注意点:* <br> |
| 184 | +(为什么做这个项目,它解决了用户什么痛点,它带来什么价值?) <br> |
| 185 | +3、明确项目的功能。 |
| 186 | +*注意点:* <br> |
| 187 | +(这个项目涉及哪些功能?) <br> |
| 188 | +4、明确项目的技术。 |
| 189 | +*注意点:* <br> |
| 190 | +(这个项目用到哪些技术?(技术选型)) <br> |
| 191 | +5、明确个人在项目中的位置和作用。 |
| 192 | +*注意点:* <br> |
| 193 | +(你在这个项目的承担角色?) <br> |
| 194 | +6、明确项目的整体架构。 <br> |
| 195 | +7、明确项目的优缺点,如果重新设计你会如何设计。 <br> |
| 196 | +8、明确项目的亮点。 |
| 197 | +*注意点:* <br> |
| 198 | +(这个项目有什么亮点?or难点解决方案) <br> |
| 199 | +9、明确技术成长。 |
| 200 | +*注意点:* <br> |
| 201 | +(你通过这个项目有哪些技术成长?) |
204 | 202 |
|
205 | 203 | --- |
206 | 204 | ### 搬运工信息 |
|
0 commit comments