双非秋招四面阿里真实经历分享(已上岸)

一、前言

第一次写个人感悟及面试类的文章文采有限多多包涵,不知不觉从大四实习开始已经工作两年,也是因为一些原因打算尝试换一份工作,为了这次秋招面试也是准备的蛮久的,基本上半年前就开始准备了,开始面试的时间选的并不好十一假期结束后才开始面试,基本上就是秋招的尾巴,大概面了六七家吧最终也算是蛮坎坷的上岸阿里,本文主要就分享阿里所有面的经历其他家的面试经历过几天有空时会分享出来,本人目前是实习一年+工作一年

二、一面(高p同事面30分钟)

一面时说实话当时确实准备还没那么充分,最主要是面试经验十分稀缺,直接分享干货

1.先自我介绍,简单介绍了自己的工作经历和工作内容大概一分钟吧

2.介绍项目,项目的架构,技术亮点、难点之后,重点问了下我项目中用到的限流器怎么实现的等等具体记得不是特别清楚了,面试官对项目这边还是很满意的

3.接着问技术,先问的redis问场景做个开场,我直接把五种基本数据类型和五种非基本类型的结构和应用场景都说了,想了解的可以看下我之前的文章,redis分栏里有,说完之后redis就不接着问了,场景一定要结合自己项目说,比如hyperloglogs我会说我做一些后端埋点用到,zset会说我们项目中的一个延时队列的场景,还可以扩展到其他延时队列的实现等等

4.问cpu突然飙高如何解决,阿里对这种场景题非常多,我回答简单说是先排查依赖的底层/第三方,然后看说了下如果利用jvm监控工具排查这种问题,监控工具中命令一定要背,最好工作中是真的用过

5.问了下如果排查慢sql,看你mysql的基础了,我是从执行计划和索引以及回表、笛卡尔积等角度回答的

6.然后又追问了下执行计划的各个参数和怎么看的

7.接着问了下mysql缓冲区和逻辑读,缓存区的话我是从页缓存和mysql缓存区的方面回答的,逻辑读的话当时一时没反应过来没答上

8.接着问了下最左匹配原则的原理,并且针对最左匹配原则出了两道题,当时对最左匹配原则理解不深,题没推出来,然后又追问下B+树原理这个倒还好

9、接着问equals和==和hashcode的相关问题变着法的问,复习时这块被忽略了毕竟应届生问的多,导致记混了,最终投降跟面试官说我在看看,说完面试官就说没有问题了问我有啥问题当时感觉凉定了这个问题太致命了,结果面试官容忍度还可以可能是我之前的问题答得不错吧给我过了

还记得的问题就这些了,还问了一些关于多线程的就忘了问的是啥了

一面总结:一定要注重基础知识,尤其工作一段时间后java最基础的很容易遗忘了,阴沟里翻船就太难受了

三、二面(主管面30分钟)

阿里的一面和二面之间间隔好久,很正常大家如果面阿里也不要着急,我是一周后才约的二面

1.自我介绍

2.项目介绍,仍然是架构+亮点难点,面试官对我做的一个会员系统很care,重点问了下一致性哈希算法+分片库的实现原理,对为什么这么设计问的特别详细,项目大概聊了10多分钟吧

3.先问了下关于mysql三种日志文件,我重点跟他说了下binlog和redo log,还扩展到mysql缓冲池、页缓存等等

3.又问了下mysql索引和最左匹配原则及回表等等,估计是一面面评不好导致的,不过上次面完详细看了下索引和执行计划,这个时候关于索引我已不惧任何问题了

4.接着问redis,问了下redis为什么快,问题很简单,但是你一定不能只是答问题的答案一定要扩展,我是从redis单线程模型,又介绍了nio,又说了redis数据结构等等

5.他接着又追问下redis数据结构,这个每家都问已经太熟了,结合项目扩展着答,知道的都往上说就完事

6.又追问redis高可用方案,说了下主从、哨兵、集群,又介绍了下公司的双中心实现原理

7.接着追问如何保证数据库和缓存一致性,我给的方案是mq最大努力通知实现分布式事务强行保持一致性,面试官不太满意但也勉强接受了,结束百度查了下也没有太好的方案有个延迟双删的机制不知道面试官是不是想让我答这个

8.接着问了下es和mysql底层原理有啥区别

9.因为我说到了我项目中会用es做备份,然后问了下我是怎么双写mysql和es的,我回答的用rocketmq实现分布式事务双写的,他追问了下怎么通过binlog去向es中传输数据,这个没了解过

10.又问了下近期看了哪些书以及平时怎么去学习的,这种问题谁都会答但是却很重要,面试前问问自己以免因为紧张啥的答得不好

11.又问了下离职原因

笔试

万万没想到二面结束竟然是笔试环节,毫无准备措手不及甚至电脑都是现开的,好在题不难,多线程题,线程模拟三个猴子抢苹果,根据我同学和我的经验来看阿里笔试基本都是考多线程,终于找到一家不用卷算法的大厂了泪目(当然算法还是很重要的大家还是多刷刷题,除了阿里其他大厂都问,阿里也只是大多数部门不问万一问了当我没说)

四、三面(p9技术大牛视频面,1个小时零15分钟)

二面之后就非常快了,第二天三面,再一天四面,三面钉钉视频面试,面试官是个很快乐的人,看着就是很喜欢开玩笑的这种,我以为领导面应该很简单对其他软实力比较关注结果从面试时间应该就猜到了这一面一点都不简单。。。。从晚上9点面到10点多,这面之前还面了一家小公司的老板面和hr面,等这场面完人都傻了,累到虚脱

1.日常自我介绍

2.讲项目,本来以为只是简单的讲项目,结果万万没想到面试官竟然非常认真,把我所有说的都记笔记,甚至通过画图的方式更好的理解我的项目所有脉路

3.当他听懂了我项目整个的业务之后说了句这能问的点很多么,当时就心头一紧,果然接下来他先是从产品层面、业务层面各种问题,不过好在我在工作中因为产品部门经常变动导致我经常会额外承担一些产品工作加上我朋友有产品大佬,产品和业务上几乎都答得不错

4.然后面试官开始问项目中用到的技术,每个问的都非常详细,具体就不说了毕竟大家项目也都不一样没啥参考价值,每个用到的技术都问道原理层面

5.然后项目遇到的问题重点说了下jvm调优这边的

6.接着他根据我的项目说了好多可能会出现的场景问我怎么解决,这个就要看综合能力和现场反应速度了还有经验,这些场景大多数都是我根本没想过的,具体问的啥不太方便说设计项目的一些隐私了,说实话后面想想他问的这些场景确实很佩服,有的答上了有的没答上,自我感觉就是个及格分数吧,整个项目环节花了半个多小时

7.接着终于到技术了,他可能是看了之前一面面试官的面评写的java基础一般,把java基础从基本数据类型开始问。。。又问了集合和一面不会的equals和==和hashcode

8.说基本数据类型和封装类型时我扯到jvm了,所以他就接着问jvm了,jvm区域、CMS、g1垃圾回收器,我扩展说了下zgc和Shenandoah,原理和应用场景都会问,我项目中确实是做过jvm调优所以基本都是结合项目说的

9.接着扯到多线程了,各种锁、并发包了我都是结合AQS都说了下,具体问了啥我也不记得了反正问的挺多的

10.然后问了线程池,这个问的也很多挺详细的,从参数到源码

11.然后问最近看了什么书,看了什么源码

12.然后结束了,当我挂断视频之后个人觉得虽然没底但是过的概率还是大一些的,不过五分钟后面试官突然在群里把我二面的笔试截图发给我,说了句为啥这么写?当时就懵逼了赶紧看有啥问题

,经过排查发现创建线程竟然写错了,线程类我是继承了runnable,正常应该通过new Thread(new TestThread())创建线程然后start()启动,我却写成了new TestThread(),run()启动,当时写的时候也没注意,运行结果也不会有影响,但是这么写就根本不是多线程实现,很致命,我赶紧在面试官没告诉我哪里错之前就把正确的写好发群里,并且讲了下这个题目其他做法证明我多线程那边是很熟的,求生欲极强,果然那个面试看了之后相信我是一时笔误而已,这面大概就是最没底的一面,过不过完全55开

五、四面(hrg面,视频20分钟)

还好第二天被通知三面过了的,接着马上就约hr面时间

1.开始还是自我介绍,我以为hr对业务不是很关心的就只是介绍工作情况和个人情况,结果hr让我接着介绍项目,不过介绍完项目也只是听一听没具体问

2.然后问离职原因

3.问当前薪资

4.问你认为什么样的工作是好工作,这里我给自己挖了个坑,我说价值观相符就行,hr追问什么样价值观相符,没背阿里的价值观。。。。只能随便答一答

5.问家庭情况

6.问为啥最初选择苏州

7.问你的优点和擅长的能力

8.问你工作中最满意的成绩

9.未来发展方向

10.最后问期望薪资,因为之前薪资低所以没敢要,就说经过前几面已经对我的能力有了一定了解了,我相信一定会给我一个合适的薪资的,然后hr说你这是网上找的答案 吧,我最近面试好几个这么说的,然后说年轻人要有冲劲要敢于面对,然后我说期望薪资xxx,然后面试就结束了,hr面相对问的还是比较少的

六、总结

以上就是面试的全流程既是一段珍贵的回忆也希望能帮助其他人吧,阿里的面试难度相对于其他公司来说确实难,最主要不是难在某一技术点上,看了上面可能大家会觉得问的也不难啊,实际上单从技术点说确实没什么,但是考验的是综合能力以及一些软实力比如沟通比如反应,技术点的话会往深了问一直问到底,还有聊项目这块非常重要,项目中的技术、业务面试前一定要搞到不惧任何问题,而且项目复杂度一定要高一些这些都不是能现准备的而是要在工作中积累起来,我能过大部分原因就是项目这边亮点蛮多的,基本面试官都很care这样即便后面有的问题答得不好也会容忍,希望以上内容可以对大家有帮助

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值