赞
踩
在 boss 直聘上无意间看到了阿里巴巴菜鸟网络的招聘信息,现在的部门已经有两名同学被蚂蚁金服录取了,自己就不服气的也想试试。这次面试其实并没有准备充分。
之前就听说总共有很多轮数,不仅会考察基础知识的深度,也会考察算法能力、项目设计能力、价值观世界观等。
自己抱着能走多远走多远的态度,挑战一下自己。
在发过去简历的一周后,大概是2月28号左右,一面的小哥哥下午打来电话约我2月28号晚上9点钟面试。
结果在 2 月 29 白天的时候,我基本上都没有怎么工作,而是把我平时积累的一些基础知识总结了一下,能总结多深就总结深。
到了晚上 9 点左右,电话响了起来。
面试官还是比较温柔的,上来先让我做了自我介绍,我简单介绍了一下自己有2年半的工作经验,之前做过什么项目,用了什么技术等等,面试官没有详细问项目的细节,但是项目的具体的功能和业务一定要讲清楚。
中间穿插着会问到一些基础知识。
总共面试了50多分钟,java基础能问的基本都问完了,基本的内容包括
从JVM到垃圾回收,最后一个问题好像是fullgc是否可以回收方法区
从线程池的构造函数参数到队列的拒绝策略
redis支持的数据类型到跳跃表,redis同步策略,如何自己实现lru等
mysql索引的数据结构,为什么用B+树不用B树,事务隔离级别,聚集锁非聚集锁,这个地方着重点一下,问到了一个非常细节的问题,如何用可重复读的隔离级别避免幻读问题。当时这个问题没有答出来,后来上网查了后可以使用间隙锁来实现。
spring相关、bean的生命周期等,最后问到循环引用问题spring如何处理的。
concurrentHashmap1.8为什么放弃了分段锁
数据库分库分表相关
其他的记不清了,就记得只要是跟java基础相关的基本都提到了,个人感觉一面还是以知识的广度为主。
一面结束大概一周多后,大概在 3 月 3 号,接到了二面的电话,由于当时在地铁上太吵了,我就约了 3 月 5 号晚上 8 点半面试。
到了 3 月 4 号 5 号的白天,又是基本上没有怎么工作,都在总结面试的东西,到了 3 月 5 号晚上晚上8点半,二面电话如期响了起来。
二面上来也是做了一个简单的自我介绍,然后简单介绍了自己的项目,感觉二面和一面最大的不同是,二面时候以知识的深度和解决问题的能力为主。
主要涉及到的问题大概有:
springAOP的原理,动态代理是怎么实现的,这个地方我基本上把动态代理的源码说了一遍。
fullgc的时候会导致接口的响应速度特别慢,该如何排查和解决。
snmp协议的相关知识
netty的相关知识,如何避免的NIO空循环问题,还有零拷贝等
问了一些简单的算法,说了一下自己的思路
剩下的记不清了,大概面了有 40 分钟多一点。
二面面完个人感觉还是非常好的,当时也比较自信自己可以进入三面,果然在大概一周左右,如期接到了三面的电话。
三面的面试官也是比较温柔的,三面和前两面最大的不同是这次的面试官特别关注项目的实现和细节,由于我最近一年做的是一个监控系统,从最开始的项目为什么要分这几个模块到每个模块做的事情用的技术和存在的意义,都需要解释的非常清楚,中间如果他有疑问的话就会立马打断来问问题,现在做的项目其实并没有太多的亮点。
面试中间还提到了 kafka 的 replicas 的作用还有他为什么比其他的消息队列好等等。
最后给了我一个微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。
面完三面后,面试官告诉我如果有四面的话,四面就要来杭州面了。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。