赞
踩
经过两次尝试顺利通过了阿里的应届生面试,马上进入实习阶段,这里把面试经验分享给大家,希望给即将实习的同学一点帮助。
第一次面试的是阿里的实习生,公司是蚂蚁金服,有师兄内推,具体职位是分布式调度,一共过了三轮面试,最后拿了B+。
时间过了比较久了,所以具体哪些知识是哪轮面得有点记不清,这里就随便说说了,还请见谅。
一轮面试问了hashmap,具体项目,还有虚拟机,虚拟机这时候我还没学,估计导致的减分不少,其他记不清了。
二轮面试面了分布式的很多东西,还有tcp/ip三次握手四次挥手,以及不少的虚拟机,这时我已经学了不少虚拟机和分布式的东西,所以结果不错,如果tcp/ip握手那里记得更详细,可能会更好,比如说ACK/FIN以及相应的序号等等,我当时只记得三次握手和挥手间都是通过连续的序号进行关联的。
三面面试官问了一个数据库访问一致性的问题,问什么时候两个数据库会出现数据不一致的情况,答案有几个,其中之一是向从数据库写数据时从数据库网络断了,这时无法判断是不是写入成功了。另外问了虚拟机的垃圾收集,还有分布式的负载均衡等等。
三面结束以后以为稳了,但是过了两三周没结果,最后状态变成了已回绝。据说是因为同级别的研究生比较多,结果凉了,说白了就是实力还差一点。但是这时另外一个部门的大哥联系了我(我们之前不认识),说看了简历觉得还不错,可惜拖得太久了,招人时间过了。。。。。应该说是我的幸运吧,这个大哥确实给了我很大帮助。
后来又内推了一次,这次内推的部门是菜鸟(其实内推的时候不知道部门是啥),内推人就是上次那个大哥,岗位是java研发。
第一轮是视频面试,然而我电脑摄像头坏了,所以改成了电话面,具体内容记不太清了,只能说因为是第一轮的关系,面的比较浅,没有涉及虚拟机分布式方面的东西。
第二轮是电话面试,这次面的很详细,包括具体项目中用到的三层结构DAO,Service,Controller,以及浏览器访问网页到服务器发回响应的具体过程,cookie窃取导致的session劫持,以及解决方法(服务端设置httponly),还有如何应对拦截报文导致的信息泄露,我回答的是利用https进行加密处理。之后又问了设计模式相关的东西,我对设计模式了解一些,但不是所有的都很清楚,主要是观察者模式,工厂模式等。之后面试官发了个邮件,直接来了个在线测试,题目是简单实现观察者模式。这个自然没问题,维护一个listener队列,事件发生就遍历调用接口方法即可。
第三轮可以说是非常懵逼了。二轮过了一段时候后的一天早上,HR突然给我打电话说到北京当地面试,面试专场时间到当天24:00就结束了,这是最后一天……..别管啥情况,我立刻买了票到北京,终于在约定的时间前到达指定地点,然后负责技术面的面试官还没来,先跟hr聊了会,倒是没问啥特别的,不知道是不是常规hr面都这样。。。不过hr是个美女啦,也比较好说话,感觉运气不错。后来面试官来了,第一个问题是讲解我做过的一个项目,用一个小白板加彩笔演示。具体涉及到了需求分析,原型图设计,数据字典设计,前后端对接,各种框架比如springboot,mybatis等。之后面试官设计了一个场景,输入关键字,同时在三个引擎搜索,然后返回结果,要求返回时间在0.2s,不管搜到多少都必须返回,同时如果0.2s内就查询到了所有结果,也要尽快返回。毫无疑问是个多线程的场景,我的思路是把所有返回结果都存到一个json里,开三个线程分别查询,查到了就把结果放到json里,键事先定义好,为了避免返回时正在往json放数据,可以用一个CopyOnWrite锁来限制一下(虽然我没实际用过这个锁),另外把一个标识有多少个搜索引擎完成任务的标志位+1。主线程可以用一个定时器,0.2s后把某个标志位设置一下,然后sleep,每隔一段时间检查是任务完成数,都完成了直接返回,没完成但是时间到了也返回。(当然用notify唤醒主线程可能会更好)。
最后问了数据结构相关的问题,主要是hashmap和treemap,以及各自特点和应用场景。这个属于比较常规了,没什么问题。最后问了红黑树的有序遍历,我假期自己实现了一遍红黑树,这里稍微想了一下,就用递归实现了,使用二叉树的中序遍历即可。
然后就是问面试官问题的时间了,最后面试官说等进一步通知,然后送我到了电梯口。总的来说感觉很好,但是成不成功还要看情况才行。
过了不到一个礼拜吧,来了个电话,问什么时间能去实习啥的,感觉基本就是稳了,又过了两天正式确认电话就来了,之后还有个录用喜报,同意的话就算是进入实习阶段了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。