最近面试了阿里、京东、美团、滴滴等大型互联网公司,最终收到了美团offer。面试前内心很忐忑,在网上也搜集了很多面试题目, 但有些不是很久以前的,就是题目杂乱,归纳不系统。 这次面试过后,我把面试过的公司的面试题做了一个整理,当做是一个总结,后来有朋友问我要面试记录,索性发布出来,跟大家一起分享。
这篇文章是我凭记忆记录的,面试题没有顺序,不分先后。本文只分享题目,不做面试技巧指导,关于面试技巧我之前已经做过归纳,有需要的可以参考这篇文章。阅读地址:https://www.jianshu.com/writer#/notebooks/28279803/notes/32501210
接下来分享我去阿里、京东、美团等一线互联网公司的面试题:
一、阿里巴巴面试
1、开发中Java用得比较多的数据结构有哪些?
2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?
这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问有没有线程安全的map,接下来问conurren包。
3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomect里面有没有进行过相关的配置。
4、说一下http协议,get和post的基本区别,接着问tcp/ip协议,三次握手,窗口滑动机制。
5、开发中用了哪些数据库?回答mysql;储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。
6、springmvc和mybatis的工作原理,有没有看过底层源码?
二、京东金融面试
1、Dubbo超时重试;Dubbo超时时间设置
2、如何保障请求执行顺序
3、分布式事物与分布式锁(扣款不要出现负数)
4、分布式session设置
5、执行某操作,前50次成功,第51次失败a全部回滚b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播性)
6、Zookeeper有哪些用
7、JVM内存模型
8、数据库垂直和水平拆分
9、MyBatis如何分页;如何设置缓存;MySQL分页
10、熟悉IO么?与NIO的区别,阻塞与非阻塞的区别
11、分布式session一致性
12、分布式接口的幂等性设计「不能重复扣款」
三、美团面试
1、最近做的比较熟悉的项目是哪个?画一下项目技术架构图
2、JVM老年代和新生代的比例?
3、YGC和FGC发生的具体场景
4、jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?
5、线程池的构造类的方法的5个参数的具体意义?
6、单机上一个线程池正在处理服务如果忽然断电该怎么办?(正在处理和阻塞队列里的请求怎么处理?)
7、使用无界阻塞队列会出现什么问题?
8、接口如何处理重复请求?
9、具体处理方案是什么?
10、如何保证共享变量修改时的原子性?
11、设计一个对外服务的接口实现类,在1,2,3这三个主机(对应不同IP)上实现负载均衡和顺序轮询机制(考虑并发)
四、滴滴面试
1、自我介绍,技术特点
2、兴趣是什么,优势是什么
3、jvm,jre以及jdk三者之间的关系?
4、Dubbo的底层原理,Zookeeper是什么
5、cincurrentMap的机制;TreeMap;Volatil关键字
6、快速排序;广度优先搜索(队列实现)
7、缓存的雪崩以及穿透的理解?
8、HashMap的key可以重复吗?
9、synchronized和lock的区别?
10.开发一个大型网站你会考虑哪些问题?
以上就是全部的面试题目,希望对大家有所帮助,祝面试顺利!
下面来说说题外话:很多人都需要明确一个概念,你可以终身奋斗事业,但工作不是终身的。我们时刻都在工作中选择和被选择,有人跳槽了,有人被辞退了,剩下的是准备跳槽和潜心发展未来另谋高就的。
所以,面试应该是一个不断提升的状态,而不是一场临时抱佛脚的课堂小测,面试是对你前段时间的工作做总结,对当下状态做评估。那些面试发挥良好的人,通常是从被动面试转为主动自省的人,不要把学习从脑力转移到体力上,现在立即加入Java后端技术群:819940388,或关注微信公众号:Java资讯库,回复“架构”,免费的大型互联网Java面试视频分享给大家。