前言:阿里其实是我想去的地方,昨天offer call了。部门是新零售。许愿offer。

   
其实春招我基本就结束了,就面了三个地方:阿里,腾讯,美团。腾讯和美团目前都拿到了Offer,阿里还在等待。纵观所有的面试中,其实感觉对于我最大帮助的有两个,第一就是算法能力,这个让我在笔试还是面试手撕代码都很轻松,基本上没有碰到难题,都是一眼秒。第二就是实习经历,在字节学到了很多东西,见识了很多新技术。其他公司简历也投了,有的也邀请笔试,比如pdd,快手。这个还没开始,后面佛系随缘了。有空就参加,没空就g了。

1.一面。

(1)自我介绍

(2)聊聊项目中的难点?

(3)你们服务中的qps大概是多少?(这个其实还是挺大的,有几千万)

(4)怎么解决的高并发?(从负载均衡到存储说了一遍)

(5)刚才听你说了后端存储是MySQL+Redis。说说MySQL?

(6)MySQL主从同步怎么实现的?

(7)MySQL索引?

(8)修改主键会有什么影响?

(9)Redis雪崩/击穿/穿透的概念?

(10)怎么解决这些问题?

(11)能说说Redis常用的架构吗?

(12)分布式缓存一致性知道吗?

(13)一致性Hash算法说说?

(14)操作系统了解吗

(15)能说说死锁吗

(16)死锁的解决?(从死锁的产生条件,预防,解除等)

(17)刚才听你说了银行家算法,能说说这个算法吗

(18)有什么想问我的?

2.二面

(1)自我介绍

(2)看你简历上写了了解Kafka,Rocket MQ ,nsq等,能说说这些吗?
(3)说说你们项目上消息队列的选型?

(4)Kafka高吞吐的原因?

(5)Kafka 用于流式计算做过吗?

(6)Rocket MQ为什么经常被用于在线业务?

(7)刚才听你说了tag过滤,能说说这是个什么东西吗?

(8)你们为什么要从nsq迁移到Rocket
MQ?(这个我咋知道,公司推得大家都得迁移。。。。,但是当时幸亏有大佬来讲了讲,我听了一下,说了几个重要的点,主要是nsq的双机房容灾这些)

(9)多线程了解吗?

(10)说说synchronized关键字?

(11)wait/sleep的区别?

(12)nitify/notifyall 的区别?

(13)线程的创建方式?

(14)callable 的优点?

(15)future 接口用过吗?

(16)线程池有几种?

(17)你平时用的哪一种?

(18)说说常用的拒绝策略?

(19)锁知道吗?

(20)自旋锁是什么?(这个最后还说了一下自适应自旋锁)

(21)乐观锁在JDK哪里有?(ConCurrentHashMap里面有)

(22)JAVA的GC?

(23)GC算法/垃圾回收器/分代回收

(24)频繁Full GC怎么处理?

(25)Linux 了解吗?

(26)IO模型说说?

(27)多路复用怎么实现的?

(28)epoll 一定比select/poll 高效吗?(不一定,具体要考活跃的连接数量)

(29)查看当前cpu的状况的命令?(top 就知道这一个)

(30)查看tcp端口?(netstat -t )

(31)微服务了解吗?

(32)服务注册发现是什么意思?

(33)熔断的概念能说说吗?

(34)能说说常见的熔断算法吗(说了一个基于水滴漏斗的算法)

(35)有什么想问我的?

二面说实话,身体被掏空。几乎把我知道的都问了一遍。感觉就是在探底的。然后面完没有一个小时,查了一下就过了。

3.笔试。

面完又被拉去做了笔试,两道编程题。

(1)N个人选出i个组成一队,再从这i个选出一个队长,有多少种方案?这个题很简单。抽象完就是这个:

                                                                          

这个求和很简单,答案是:

                                                                           

至于为啥,简单推理一下,考虑二项式:

                                                                  

对这个二项式求导,然后就会发现结果了。最后令x=1就是答案。这个推到我当时直接在脑子里完成的,前后没有到30秒。这个题需要用到快速幂,大概3分钟就秒了第一题。

(2)一个搜索+DP。我写了一个bfs+dfs+dp 。写了100多行勉强AC.

4.代码评测

本来以为笔试完了就没了,然后又要部门代码评测。四个题。两个算法题我已经记不清楚了,因为很简单。还有两个JAVA多线程。

(1)用两个线程交替打印1-100里面的数字,一个奇数一个偶数。

(2)写个简单的多线程网络程序,这个写的比较简答,写的是基于TCP的同步阻塞搞法,最后又说了可以用JDK的NIO框架或者封装好的Netty可以高效实现。

5.三面

(1)自我介绍

(2)学校里干了啥?

(3)JAVA 学了多少?

(4)框架了解过吗?

(5)能说说Spring里的IOC吗?

(6)依赖注入是什么意思?

(7)AOP呢?

(8)Spring AOP 的底层实现?

(9)Proxy 类里面的Invoke是什么意思?

(10)说说你对回调的理解?

(11)Spring Boot 也了解过吗?

(12)说说它和Spring的区别(幸亏,因为我真的没用过,只知道区别)

(13)网络了吗

(14)说说TCP的三次握手?

(15)四次挥手呢?

(16)为什么要有TIME_WAIT?

(17)包会在链路里面一直死循环吗?(不会,有个ttl)

(18)说说你在字节的项目吧

(19)服务端推送你们是怎么实现的?(说了个WebSocket的搞法,其实我没怎么做这个)

(20)你们的数据量多大?

(21)怎么提高吞吐量?

(22)刚听你说了Faas?能说说这是什么吗?

(23)说说IAAS,PAAS,SAAS?

(24)你怎么看待Faas这个东西?和之前的有什么改进?

(25)刚才听你说你的Faas上游延时其实很高,怎么解决的。(这个瞎说了几个点,其实我一般都是屏蔽掉延时报警。。。。)

(26)有什么想问我的?

三面其实聊得挺舒服的,面完查了一下也直接过了。

6.四面

(1)自我介绍

(2)说说你在字节的项目

(3)权限控制怎么做的?

到了这里,我介绍了一下xxx,然后xxx,最后xxx。

面试官提了一个问题,他这个问题在我看来不是问题,因为不可能出现这种情况。我没get到他的点,就一直bbll这个东西,有10多分钟吧。。。。。最后不了了之。因为我都告诉他了,这种情况不会出现,就是出现在中间件部分就被拦截了,不会打到我这里。他硬要说不安全,问我怎么解决,我就说我再加一层鉴权逻辑。。。。然后我俩bbll个没完了。

(4)好吧,其实你没讲清楚。换个话题。JAVA学的怎么样?

(5)说说你对线程的理解。

(6)多个线程之间的同步?

(7)synchorized 和Lock的区别

(8)能说一下JVM的synchronized支持吗

(9)集合类用过多少?

(10)HashMap 的实现?

(12)线程安全吗?不安全说一下哪些安全?

(13)HashTable 和HashMap 的区别?

(14)设计模式用过哪些?

(15)单例会在哪些应用场景中使用?

(16)单例的线程安全怎么保证?

(17)观察者模式是怎么实现的?

(18)说说消息队列的应用场景。

(19)Rocket MQ 的特点?

(20)为什么常用与在线业务(低延时)

(21)平时看过那些书?

(22)能实习多长时间,什么时候开始?

(23)有什么想问我的?

四面面完感觉没了。。。。因为最后问了一下面试官比较看重面试中的那些点,他说对问题的理解,看看能不能解释清楚,这不是摆明了说我有些问题没说明白吗?感觉gg

 过了几天,查了一下还是过了。

7.HR面。

聊了很多,从高中聊到大学以及未来。为啥学计算机?为啥去这个大学?好吧,还算行。

8.昨天 Offer Call 了。

阿里面试算是结束了,看一下还是挺不容易的。

 

                                                                      

技术
今日推荐
阅读数 23
阅读数 17
阅读数 11
阅读数 11
阅读数 10
友情链接
码工具
Toolsou
API参考文档
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信