X Tutup
Skip to content

Commit a85f7a1

Browse files
committed
备份提交
1 parent 6aa42c8 commit a85f7a1

File tree

2 files changed

+456
-0
lines changed

2 files changed

+456
-0
lines changed

review/Java面试经验贴.md

Lines changed: 397 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,397 @@
1+
2+
3+
原文地址:https://zhuanlan.zhihu.com/p/25725929
4+
5+
6+
专栏好久没更新了,因为最近在找实习呀!
7+
8+
刚从百度回来就开始准备各大内推面试,好在一切顺利,阿里面了五面,还在等消息中.
9+
10+
腾讯也面了三面,但方向不太切合.
11+
12+
也推了美团、网易、华为、唯品会、蘑菇街,不过都还没开始面试,也不打算折腾了......
13+
14+
总结一下复习时所记的笔记吧
15+
16+
具体的题目可以参照下寒假实习的题目,都大同小异
17+
18+
[2016-2017寒假实习面试总结(java后台) - 知乎专栏](https://zhuanlan.zhihu.com/p/24617729)
19+
20+
## Java基础
21+
22+
- Java内存模型
23+
- 多态(重载重写)
24+
- object方法
25+
- 类访问权限
26+
- sleep、notify、wait 联系、区别
27+
- String、stringbuffer、stringbuilder 联系、区别、源码
28+
- Volatile 原理、源码、与syn区别
29+
- 线程间通信方式
30+
- 线程的各种状态
31+
- 等等等等
32+
33+
34+
35+
36+
37+
## 集合框架
38+
39+
**List**
40+
41+
- ArrayList
42+
- LinkedList
43+
- Vector
44+
45+
三者区别,联系,源码
46+
47+
**Set**
48+
49+
- HashSet
50+
- LinkedHashSet
51+
- TreeSet
52+
53+
基于什么实现,内部数据结构,适用场景,源码
54+
55+
**Map**
56+
57+
- HashMap
58+
- weakHashMao
59+
- LinkedHashMap
60+
- TreeMap
61+
62+
HashMap与hashtable的区别
63+
64+
内部实现原理、源码、适用场景
65+
66+
67+
68+
69+
70+
## 并发包
71+
72+
**ConcurrentHashMap**
73+
74+
- 原理、源码、与hashmap的区别
75+
76+
77+
78+
**CopyOnWriteArrayList (set)**
79+
80+
- 什么情况加锁、什么情况不加锁、适用场景
81+
82+
83+
84+
**ArrayblockingQueue (Linked)**
85+
86+
- 两者区别,take、put、offer、poll方法原理、源码
87+
88+
**AtomicInteger (long boolean)**
89+
90+
- 功能
91+
92+
93+
94+
**CountDownLatch**
95+
96+
- 功能、场景
97+
98+
**CyclicBarrier**
99+
100+
- 功能、场景
101+
102+
**FutureTask (Callable)**
103+
104+
- 源码、场景
105+
106+
107+
108+
**ReentantLock**
109+
110+
- 与syn的区别、好处、场景
111+
112+
113+
114+
**Condition**
115+
116+
- 与wait、notify的区别、好处
117+
118+
119+
120+
**Semaphore**
121+
122+
- 好处、场景
123+
124+
125+
126+
**ReentrantReadWriteLock**
127+
128+
- 读写分离的好处、适用场景、源码
129+
130+
131+
132+
**Executors**
133+
134+
- 线程池种类、各个作用、适用场景
135+
136+
137+
138+
ThreadPoolExecutor
139+
140+
141+
142+
- 重载方法的参数、各参数作用、源码
143+
144+
145+
146+
147+
148+
## 虚拟机
149+
150+
**JVM五大区**
151+
152+
- 每个区的存储、作用
153+
154+
**JVM内存模型**
155+
156+
- 类加载机制
157+
- 双亲委派模型
158+
159+
160+
161+
垃圾收集器
162+
163+
164+
165+
- 常用gc算法
166+
- 收集器种类、适用场景
167+
- fullGC、MinorGC触发条件
168+
169+
170+
171+
JVM优化
172+
173+
- 可视化工具使用
174+
- 日志查询
175+
- 各项参数设置
176+
- 四种引用
177+
178+
179+
180+
181+
182+
## IO流
183+
184+
**BIO**
185+
186+
- 字节流:类型、适用场景
187+
- 字符流:类型、适用场景
188+
189+
190+
191+
NIO
192+
193+
194+
195+
- 类型、适用场景
196+
- 三大组件的联系、使用
197+
- 内存情况
198+
199+
200+
201+
202+
203+
## 大数据
204+
205+
- zookeeper
206+
- kafka
207+
- redis集群
208+
- storm
209+
- hadoop
210+
- spark
211+
- solr cloud
212+
213+
214+
215+
挑一两个组件深入理解下就好
216+
217+
218+
219+
220+
221+
## 数据库
222+
223+
**三范式**
224+
225+
**主从复制**
226+
227+
- 原理、实现
228+
229+
230+
231+
**读写分离**
232+
233+
- 原理、实现
234+
235+
236+
237+
**事务**
238+
239+
- 类型
240+
- 使用
241+
- 可能引起的问题
242+
243+
244+
245+
**存储引擎**
246+
247+
- InnoDB
248+
- MyISAM
249+
- 区别、联系、锁机制、适用场景
250+
251+
252+
253+
**索引**
254+
255+
- 类型
256+
- 使用
257+
- 什么样的字段适合做索引
258+
259+
**SQL优化**
260+
261+
262+
263+
264+
265+
## web
266+
267+
**Tomcat**
268+
269+
- 结构、流程、源码
270+
271+
**Servlet**
272+
273+
- 生命周期
274+
- 三种实现方式
275+
276+
277+
278+
springMVC
279+
280+
281+
282+
- 使用
283+
- 请求流程
284+
285+
286+
287+
**spring**
288+
289+
- IOC/AOP 原理、源码、联系
290+
- 两种动态代理实现
291+
292+
293+
294+
**mybatis**
295+
296+
- 使用
297+
- \#、$区别
298+
- 一级、二级缓存
299+
300+
301+
302+
303+
304+
## 设计模式
305+
306+
- **单例模式**
307+
- **工厂模式**
308+
- **观察者模式**
309+
- **适配器模式**
310+
- **模仿方法模式**
311+
- **策略模式**
312+
- **责任链模式**
313+
- **装饰者模式**
314+
315+
316+
317+
1. 常用的八种掌握就行,原理,使用
318+
2. 单例、工厂、观察者重点
319+
320+
321+
322+
323+
324+
## 数据结构
325+
326+
**二叉树**
327+
328+
- 平衡二叉树
329+
- 二叉查找树
330+
- 红黑树
331+
- 完全二叉树
332+
- 满二叉树
333+
334+
335+
336+
概念、适用场景、时间复杂度、好处坏处
337+
338+
339+
340+
**B树**
341+
342+
- B-Tree
343+
- B+Tree
344+
345+
346+
347+
两者的联系、区别、适用场景
348+
349+
350+
351+
352+
353+
## 算法
354+
355+
- **直接插入排序**
356+
- **二分插入排序**
357+
- **希尔插入排序**
358+
- **冒泡排序**
359+
- **快排**
360+
- **选择排序**
361+
- **堆排序**
362+
- **归并排序**
363+
364+
365+
366+
1. 各种排序的思想
367+
2. 实现复杂度
368+
3. 稳定性如何
369+
4. 可以手写
370+
371+
372+
373+
## 网络
374+
375+
**TCP**
376+
377+
- 三次握手、四次挥手、各种状态、状态改变
378+
- 和UDP的区别
379+
380+
381+
382+
**IO模型**
383+
384+
- 同步、异步、阻塞、非阻塞概念
385+
- 模型种类、各自特点、适用场景
386+
- 如何使用
387+
388+
389+
390+
## Linux基础
391+
392+
- 常用命令
393+
- 管道符
394+
- 查看日志相关命令
395+
- CPU使用命令
396+
397+
## 祝各位都能取得好offer

0 commit comments

Comments
 (0)
X Tutup