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