阿里提前批,
面试我的是一个友善的师兄,还提点了修改简历,真心幸运能遇到这样的师兄。
这个师兄在一面之前还打电话问了问我的情况,提了提自己的建议。
面试中还一边引导我、一边鼓励我,nice!
接下来是面试流程:(可能有点记不完整)
1. 自我介绍
2. 项目的东西
3. 学习过数据结构吧?学习过哪些?(说了树、堆、栈)
4. 数组和链表的区别
4. 在java中的底层数据结构,就是集合的(我说了List、Set、Map,以及对应的下面HsahMap、LinkedList、ArrayList等等都说一遍,这里错了一个,师兄告诉我LinkedList底层是链表,ArrayList底层是数组)
5. 你刚说了HashMap,那他的底层?(jdk1.7+jdk1.8)
6. 那HashMap是不是安全的?(不安全,说了原因,扯出了HashTable、ConcurrentHashMap)
7. ConcurrentHashMap底层原理 (Segment、HashEntry等等怎么组成、怎么运行的底层架构)
8. Segment的底层结构 (这个不知道)
9. 刚刚你说Segment是一种可重入锁,那他继承了什么?(ReentrantLock)
10. 那可重入锁和不可重入锁有什么区别 (这里我知道也不够多,这里我说了可重入锁的概念)
11. Jvm了解吗?Jvm有什么结构?(这里说了 pc计数器、本地方法栈、虚拟机栈、堆以及对应的描述)
12. jvm的垃圾回收机制了解吗?你说说你的了解。(我说了GC垃圾回收机制,如果查找垃圾继而回收垃圾,描述)
13. 那对于回收垃圾的算法,内部流程是什么?(这个我没了解到)
14. 线程池使用过吗?(这个没使用过,准备在以后项目中尝试,不过我把我了解到的线程池相关的知识说了下)
15. 你的第一个项目思路
16. 为什么用SSH框架完成你的项目
17. 你项目中的多人共用时冲突你是怎么解决的。(这里说了Lock和synchronized )
18. Lock和synchronized 区别
19. Spring中的Bean的执行流程 (这个我不太了解,之后会了解)
20. Struts和SpringMVC的区别(这个我对Struts不了解,所以回答的不好)
21. SpringMVC是用来做什么功能的 (我是对比的没使用框架的项目,进行的讲解)
22. 常用的数据库,Mysql优化 (这里说了点索引的知识)
23. 你项目中的数据库表有哪些
24. 怎么进行的绑定,主键外键
25. 你的项目数据库是一对多还是多对一
26. 对于排列算法,你最熟悉哪个(我说了冒泡、快速、归并,最熟悉冒泡)
27. 冒泡算法的时间复杂度 (O(n^2))
28. 反问
- 面试更看重哪一方面
- 面试大概有几面
小菜鸡在线希望二面~~
全部评论
(8) 回帖