这个春招我上岸了,在此分享一下我的阿里四面经验,希望帮助到没上岸的你。

本文作者分享了在阿里巴巴面试的经历,涵盖了一面到三面的主要问题,涉及分布式锁、JVM内存、Spring框架、数据库优化等多个技术点。面试过程中强调了心态的重要性,并提醒求职者关注技术细节和理论基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

首先说点鸡汤吧,在面试过程中心态真的很重要,我们可能会遇到简历挂、笔试挂、面试挂等各种各样的问题,一定要调整好心态,不要被网上一些贩卖焦虑的信息影响到,专心去提升自己,找准自己的定位和方向,然后不断坚持下去,一定会有所收获的。祝愿还没上岸的朋友们最终都能收获一份满意的工作!!!

一面

1、个人介绍

2、项目介绍

3、提到用分布式锁解决项目中的问题,介绍分布式锁的定义和实现,然后拓展讲zk。

4、问java 一个对象的生命周期,我讲了类加载,不知道是不是面试官要的答案。

5、类加载的机制?为什么需要双亲委派,如何打破双亲委派?

6、类加载的具体过程?加载、链接、初始化,具体介绍

7、介绍一下常见的类加载器,启动类加载器和自定义类加载器的区别

8、介绍jvm 的内存分区,介绍一下常见的垃圾收集器。

9、软引用是什么?怎么实现的?使用场景?哪些地方用到它?

10、由上一题延申,说了G1 垃圾收集器的Remember Set 的原理,以及ThreadLocal 的原理

11、介绍B+树和B 树的区别

12、sql 优化,何时索引失效,联合索引何时会失效

13、介绍了一下redis 的常见API,项目中怎么用的。

14、问了一些没有使用过的组件,大致讲了讲,有的不知道。

15、最快什么时候到岗?来了做的工作和上家公司的不太一样,能不能接受?

16.常用数据结构有哪些

17.说一下集合类

18.Hash 的底层

19.重写equals 方法的原则

20.常见的异常(从这里开始答得很不好,异常太久没看了)

21.问我空指针异常和另一个什么什么异常的区别,第一遍我没听懂,还有给我详细说,空

指针异常可以代码中测出,但是jdbc 的连接丢失异常就需要在try catch 中,

22、有什么问我的吗?没有。

二面

1、分别说说 spring、springmvc、springboot 的作用

2、说说 spring 怎么解决循环依赖

3、spring 底层 beanFactory 和 FactoryBean 的关系

4、springboot 为什么要内置 Tomcat ?

5、tomcat 跟 spring 的关系是什么?

6、使用 spring 和 springboot 过程中用过的注解有哪些?@bean 有什么用?

7、大体介绍下 elasticSearch,你的项目里是怎么用 elasticSearch 的?

8、项目中你的数据是怎么灌入 ES 的?

9、ES 你是用过什么样的接口去搜索的?比如搜索一个关键字,你是怎么去搜索

10、title 的类型是什么类型(设置 ES 索引的时候)?text 类型和 keyword 类型 有什么区别?

11.线程之间的通讯方式?volatile 能有什么作用,为什么能只保证可见性却

不保证原子性?:因为在线程内存中不会保留该对象的副本,每次读取都要在主

内存中

12.java 的锁了解多少

悲观锁、乐观锁、可重入锁、中断锁、读锁、写锁、synchronized 锁升级(偏

向锁、轻量级锁、重量级锁)

13.树的节点是权重,取最大权重的路径,状态压缩,树的剪枝聊了一些,聊了一 些记忆化搜索在项目中的运用

  1. concurrentHashmap 如何保证线程安全的?

  2. 说一说 synch 关键字和 jdk 锁的一个区别?

  3. 什么时候用 synch 关键字和 jdk 锁?

  4. JVM 运行时数据区域?

  5. OOM 啥时候发生?

  6. 双亲委派模型是啥?啥时候用?为什么用?

  7. 类加载的过程?

  8. 说一说索引?

22.什么时候索引失效?

  1. 索引的数据结构?

  2. 什么时候需要回标?

  3. 说一说设计模式?什么是代理模式?

三面

1.自我介绍。

2.做过什么项目

3.你觉得做测试和开发之间,有什么的区别和联系?

4.你觉得开发需要什么技能?

5.说一下TCP 三次握手?

6.怎么保证TCP 连接的服务器是正确的?

7.说一下MySQL 数据库?

8.select、from、where、group by、order by 的执行顺序?

9.查询语句是根据条件进行查询还是整张表查询?

10.说一下join 连接时是根据结果进行连接还是整张表进行连接?

11.一条MySQL 语句的执行过程是怎样的?

12.MySQL 的索引?

13.说一下B 树和B+树的区别?

14.同一数据,数据量100 万,B 树和B+树哪个存放的空间更大?为什么?

15.说一下HashMap 的底层结构?

16.HashMap 的扩容机制?

17.HashMap 的负载因子是什么?默认是多少?为什么默认是这个数?

18.HashMap 扩容时候为什么链表阈值大于8 要进行扩容?为什么不是16、32?

19.Redis 平时有涉及到吗?没做过项目,没涉及到。

20.Redis 简单介绍一下?

21.Redis 里面的数据类型都有哪些?

22.手撕代码1:在n*n 的矩阵中找一个目标字符串,要求这个字符串是连续的。(笔试题

目)如果不要求字符串是连续有序的怎么办?可能是无序的怎么办?

23.说一下你熟悉的算法并说出它的过程?时间、空间复杂度?

24.TCP 连接信息中客户端和服务端需要交互哪些东西?

25.说了个场景,让设计数据库表

26.给一个类似于 A(B(,),C(d,e))的字符串,建立一颗二叉树,括号里面的表示子树,比如A 有

BC 两颗子树,C 有de 两颗子树。(简单递归问题)4.TCP 为什么需要三次握手?

27.反问

面试资料总结

下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从面试必问的说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!
有需要的朋友点击这里自取就好了,希望资料对你有帮助!

SpringCloud

Redis

JVM

MySQL

Zookeeper

Kafka

Dubbo

spring

Rabbitmq

springboot

最后

由于文章篇幅有限,PDF的内容又很多,全部手敲下来很累…所以需要阅读阅读学习的,大家“一件三连后:“查看下方””即可拿到手之后自己学习吧,博主真的打字打累了。

有需要的朋友点击这里自取就好了,希望资料对你有帮助!
预祝大家前程似锦,工作顺利!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值