阿里系个人面经(持续更新)
9.22更新
部门匿 防定位 主要提供面经来大家一起讨论+记录,只记录有印象的问题
高德
8.16 一面
上来先拷打实习经历,自己的实习经历没复盘好,有些地方讲的很模糊,被质疑:"你确定?"
之后就是ez模式了,全八股:进程线程、url全过程、HTTP/HTTPS、死锁、Java集合类、MySQL语句执行流程、事务、Redis淘汰、过期、设计登录系统
算法:无序数组找topk
8.22 二面
1. 讲认为最满意的一个需求
2. Redis如何保证可靠性、zset
3. 从用户发起请求,到你的代码执行逻辑,讲一下整个流程(大致就网关、微服务框架那些)
4. 负载均衡怎么做?七层负载、四层负载
5. RPC框架中,如果一个服务挂掉,如何处理(不会,求大佬指点,现在想想应该是要我讲熔断器设计)
6. 了解Tomcat或者一些微服务框架中线程池一般设置为多大?为什么(不会,叫我蒙并且说说为啥,我就从按照IO密集型的思路分析了一遍
7. 假设Tomcat最大支持200线程,每个请求响应时间20ms,计算理论qps
8. 4核8G服务器,一般无法实现上述理论的最大QPS,你如何去分析?
9. 假设压测某个服务,QPS上不去,失败率在上涨,响应时间也在上涨,CPU不高,怎么分析问题,并且用什么工具定位(懵了,我说的就是下游超时、GC、IO太多、线程切换太大这四点,求大佬指导)
10.系统可用性2个9什么意思
11. 反问,了解团队业务,细问了面试官和竞品相比的一些优势
8.28 三面
面试官是个大佬,主要是讨论,就当是在线学习了,收获了很多知识
上来先聊我的一个Nosql kv数据库项目,让我讲这个项目的创新点。然后我扯到了一些基于LSM树的数据库,聊了Leveldb的一些读写放大的问题,进而介绍自己项目的优势,然而正中他下怀,面试官也对leveldb很了解,然后给我讨论了一些leveldb的原理,然后指出了我对leveldb一些研究的不足。
然后问我如果想项目从单机设计成分布式的应该怎么设计。我一开始答成了主从,他说主从是防灾,让我再想想。后面答:多主+客户端代理维护key和主节点映射+从数据备份。然后面试官又和我介绍了一遍多主集群的两种实现方式(类似redis cluster的gossip和类似codis cluster的客户端proxy)
之后是思考题:2个玻璃珠从100楼扔下来,如何以最少且稳定的次数测出从那一层开始扔玻璃珠,玻璃珠会摔碎?(知乎有题解)给出思路并计算次数。3个玻璃珠的情况?
最后问个人情况,学习经历、实习有什么收获这种。
总体来说高德的面试强度还是挺大的,二面三面都感受到了压力,基本没碰八股,希望能有个hr吧
8.30 HR
一周内意向
9.12 OC
【控股】-爱橙
8.21一面
1. Go协程模型
2. Java Go GC区别,tcmalloc,还追问我jemalloc,直接就是一个不会
3. 之前实习用什么,答Python,问为什么web server用python写,答技术债,问知道python为什么慢吗,答不知道
4. 倒排索引
5. mysql乐观锁、索引
6. Kafka如何保证消息被处理且仅处理一次
7. 如果要更新两个表,如何保证原子性,刚性事务、柔性事务
8. Redis如果数据太多内存不够用了怎么办(这个没答好,我说建集群,他说key迁移过程会导致服务不可用,感觉没get到他意思,求解答,难道是答持久化、淘汰这些吗)
9. 大数据排序,内存存不下,多核,如何排序
10. 算法:1-n个人站成环,1开始报数,第i轮报数报到i的人出列。从出列人下一个继续从头报,问最后剩谁
(阿里系最利好的就是代码不用跑,有思路写出来就行,我一开始是想的约瑟夫环的递归解法,面试官说不用想那么复杂,模拟暴力能解就行,因此On^2复杂度解决,然后面试官让我口述下怎么降低复杂度就pass了)
11. 反问,了解这个bg下的业务团队划分
后续hr打电话问了下个人信息,未来职业方向,然后说回去和二面面试官聊一下后续是否推进,第二天没消息,估计是不太匹配挂了。
饿了么
8.22 一面
整体简单,基本八股,因为我说我主力语言是Go,所以有些Java没答出来面试官也没太在意
1. 个人学习经历
2. java八股,线程池、JVM、Hashmap、volatile
3. mysql执行流程、慢查询调优
4. redis:分布式锁,mget的问题
5. kafka多topic为什么有性能问题,为什么kafka性能快?零拷贝?
6. 反问,了解业务,得知饿了么只有两轮技术
8.28 二面
面试官很严肃,自我介绍完之后,让我所有经历中挑一个给他讲。我讲了实习中的一个需求
之后就是针对这个需求深入的讨论,他了解了整个需求链路,然后问了一些细节,比如整个需求涉及到的数据结构,redis crash如何处理,mysql redis一致性怎么做的。分布式锁的细节,会不会死锁,如果业务超时怎么办,分布式锁在高并发场景下怎么优化(当时没答好,现在反应过来应该就是分段锁的思路,大锁拆成n个小锁,然后库存也拆成n份)。反正聊的很深,具体记不清了,针对这一个需求就讲了三四十分钟。
8.30 HR
一周内意向
阿里国际-Lazada
8.31 一面
临时打电话来,直接约面
30min 3道基础算法:求一个树距离最长的两个节点、旋转有序数组查询、前序中序构建树,20min完成,面试官也没让讲思路,直接下一环节
后面就主要聊实习、项目,聊的比较浅,大概20分钟就结束
反问:问了下部门业务,此外因为之前参加过早鸟招聘,流程应该会推的更快
9.19 意向
应该是早鸟的原因,莫名其妙突然收了个意向
灵犀互娱
9.6 一面
很水,问了下实习,30min到点结束
9.8 二面
基本还是实习和项目,但问的深一点,会提出质疑,40-50min
9.12 三面
面试官迟到10分钟,总共面大概一个半小时
先聊项目,10min
再聊实习,讲一个自己做的需求,并细问
算法题:K个链表翻转
场景题:短链系统;要根据地理位置查询怎么做(我只说了个GeoHash,他还问细节,我说不会)
阿里云
9.8 简历评估面
这轮还在简历评估阶段,约的电话面
八股:Go基础、Java基础
FaaS相关
然后问了我k8s相关的一系列问题,我直接说不会
然后又问我会不会spring,我说不太会
之后就还是撤了些基础,比如RPC框架服务发现,负载均衡,同机房服务如何做服务发现这些、MySQL相关
整体大概三四十分钟,感觉挺多没答出来的,但还是给过了。
后续还留了到算法题,大致是多机器的任务调度问题(每个任务有开始时间、执行时间、超时时间、惩罚,有N个机器可以执行这些任务,某个任务如果执行不了则要接受惩罚,给一个调度方案使惩罚尽量小),让我在第二周周二之前完成发给他。后续我实现了个贪心,他说不是最优让我试试dp,dp我实在推不出来(真的能推出来吗,不是NP-Hard吗?),他就让我在单机器条件下做,顺利做出来。
9.20 二面
同样蛮水,感觉自己不是很适合这种云原生,很多他问的点我都不太能get到,但是也过了
9.22 三面
蛮水的,聊了十几分钟做过的需求,让我讲亮点,然后就是聊爱好,职业选择这些了,整体面了二十来分钟。
淘天
9.13 一面电话
很奇怪的体验,面试官问了下我做的需求之后就一直和我聊天,聊到职业选择规划这些,还给我吐槽现在互联网
持续更新到全部挂掉,欢迎收藏。。。
#面经##阿里#