2020阿里社招面试心得(成功拿到offer)

先自我介绍一下,本人来自西安的一所211计算机高校。17年研究生毕业,先面试了阿里,四面然后挂了,具体参考: https://blog.csdn.net/dlf123321/article/details/52659174后面面试腾讯,三面,过了。具体参考https://blog.csdn.net/dlf123321/article/details/52659174 。之后两年半就一直在腾讯做分布式KV存储的工作。一直到今年二月份。

阿里社招的整体感觉
1 70%看项目
2 20%看基础知识
3 10%看个人性格
因为是找在阿里的师兄做的内推,因此整个面试流程都很快。基本上一周内就走到hr面了
2-18日给师兄简历,请求内推。

2-19日一面

  • 1 自我介绍
    个人履历
    主要项目(一两句话)
    个人评价(自己在分布式系统上的经验和喜欢写文章,喜欢总结)
  • 2 换工作的原因
    进入舒适区了,最近都是在重复工作,对自己的发展不好
  • 3 讲讲核心系统的模块
    三五句话把系统讲清楚。
  • 4 两年里,那个项目,挑战最大
    说说自己修复的最复杂的一个bug
    主要说自己的分析过程,和后续的反思,具体的解决方案其实不是最重要的
  • 5 具体项目里面的一个小问题
    面试官很专业,问了如果数据写失败如何
    因为写失败的问题,我引出了关于raft协议
  • 6 你现在java掌握的怎么样
    我知道JVM的内存组成,垃圾回收机制,根追溯逻辑,JDK源码,多线程相关。(大概有2分钟把自己知道的都说了一遍)
  • 7 这些知识是你自己在项目里学的还是自己在读博客知道的
    都是自己看博客学的
  • 8 java io和nio
    不知道
    太惭愧了
    https://blog.csdn.net/dlf123321/article/details/47010255
    我自己之前写过的东西,但是当时确实想不起来了
  • 9 某个模块,在某个时间夯住,你怎么排查
    先确定是谁在请求我
    是否是因为请求量特别大
    先确定如果在别的时间调用它,是否有问题
    把具体逻辑展开,看具体是哪个流程出问题了
  • 10 怎么确定任务是cpu的问题还是io的问题
    Top命令,perf命令
  • 11 spring你都知道什么
    说说我对Ioc和aop的理解
  • 12 spring事务的原理
    说说你知道的,不要对你不知道的地方说太多
  • 13 你接到的项目需求都是什么样的
    项目已经完成了,但是我觉得模块的速度太慢,引入了内存文件系统
  • 14 了解业务系统么?
    聊到对业务看法
    要想到用户所没有想到的东西
    项目做完之后,从性能,可用性,可靠性上再反思一下
    区分业务和技术。有的时候,不是所有的问题都需要用技术去解决
  • 15 你还有什么问题问我
    阿里加班么?
  • 16 在线写代码
    //实现一个通用的本地缓存的代码片段,要求。
    1、使用方可以指定缓存中最大的元素个数。
    2、使用方可以指定缓存中单个元素的缓存失效时间。
    3、缓存中元素的淘汰策略采用最近最久未使用的策略(LRU)
    我看完题目后就直接给面试官说用LinkedList
    然后开始写代码
    实现完主要逻辑后我还新增了几个特性:
    1 性能 加上了读写锁
    2 如果进程死掉,要可以从硬盘恢复,当然默认是不恢复的
    3 允许用户直接remove某个元素
    具体的代码可以参考
    https://www.cnblogs.com/think90/p/11443367.html
    关于定期删除,使用timetask即可
    另外上面的实现,其实不算是缓存,你缓存,总得有个k和v吧?但是我当时在写代码的时候,问过面试官,他说可以不用key。
    如果想用key的话,key参见linkedhashmap
    如果大家还想继续优化的话,建议参考google的guava。
    如果还想挖,还有CaffeineCache

一面感想

作为社招,其实大家默认你二叉树反转或者基本的数据结构什么都是知道的,主要问的也是项目。再大家面试前准备的时候,要着重做反思。要反思,我的这个项目还有什么可以优化的?性能上优化,可用性优化,伸缩性优化等等(其实我校招的时候,就已经这么做了)
其次,项目里,你自己做的部分要很熟悉,面试官很有可能会问你,你印象最什么的模块是什么?这个时候你就要说说你的工作,出现问题的时候,你是怎么分析的,怎么解决的,怎么在解决的时候不引入新的问题,解决之后,还可以做什么反思?
总之就像《叶问3》里甄子丹说的这个世界不是属于有权人的,也不是属于有钱人的,是属于有心人的。,或者像《三体》里章北海的父亲说的那句:要多想!
另外还有一点,你得明白面试的时候,你需要展示出你知道什么,而不是你不知道什么。
所以碰到一个问题后,先三两句话把问题的核心解释清楚。然后在面试官不反对的情况下,适量延展一下别的问题。
还是那句话你要展示出你知道什么

2-20日二面

  • 1 一些闲聊,具体是在哪个部门,什么时候复工
  • 2 项目和redis有什么区别
  • 3 项目有几个人,你的定位是?核心人员还是附属
  • 4 说说项目的结构
  • 5 数据一致性的理解
    三种数据一致性,强一致性,弱一致性,最终一致性
    https://blog.csdn.net/dlf123321/article/details/51352103
    再说说项目里关于一致性的实现方式
    引出了对可靠性,可用性,可扩展性和面向未来的理解
  • 6 对网络了解么?tcp释放的时候是个什么状态
    不了解
  • 7 跟别的开源系统有没有比较过?
    引出WAL
  • 8 系统里面是怎么使用跳表的
  • 9 项目里和新人是怎么协作的
  • 10 说了一下自己写文章,沉淀技术的事情
  • 11 如果来阿里是想干底层技术还是说想干上层业务
  • 12 java还能回忆多少,现在主要是做c++
  • 13 腾讯开源的存储和你们的项目有什么关系

面试官直接说 你通过我的面试了
然后二十分钟之后,有个小姐姐和我约三面

二面感想:

把项目好好总结总结
把项目好好总结总结
把项目好好总结总结

2-22日三面

三面,我这边面试的不是很好,或者说比较糟糕
三面一共50分钟前40分钟都是聊项目,聊得很开心。然后面试官说你主要是做c++,那就问问c++吧

  • 1 说说c++的内存模型吧
    额,不知道
  • 2 说说static的作用吧
    隐藏变量的实现,不让外部访问
    区分实例对象的变量和类的变量
  • 3 某个关键词的使用
    额,不知道
  • 4 char *a[10], char (*b)[10] a和b有啥区别
    我刚好答反了
  • 5 写代码
    单链表反转
    当时前几个问题把我问的直接就跪了,整个心态就崩溃了
    面试官刚说了问题,我就开始写代码,然后越急越写不出来,越写不出来越急。当时心态崩了。当时卡在这个题目上,大概有5分钟
    面试官看我之前代码一直没有写出来,也就先放过我了。说下一个问题
  • 6 如果有1000个苹果,放到10个篮子里,具体每个篮子放几个苹果,由你来定。然后我给出一个数,肯定小于1000,你要告诉我,哪几个篮子里面的苹果数量之和等于我给的数字
    我说第一个篮子放1个苹果,第二个篮子放2个苹果,第三个篮子放4个苹果,然后8个… 我还没有说完,面试官就说ok了我知道了
  • 7 你想来杭州么?

三面感想

  • 1 我师兄是P7,三面的面试官是我师兄的领导的领导。感觉至少P9。果然是高级别的领导,身处java栈的公司,依然还记得c++的知识
  • 2 我自己并不清楚c++的那些基础知识,是我自己的不足,我没有什么好说的。不足就是不足。
  • 3 最关键的一点,面试官让写代码的时候千万不要一上来就写代码,先说说自己的思路,然后在纸上画一画,涂一涂,然后再和面试官边说思路,边开始写我当时因为心态崩溃了,直接就开始写代码,哎。一紧张连大二的基础知识都忘了。
  • 4 心态很重要,心态不能崩!

当时面试完,感觉自己完了
结果第二天,2-23日,师兄给我电话,说过了,等hr面吧

2-25日 hr面

Hr面试的时候,基本就是谈人生聊理想

  • 1 他们对我的评价
    对分布式很熟悉 对c++和网络不熟
  • 2 职位变动的核心原因
    舒适区
    没有太大的进步空间了
  • 3 说说内部的活水计划
    我自己没有试过
  • 4 花了快5分钟讲新零售
    然后说如果领域现在竞争很激烈,咱们有一个项目,眼瞅着要上线,但是发现还有一些bug
    作为领导,你有两个方案
    项目整体delay,修改完之后再上线
    先上线,再修复
    请问你怎么选择?
    我是说先上线,再修复,然后原因blala…
    Hr说,这个问题其实没有最终的答案,只是想听听你的思路
  • 5 上线之后,用户投诉说不好用怎么办
    先让产品分门别类归类问题
    找出重要的的问题 先修复(就是那个重要和紧急的四个象限)
  • 6 阿里讲究帮助别人,你有帮助别人的案例么?
    写博客 帮助别人
    互联网的分享精神
  • 7 有什么业余爱好,讲讲
    我说我喜欢看中国古代史
    给他讲了这个故事,这个博客也是我写的
    http://blog.sina.com.cn/s/blog_14e200ad40102yu2j.html
    谈谈忍耐
    面试官很喜欢这一点,说自己一个好朋友也喜欢读历史,balbal,以后介绍你们认识
  • 8 说说你目前的收入情况 你希望涨幅是多少? 婚姻情况
  • 9 我还有一个问题 关于竞业协议

Hr面试感想

Hr面试本身没有什么好总结的,就是谈人生聊理想
但是也还有几个要说的
你为什么离职?你为什么来我们公司?
这两个问题,hr基本都会问,你得好好想想。
另外关于和面试官聊历史的是,我只能说,伙计们要注意积累,注意总结,当时如果没有写那个博客,面试的时候就回忆不起来.总之一句话: 凡是你认真记录过的东西,都不会辜负你的

关于内推

社招的时候,找工作有3种方式,直接投简历,通过猎头和找朋友内推。(其实我校招也是走的内推)
其中找朋友内推也分两种:

  • 其一 内推的职位就是帮你内推的小伙伴的部门
  • 其二 内推的职位和帮你内推的小伙伴的部门没有关系
    个人觉得最好的方式就是,你找准某个职位,然后让这个部门的朋友帮你内推。
    很多朋友可能会说,我不认识大厂的朋友呀?
    其实,互联网就是一张网,你的朋友的同事,你的同事的朋友,你上司的前同事,都是你的资源。
    可能还有小伙伴说,我真不认识那些朋友,我周围的朋友也都是小厂的……
    那么我问你,你真的努力找了么?
    我自己就是从腾讯跳到阿里的,算是在两个公司都认识一点点朋友了。你看了我的文章,咱们也算是有点缘分了,如果你给我发私信,说你想去某个公司,balabal….请求我帮忙做个推荐。你说我会不会帮忙呢?你说,我把你捞到阿里来,说不定你还能请我吃顿烧烤呢,多好的事情呢。我何乐而不为呢?
    伙计,办法总比困难多,只是看你想不想去做!!

2020-03-13拿到offer

感谢

一本好书对人的影响是很大的。
尤其感谢李智慧老师,他的<<大型网站技术架构–核心原理与案例分析>>三年前帮我拿到了腾讯的offer,现在又帮我拿到了阿里的offer。
我建议看到此处的朋友,最好自己买一本这本书。不要用电子版,就买实体书,花不了多少钱。
我自己的博客也有这本书的读书笔记。

  • 7
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值