前言
第一次尝试阿里面试,是校招+内推,面的是Java研发岗。前前后后面了7面,从6月初开始的第一面一直到7月中旬,耗时很长。最后跪在了Hr面上,想着写一篇博客来记录一下自己的面试经历吧。
面试经历
一面
一面的面试官很nice,感觉应该是个挺有活力的学长,问的问题也不算难,主要集中在我的项目和项目用到的一些算法上。所以写在简历上的项目一定要好好复习,面完一面后学长应该对我印象不错,说和我挺match的加了微信,一面完,耗时40min。
二面
本来约好的周末,好像是因为放假还是怎样的,二面面试官把我忘记了,所以改了时间后,原来的电面改成了线上编程。写一个关于树的算法,那段时间刚好在学习有关树的数据结构,所以很快就写完了,感觉还可以。前后加寒暄一共30min不到。
三面
三面记忆尤其深刻,是周四的下午,才上完课回寝的我正准备打开电脑看视频,突然就接到了电话面试。。。
三面更侧重于技术层次了,项目简单的问了一下,问了很多偏向应用的知识:
(1)你说你会scrapy,能简单介绍一下scrapy的原理么?
(2)你项目中利用过数据库,说一下你熟悉的数据库的存储方式?(我提到了B+树、B树)
(3)说一下B+树和B树的区别?
(4)红黑树了解么,简单介绍下?
(5)关于网络的一些基本知识,比如TCP三次握手等基础知识
(6)能说一下网络掩码的作用么?
(7)说说自己项目中使用的I/O模型?
(8)你刚才提到的select简单说一下?(我在这里提到了epoll)
(9)我正准备问你和epoll有什么区别,你再详细说一下吧
(10)场景应用题:如何设计一个火车站购票系统(这个问题我是真的不清楚是从哪个角度回答,是从排队论等侧重算法角度考虑还是从实现的角 度考虑,最后反正我说了自己的理解,还提及到了数据库的锁机制)
(11)平时怎么学习(博客、github.....)
问题记得不太清了,大致这么多,顺序可能有些不对。面试时长大概50min左右。
四面
四面是比较尴尬的一场,因为当时正在电影院看《侏罗纪世界2》,看完开头就被电话打出去面试了。
这次基本把自己做的项目都详细问了一遍,说了怎样实现的、当时遇到的问题以及解决办法,项目说了挺长时间的。然后又问了关于C++的知识:
(1)C++的继承
(2)虚函数
(3)B树和B+树和红黑树(为什么那么喜欢考树)
面完后电影都看不进去了,时间也没看,大概40min左右
五面
到五面的时候我已经进入考试月了,下午就要考试,中午来了电话面试,呢段时间都没怎么准备面试,而且这个面试官有点高高在上的感觉,问题都没有表述清楚,所以面试的时候感觉非常不好。
(1)说一下数据的存储(有点蒙,不知道从什么角度;我提了一下补码,也说了大端小端存储),面试官好像都不满意
(2)问了一道树的算法题,不是满二叉树,怎么高效找到最后一个结点?(没想出来,向面试官提了一下启发一下,面试官就告诉我可以用二分排序做。。。我简单基于二分法提了一下思路,到现在不知道解答是什么)
(3)一组数据,有个新数据怎样高效检索与插入?我几乎把能想到的都说了,最后说利用散列表。面试官让我介绍一下散列表。他最后告诉我答案应该是数组???!!!不过确实有道理。。。
(4)一道智力题
(5)有一个IP地址池,动态变化着,求出中间的IP地址。我说了自己的思路,主要就是要排序与检索非常的快,我当时感觉这次面试已经要完了,就随便提了一下红黑树存储。面试官说你学过快排么?才晓得怎么去做。。。
反正这一面感觉相当不好,导致下午的考试也是一团糟。。。最后能过非常意外,耗时35min
六面
视频面试,这一面已经不是技术面了,唠唠家常之类的。自我介绍加上考察应变能力与思维能力吧。
七面
Hr面试,Hr在阿里可能是比较强的存在,放在最后一面。本来以为已经稳了,大意失荆州。所以以后面试的时候千万不要透露出自己不打算就业的意图。
总结
自己面了7面还是自信满满的,直到前几天上网查了一下结果,显示"已回绝"。阿里的面试面了那么长时间,就直接给挂了,不太能理解Hr的思维是怎样的。。。有些失落,不过自己通过面试确实学习到了非常多的东西,今后继续努力吧。
网友评论