上岸经验!费尽心里鏖战阿里5面成功拿到offer,附上我的经验希望帮助到大家!

前言

秋招来了,面对自己心心念念的阿里,即使春招被毒打,也还是忍不住再次投递了简历。其实这一次的面试更加的凶险,感觉全程都很有压力,不像春招的时候感觉还是比较舒服的。
直到前天本来以为自己二面挂了,想确认一下,没想到是意外收获,二面居然过了,最近安排终面和交叉面,讲真的突然就泪崩了。
lz自己也很菜,算法上真的很弱鸡,一直是自己最大的痛点。唉。笔试题第一题ac了0.6,第二天过了测试的例子,但是不知道为啥跑题目的时候说数组越界,0ac。唉。还好最后有惊无险的拿了offer!
以下是正文,问题没有先后次序,都是回忆起的

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友点这里直接下载就好了!希望大家都能找到心仪的工作!

阿里一面:

  • 触发新生代GC,如果存活对象总量大于survivor区容量,咋办

  • 如果任务很多,线程池的阻塞队列会撑爆内存的哪个区域

  • 栈在堆上吗

  • GC root有哪些

  • 实例变量可以是GC root吗

  • 了解哪些GC算法,介绍一下

  • 给个场景,问怎么设置JVM参数

  • 问了很多SQL调优,各种语句能不能命中索引,能命中哪些,怎么优化

  • MySQL的一张表里有三个字段ABC,A的种类有1000种,B有1W种,C有10W种,ABC的联合索引怎么设置,怎么使用

  • Mybatis # 和 $ 的区别

  • Mybatis接口里的方法和XML里的SQL名可以不一样吗,不一样怎么办

  • Mybatis是如何完成SQL和接口里的方法的映射的(我回答了怎么配置),那你知道它是怎么实现的吗

  • 介绍下Spring的 IOC和AOP

  • 服务器给客户端发送IO流的过程

  • IO和NIO了解多少

  • 线程都有哪些状态,怎么转换的

  • Notify和notifyAll的区别

  • 介绍线程池,不同线程池区别在哪,你平时怎么使用线程池的

  • MySQL索引的数据结构

  • B+树了解多少

  • Cookie和SessionId说一下

  • 锁是怎么实现的

  • Synchronized同步块和synchronized方法,分别锁的是什么

  • 单例模式,饿汉和懒汉分别存在的问题

  • Volatile是怎么实现可见性的

  • 介绍下JMM

  • Happen before了解吗

  • A happen before B,意味着A一定在B之前执行吗

  • 你做过的最难的项目中,最难的任务是什么,怎么解决的

阿里二面:

  • 看过哪些源码?

  • Java都有哪些map,分别怎么实现的,具体讲

  • 除了LinkedHashMap,你还知道哪些有序map

  • ConcurrentHashMap讲一讲

  • 为什么要有线程池

  • 线程池有哪几类?有什么区别?有哪些参数?拒绝策略有哪些

  • 阻塞队列都有哪几种,有什么区别

  • Java的反射怎么理解

  • Spring的IOC和AOP怎么理解

  • Spring项目启动的时候会加载哪些资源,顺序是怎么样的

  • 浏览器输入一个URL,会发生什么,整个过程说一下

  • Http讲一讲,请求有哪些内容,响应有哪些内容

  • 你笔试分好高,平时刷过很多题吗?怎么刷的?

阿里三面:

  • MySQL的高可用了解多少,高性能了解多少

  • 淘宝有1000T的数据,单机存不下,怎么办?有没有办法只访问一次服务器?一致性Hash懂多少

  • MySQL和redis有啥区别

  • MySQL数据备份怎么做

  • Redis底层原理会多少

  • Redis为啥比MySQL快

  • Redis RDB可能会丢失数据,怎么办

  • Redis AOF不也要把日志写到磁盘么,那和MySQL的IO有啥区别,凭啥Redis就快

  • Redis主从复制怎么做

  • 分布式缓存懂多少

  • 还知道其他NoSQL么

  • Java和C的优缺点说一下

  • 有没有用C写过底层

  • Java的G1回收器详细讲一讲

  • G1什么时候会stop the world

  • Linux操作系统有应用过吗

  • 对分布式和中间件掌握多少

  • 详细介绍下你的项目

  • 你认为你现在的项目有没有什么可以扩展和优化的地方,讲一讲

  • 实验室都是做什么的?为什么要转互联网?实验室转互联网的同学多么

  • 有没有发过论文?导师愿不愿意让实习?

  • 对阿里的技术了解多少?对部门了解多少?

阿里四面:

  • 数据库索引常用的数据结构

  • Juc源码看过吗?锁的实现原理是什么?

  • CAS能深入的说一下吗

  • 建造者模式说一下

  • 谈一谈笔试的心得(笔试分高)

  • 看过哪些书籍

  • 你打算接下来看哪一本书

  • 介绍下实验室项目

  • 曾经遇到的最大挑战是什么,可以说实验室项目、实习经历或者自己的项目

  • 怎么解决这个困难的

  • 项目中有没有与人合作

  • 现在的offer情况

  • 自我评价一下

阿里五面(交叉面):

  • 介绍下项目,项目的来源,是自己一个人做的么

  • 登录验证怎么做的

  • 讲一讲ThreadLocal

  • ThreadLocal怎么避免线程污染(没听懂啥意思)

  • 点赞怎么实现的

  • Redis持久化方式

  • MySQL存储引擎区别

  • Myisam在只读场景下,为什么一般比InnoDB快

  • Mybatis怎么使用

  • Mybatis # 和 $ 的区别

  • Spring中BeanFactory和ApplicationContext的区别

  • Spring中bean的作用域有哪些,有什么区别

  • 说出一个原型作用域的具体应用场景

  • 学习过哪些设计模式,用过哪些设计模式

  • 生产者消费者模式讲一讲

  • 怎么实现阻塞队列

  • 学过Linux吗(基本没学过)

  • 在Linux下,怎么查找一个目录下的所有文件,要求输出顺序按照文件的创建时间排序

  • 给你一堆学生的信息,包括学号和姓名,让你找出学号最靠前的10个人的姓名

  • PriorityQueue怎么实现的

  • 怎么求根号3(我说了二分法,用2的平方,1.5的平方,1.75的平方依次和3比较,缩小区间,直到达到精度要求)

  • 你这种求法太慢了,可以优化吗(我问:您是想问数值分析的知识么?面试官说:是的,你没学过数值分析么?)

  • 斐波那契数列,求第n项的值(答了递归和DP两种方式)

  • 如果数列长度100W,你的DP矩阵不是很大么?怎么优化?(答:用两个变量a,b记录前两个值,temp = a, a = b, b = a + temp,依次递推)

  • 一个时钟有时针分针和秒针,三针重合的最短时间间隔是多少?(完全没思路,只知道一小时内肯定不行,因为走得速度不一样,一圈内速度快的和速度慢的撞不上)

  • 平时怎么学习的

  • 最近在看哪本书,接下来打算看哪一本书

  • 自我评价下优缺点

  • 怎么证明你的学习能力强

总结

最后我为大家准备了ava核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!有需要的朋友点这里直接下载就好啦
最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!

猜你喜欢

转载自blog.csdn.net/jiagouwgm/article/details/111825604
今日推荐