今天给大家分享的是得到内推的小朱在阿里的一个面试经验分享,小朱是有着2.5年的工作经验,面试定级P6,一共是技术4面+HR面!
一面(电话面):
- Java中有哪些容器
- 类加载的双亲委派模型
- hashmap , hashtable ,treemap区别
- lock原理,AQS
- 了解哪些垃圾回收器和区别
- 创建线程池的参数
- 对于学习新技术自己的方法和步骤,主要偏java基础和底层,还有好多忘了
阿里一面问的技术点大多都是Java基础,底层!比如:并发容器,JVM,锁,垃圾回收,线程。这些知识真正能针对底层原理回答的很全面也是需要一定得积累和一个学习的过程!可以说阿里的一面二面(P6+)针对的大多是基础和底层原理!
二面(交叉面):
- hashmap机制,hashtable锁对象
- 动态代理的原理和机制
- AOP的实现原理,如果让你设计AOP,你该如何设计;
- 多线程相关,线程池的参数列表和拒绝策略;
- 一致性hash的原理;
- 源码中用到了那些设计模式,为什么用这么用?
- TCP协议
- 几个算法题.记得其中一个: 1到3999的阿拉伯数字转换成罗马数字
二面的面试考核是另外一个部门来面试的,除了JDK,JVM,线程池外还问了动态代理,AOP实现的原理等。然而在大厂面试的时候,对于Spring,MyBatis这些更多会被问到的是你了不了解它的底层原理,比如二面中问的让你设计AOP,你该如何设计!对于这个开放性的问题是在考核你读没读过源码,是否有这种去钻研的想法!有点扯远了,归根结底对于大厂的一个面试而言,对于定级P6+来说,源码是必被问到的!
三面(从项目入手来问的):
- concurrentHashmap原理
- 描述下你做过的并发量最大系统的架构设计
- 项目内存或者cpu占用率过高如何排查
- 缓存一致性,缓存的适用场景
- 描述dubbo底层机制, dubbo与spring cloud体系的区别
- zookeeper的原理
- 设计题,一个抢答系统,支持多人抢答,一个题目4个选项,支持单选多选,说明下技术选型和架构设计
三面的考核,一目了然考察是分布式技术,从项目入手,比如:你如何调优,缓存的适用场景、一致性等实战解决能力!简单的来说从第二个问题能看出考查的是你做得系统能不能支持高并发高吞吐量,从第五个问题来说是在考验你的架构和技术选型能力!
四面:
- 手画自己项目的架构图,并且针对架构和中间件提问
- 之后就是和hr谈
总结一下阿里的四面的一个面试过程,在阿里面试中一面二面你能表现出色的话,已经可以拿到P6的一个offer(当然在这个档次肯定还不是特别高的),在第三面和第四面的面试考核中就会判断出你是在P6的哪个档次,甚至是P7,P8!
面试经验分享和学习笔记
小朱刚开始有点紧张,面试的氛围很好就不紧张了,对于一些打不上的题目.面试言会给一些提示,讲对思路很重要,基本就通过了。同时在这分享一下总结出来的阿里经典面试题目及答案:
有想获取面试题文档的朋友,见下: