写点什么

普本毕业,阿里五面成功斩下 offer,名校出身的我究竟输在哪?

发布于: 2021 年 02 月 27 日

经常听到一些同学调侃,Boss 不聘、前程堪忧、拉不上钩,简历投了上百份,好不容易收到的面试又一个一个被刷掉,这阵仗在互联网 IT 行业太常见了。身边一朋友就找我聊了。

他小厂背景、15 年毕业、普通学校,这看起来确实没什么战斗力,但能够挺到阿里五面,并且能拿到 offer,也说明他是能力相当不错了。而我,名校出身,至今却还在找工作。输在哪儿了呢?他跟我讲述了一下他的面试过程。把具体的面试题(附下文里)给了我一份,我觉得我应该研究研究。

我不禁问朋友,甚至开始怀疑自身的价值:自己这几年还有哪方面存在缺陷呢?自己到底是 IT 廉价民工,还是能力稀缺的技术人才?

确实,今年的大环境比较严峻,但一些高级岗位仍然稀缺。大家只看到了程序员的普遍高薪,而且还是最不受疫情影响的职业之一,但是一线企业招聘的热潮更甚于往年,不是行业饱和了不需要过多的人才,而是他们在不停地寻找高级软件工程师。而大多数程序员由初级向中高级进阶的速度往往很慢,即便像我,五年经验还是没能拿下高级工程师的 offer,有时候工作年限的加分还是不够的。

从基础代码到理论学习,从刷题充电到项目实践,没有一道关卡是能够轻松度过的。朋友告诉我自从准备跳槽到面试,为了刷题和做项目,没有那一天能是在凌晨两点前睡觉。我也很好奇,他是刷了什么题能够变得这么强,于是我也将那份试题资料随便要了过来一并分享给大家

需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取



一面:


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

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

3. 栈在堆上吗

4. GC root 有哪些

5. 实例变量可以是 GC root 吗

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

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

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

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

10. Mybatis # 和 $ 的区别

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

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

13. 介绍下 Spring 的 IOC 和 AOP

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

15. IO 和 NIO 了解多少

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

17. Notify 和 notifyAll 的区别

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

19. MySQL 索引的数据结构

20. B+树了解多少

21. Cookie 和 SessionId 说一下

22. 锁是怎么实现的

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

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

25. Volatile 是怎么实现可见性的

26. 介绍下 JMM

27. Happen before 了解吗

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

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


二面:


1. 看过哪些源码?

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

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

4. ConcurrentHashMap 讲一讲

5. 为什么要有线程池

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

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

8. Java 的反射怎么理解

9. Spring 的 IOC 和 AOP 怎么理解

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

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

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

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


三面(leader 面):


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

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

3. MySQL 和 redis 有啥区别

4. MySQL 数据备份怎么做

5. Redis 底层原理会多少

6. Redis 为啥比 MySQL 快

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

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

9. Redis 主从复制怎么做

10. 分布式缓存懂多少

11. 还知道其他 NoSQL 么

12. Java 和 C 的优缺点说一下

13. 有没有用 C 写过底层

14. Java 的 G1 回收器详细讲一讲

15. G1 什么时候会 stop the world

16. Linux 操作系统有应用过吗

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

18. 详细介绍下你的项目

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

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

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

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


四面:


1. 数据库索引常用的数据结构

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

3. CAS 能深入的说一下吗

4. 建造者模式说一下

5. 谈一谈笔试的心得(笔试分高)

6. 看过哪些书籍

7. 你打算接下来看哪一本书

8. 介绍下实验室项目

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

10. 怎么解决这个困难的

11. 项目中有没有与人合作

12. 现在的 offer 情况

13. 自我评价一下


五面(交叉面)


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

2. 登录验证怎么做的

3. 讲一讲 ThreadLocal

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

5. 点赞怎么实现的

6. Redis 持久化方式

7. MySQL 存储引擎区别

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

9. Mybatis 怎么使用

10. Mybatis # 和 $ 的区别

11. Spring 中 BeanFactory 和 ApplicationContext 的区别

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

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

14. 学习过哪些设计模式,用过哪些设计模式

15. 生产者消费者模式讲一讲

16. 怎么实现阻塞队列

17. 学过 Linux 吗(基本没学过)

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

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

20. PriorityQueue 怎么实现的

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

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

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

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

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

26. 平时怎么学习的

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

28. 自我评价下优缺点

29. 怎么证明你的学习能力强

刷题资料目录



需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取


用户头像

添加我的微信:tkzl6666 获取文中资料 2020.09.19 加入

添加我的微信:tkzl6666 获取文中资料

评论 (1 条评论)

发布
用户头像
普本毕业,阿里五面成功斩下 offer,名校出身的我究竟输在哪?
2021 年 02 月 27 日 17:15
回复
没有更多了
普本毕业,阿里五面成功斩下offer,名校出身的我究竟输在哪?