前言
相信很多小伙伴都想去大厂工作,今天小编给大家分享下阿里Java面试题和面试流程,希望能够帮助到各位小伙伴。
面试流程
先说下面试流程,一般大公司都有3-4轮技术面,1轮的HR面。
前面几轮技术面主要问的是一些基础、项目实现和拓展,最后一轮技术面是部门老大面,主要就问一些架构、技术和业务的理解,因为这个时候他看的就是你的潜力,就是看你有没有培养的价值。
HR面主要就是跟你聊聊天,很多人在HR面后挂了,一般不是因为你不表现不好,可能是你之前几面的表现一般,公司基于hc、人才配比、与其他候选人的对比等多个维度考虑,最终决定是否给你offer。
下面列出了一面问到的问题:
阿里一面(电面)
synchronized与lock的区别,使用场景。看过synchronized的源码没
JVM自动内存管理,Minor GC与Full GC的触发机制
了解过JVM调优没,基本思路是什么
如何设计存储海量数据的存储系统
缓存的实现原理,设计缓存要注意什么
淘宝热门商品信息在JVM哪个内存区域
操作系统的页式存储
volatile关键字的如何保证内存可见性
happen-before原则
Lucene全文搜索的原理
阿里二面:
自我介绍下自己,不超过3分钟
你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别
如何保证内存可见性
Http请求的过程与原理
TCP连接的特点
TCP连接如何保证安全可靠的
为什么TCP连接需要三次握手,两次不可以吗,为什么
AOP的原理
动态代理与cglib实现的区别
那么你说说代理的实现原理呗
看过Spring源码没,说说Ioc容器的加载过程吧
阿里三面(总监面)
先问项目,从项目问起
**1)**项目中某个比较重要的点是如何实现的(需要深入技术的原理)
**2)**遇到的最大困难是什么(有哪些),你怎么解决的?
**3)**如果需要扩展某个功能,如何降低系统的耦合度
**4)**如果针对某个功能进行优化,你会怎么设计和优化
了解什么分布式数据一致性算法,具体说说
MySQL事务隔离级别以及MVCC机制
Redis缓存雪崩、缓存穿透以及如何解决?
问了设计秒杀系统
说说同步和异步,什么时候用同步,什么时候用异步
mysql的innodb索引数据结构为什么是b+树,用hash来实现可以吗?
分布式事务的实现?
如何解决redis和mysql数据一致性?
常见的MySQL主从同步方案有哪些?优劣势比较过?
阿里四面(总监面)
自我介绍
手画自己项目架构图,然后针对架构和中间件提问
HR面
你为什么离职?
你怎么看待自己的职业生涯?
薪资期望
注意事项:
面试时一定要自信,敢于表达,也不要过于夸张,要让面试官觉得,你对这个岗位有很大的兴趣。
面试的时候我们可能对有些知识点不是很了解,也要尽量把自己的思路说出来,不要直接告诉面试官自己不懂。
跟其他公司相比,阿里更看重情怀和梦想。
阿里的八字箴言:乐观、聪明、皮实、自省。
来源:oschina
链接:https://my.oschina.net/u/4411146/blog/4650259