最近面试几个小公司和几个互联网公司,对面试问题做了一下总结
一般都是你先自我介绍一下,讲一下自己过去的项目经验,经历,然后问问项目中的一些细节,在问一下基础问题
1.session和Cookie的区别,讲一下你的看法
2.你讲一下spring 的具体初始化流程。最好源码级别
3.你知道dubbo和spring cloud区别吗?
4.你简历上用过shiro,你能讲一下里面的具体流程吗?
5.你知道哪些设计模式?你项目中用了哪些实际的设计模式?
6.你知道线程池吗?讲一下里面的实现过程吧?实际的应用场景有哪些?
7.数据库你们公司用了哪些数据库?你知道行锁和页锁吗?知道为啥加了索引就很快吗?项目中你是怎么对sql进行调优的?
8.jvm知道吗。讲下内存模式。强 弱 软 虚引用啥区别,什么时候回收。常见的回收算法有哪些?你有过实际的内存调优的经验吗?具体讲一下你的流程
9.常见的回收算法你了解吗?如果线上出现了OOM,你是如何排除问题的呢?
10.你简历上写熟悉lunix,grep这个关键字你怎么用的。kill -9啥意思。不加-9有啥区别,查看内存的命令是什么?
11.redis如果内存已经满了。是不是内存会蹦。redis采用了什么策越呢?
12.你知道redis的几种集群部署方式吗?你知道哨兵有什么作用吗?
13.dubbo是可侵入的吗?你知道dubbo的大概流程吗?Dubbo的注册中心可以有哪些?我们项目中为什么Dubbo要选用zookeeper做注册中心,而不用redis呢?
14.你用过springboot吧。那你说一说和springmvc的区别吧
15.你了解过分布式事务吗?你知道CAP吗?常用的分布式事务有哪些你了解过吗?
16.Lock锁的实现原理你了解过吗?能够大概讲一下里面的流程吗?(实际就讲讲AQS是具体过程)
17.问你一个简单的吧,常见的集合对应的接口有哪些?ArrayList和LinkedList的区别,为什么ArrayList是内部是数组就适合读呢,LinkedLis内部是链表为啥修改,删除更快呢?
18.hashMap的扩容机制你了解过吗?为啥线程不安全呢?并发的情况怎么造成闭环的呢?
还有一些问题欢迎加我QQ:1051980588一起讨论探讨