在北京待了快两年了,之前一直在一家大型国企实习家转正,2017年毕业到现在也已经毕业快一年了,几位一起在京的同学想回南方发展(本人也是南方人),所以自己也下了这个决心,月初递交了辞呈。经过考虑之后选择了杭州,既然选择了杭州阿里巴巴自然是一座要抱着敬畏之心去征服的大山。
首先非常感谢玄令涛的内推让我获得了这次机会,三月二十六到的杭州,二十八号在同花顺面试的时候突然接到了阿里的面试电话,无奈放弃接听。完成面试之后打回去旧只是分机好了,以为就此失去机会,回到住处方式的躺在沙发上看爱情公寓(哈哈本人比较喜欢看老片),就在这时电话来了,有点蒙没有一点点防备,废话不多说直接上电话面试内容:
-----------------------我是华丽的分割线---------------------------------
面试官:你先简单介绍一下你自己。
我:简单的介绍了一下自己的简单情况,说了之前自己上家公司的业务领域。
面试官:你以前是在国企上班的,我看你简历上描述的技术也挺新的说说你比较擅长的一个方向。
我:描述了之前自己对Redis有过较深的学习
面试官:那你能说说Redis是怎么处理Key的批量失效的?
我:回答的答案面试官视乎有些不满意
面试官:那不管Redis是怎么实现的,你说说要是你来实现这个失效机制你会怎么做?
我:我一下子毫无思路,他说给我点时间想,我想了一会说到了建立一个单独的监听线程。
面试官:如果需要集中失效的key有几百万几千万个你不觉得这样很抵效果吗?
我:最终在面试官的提醒下提出了伪失效,就这样Redis的话题结束
面试官:看你在项目中使用到了Dubbo,那我只问一个问题,Dubbo框架是怎么发现一个服务是否失效的整个流程是怎样的?
我:之前在看相关的资料的时候看过相关的机制所以顺利的答了出来,只是在语言组织上有些生涩。
面试官:我们来聊聊消息中间件吧,你说说消息中间件怎么保证消费者的消息的顺序的?
我:(由于之前一直使用的的ActiveMQ感觉面试官问的是RocketMQ所以回答的不怎么对的上)。。。
面试官:现在我们来聊聊JAVA基础哈,你说说对多线程的理解?
我:根据自己的理解说了一通
面试官:多线程的加锁机制,如果一个方法递归调用有同步快的方法,通俗的说也就是自己调用自己会不会发生死锁的情况?
我:由于之间还真没想过这种情景多以回答的不好。
面试官:有了解过lock包下的类吗?
我:使用过一些
面试官:那你说说读写锁想较于Synchronized有什么优势?
我:说到了大概,面试官也就没再往下深入问。
面试官:说说Java原子类的原理吧,及使用过的原子类?
我:大概说道了分段式乐观锁。
面试官:假设CurrentHashMap对象需要进行重新排序那么是将所有的内容的行加锁排序,还是分段的,如果是分段加锁,那实现的机制又是怎么样的呢?
我:不知所云的说了一通,面试官也就转移了问题。
面试官:对斜程有没有了解?
我:没有,然后面试官耐心的跟我解释了何为斜程已经其将在之后的Java版本中将扮演重要的作用。
面试官:你概括一下如果我在浏览器输入alibaba.com那么DNS的工作流程是怎么样的?
我:由于自己是移动互联方向的所以计算机网络的只是还不错,提到了个人大概
面试官:那如果我输入的这个网址本来就不存在,DNS会怎么处理和具体流程?
我:.........
中间省略一些已经记不清的问题.....
--------我是被省略的问题--------
面试官:最后一个问题,关于Linux内核的,我们都知道Java有IO,NIO,某某IO(没听清),那你知道Linux内核是通过什么原理实现poll机制的吗?
我:一听到Linux内核就知道没戏。呜呜呜.....
最后:
面试官:我的问题问完了,你有什么药问我的吗?
我:我知道我这次面试发挥很差,我想您给我一些以后学习的建议?
面试官:多去深入原理,多去借鉴,多深挖。像阿里每天这边的系统每天最多要处理几十个G的数据量,这些框架是怎么承受的,原理是这样的,都是值得借鉴的。
面试官总结:我们在面试的时候并不要求被面试者所有问题都答出来,我们之所以这么深想试出你的深度,因为这边面试都需要对被面试的人进行一个评级。
总结:这次电话面试让我知道了自己许多不足的之处,总之一句话,学海无涯!