前言
阿里妈妈我是提前批开始面试的,第一次发简历是2月7日,然后好像石沉大海了,2月27日又发了一次,这次有回应了,开始面试。
一面 3.5 80分钟
- 自我介绍
- 项目介绍
- java object方法
- euqals hashcode
- hashmap原理,线程安全吗,如果要线程安全要用什么,concurrenthashmp怎么实现的,用的什么锁
- 线程和进程
- 内存区域,为什么有些是线程私有的
- 直接调run方法和使用start调run方法有什么区别
- 如何实现你在手机上登了微信然后在电脑上登(实际上是个单点登录问题)
- 如何提高数据库的并发量(我说了一堆分布式和缓存,结果他要问索引)
- 数据库索引讲一下
- b+树索引和哈希索引的区别,使用场景
- 一个url到界面出现的过程
- dns解析的过程
- 项目的难点在什么地方
- 项目是如何分工的,如何确定边界
- 项目如何与他人合作的
- 你有博客吗,给我康康
- 你最近关注的新技术是什么
- 你看过什么开源代码
- 看开源给你带来了什么
- 你觉得什么开源代码写得很巧妙
- 你怎么提升自己的技术栈的
- zookeeper如何实现最终一致性的
- 还有什么其他项目吗
- 项目学到了什么
- 还有其他项目吗
- 怎么实现多人合作编写的
- 发一段你自己觉得写的巧妙的代码来
- 写一个单例
- spring和springboot的区别
- spring的核心
- spring bean的生命周期
这一面算是简历面,问了很多基础知识和项目相关,但也问了很多软技能的东西,第一次碰见我答得一脸懵逼,题目中看到前后两个题目领域不一样就说明遇到我不会的了。
二面 3.13 80分钟
- 自我介绍
- redis数据类型
- 跳表
- spring,springboot区别
- spring中bean的好处,ioc
- spring为什么要用xml做配置
- 讲讲mvc
- 对model层的理解
- 讲讲并发编程
- synchronized和lock的底层实现
- Java线程和操作系统线程是一一对应的吗
- https的安全是如何实现的
- 数据库数据量大了之后如何做
- 如何设计一个淘宝库存系统
- 可以只用redis不用数据库吗
- 项目,三十分钟
这一面问了很多场景和设计题,还有一些奇奇怪怪的题目,很多都是开放性的,面试官说就是想探讨下,所以大家遇到不会的问题不要慌,猜一猜也是好的,说说自己的思路,让面试官看到你的思考,千万不要直接来一句我不会。
三面 3.15 130分钟
- 面向对象设计原则和设计模式,单例、责任链
- volatile在单例中的作用
- 如何实现内存屏障
- 类加载过程
- http和https的区别
- Http Header里有什么内容
- 浏览器输入URL到页面展示发生了什么
- 为什么要有序列化、序列化的方法
- https如何实现加密,说具体过程,网络分层和协议
- 数据库的隔离级别、事务并发产生的问题、行级锁表级锁,举例说明
- Spring中用到的设计模式
- Spring IOC和DI
- Spring AOP和动态代理、反射
- SpringBoot相比Spring有什么区别和好处
- 数据库里innodb引擎默认的隔离级别,是否会产生幻读问题?怎么去避免幻读问题?
- spring如何转发请求,具体过程
- 请求到达一个集群,怎么被处理的
- springboot代码里让请求知道去哪个controller
- springcloud,dubbo(都不会,就不问了)
- Java两个线程修改数据库,在不使用数据库锁的情况下怎么确保数据并发访问修改的安全.
- 算法题:有个1T的文件,内存放不下,有台电脑,2T的硬盘。文件里的内容是这样的:每行都是个字符串,可能有中文的,英文的,等等。现在要找出出现频次最高的10个字符串。时间复杂度是多少,如何考虑边界情况。最后问我之前是不是看过这道题hh
- 讲一个项目的业务价值,你的职责,学到什么
- 性格缺点,为什么
- 性格优点
- 实习时间
- 哪里人,多大,类似这种的hr面问题
这一面是我春招以来遇到的最长时间的一面了,面的我头昏脑花,题目是后来回忆的,也记得不太清楚,总的来说就是问的很基础,很细,很深入,大部分题目都是你平常在面经里看到过的,但一个是量大,一个是细致,面的还蛮困难的。
四面,交叉面 4.8 55min
- 自我介绍
- 项目介绍及项目相关问题
- 上大学做的比较好,比较差的事情
- 自己觉得失败的事情
- 自己一直坚持的事情
- 性格的优点和缺点
- 觉得做错了的决定
- 自己总结一下自己的技术,广度和深度
- 最喜欢的一门课
- 规划
交叉面大概就问了项目和一些人生问题,遇到的面试官比较好,没有问太多技术问题,面试体验还是很好的,但是等待体验很难受,等了二十天左右,累了。
hr面 4.9 17:10-18:00
- 自我介绍
- 笔试做的有点差,觉得原因在哪
- 聊人生
- 后面可能会补一轮笔试
大部分都是人生题,然后因为笔试做太差了说之后会补一轮笔试(我以为我是20分,hr告诉我是15分hhh,虽然没啥区别),部门内部还要排序,决定发不发offer。
总结
可以看到阿里就是非常注重项目和基础,会问很多场景题,设计题,项目相关的问题,所以一定一定要有项目经历(当然这是针对大部分岗位),还要对项目很了解。我觉得最难的就是他会问你高并发分布式这种问题,作为在校学生其实很少有实操这种项目的机会,只能按照自己的理解来回答。如果项目本身没啥可说的,你就说说对项目未来的设想,在高并发,分布式的情况下你会怎么做这种,体现自己对于项目的思考。