欢迎使用CSDN-markdown编辑器

一名渣渣大三的阿里面试

永不放弃


背景:

昨天正式收到了阿里的通知,通过了阿里的实习生招聘面试,心中是无比的激动啊。
先说下我个人的情况吧。博主本人报的是阿里的C/C++研发岗,在4月过了阿里的笔试,但是我一直在纠结以后是去考研还是工作的问题。因为我觉得自身水平去面试BAT这种公司肯定是要跪的。但是面试(5月5日)前10来天左右,同寝室大神(过了腾讯的实习面试)各种支持我去工作,也用他自己的经验激发了我努力准备一下的决心,于是我就开始了长达10天的准备旅程。


准备:

其实我的准备大部分也都是参照网上其他大神的博客上来的,首先问同学借了一本《剑指offer》,不得不说里面有一些很好的面试题,和面试的思路。然后准备基础,也就是C/C++语言的各种问题。深入了解C++的特性,和一些STL里面类的实现。数据结构里面重点复习了链表和二叉树的各种操作,还有就是哈希表的一些知识,如何利用哈希表。其中最让我受益的就是看了一些处理海量数据的方法,其中大量的使用哈希,让我一面过的有惊无险。再一个就是8种排序算法。不过其实我也是做了一把死,关于OO编程方面,我并不是很了解,而且在复习的时候也并没有特别关注这方面,也就吃透了一个单例模式。(我估计面试官也是觉得我基础还行,才没有特别计较我设计模式方面的无知)


面试过程:


一面:

一面面试官其实就问了我3个问题,但是考察的东西可以看出来都是些很基础的东西。一上来先聊了会我平时是不是喜欢写代码啊,觉得写代码是不是很有激情什么的,然后就进入正题了。首先是一道手写代码的题目,面试官拍拍脑袋就说要我求出一个数组中的第二大数字。我一想《剑指offer》里面就有这种类型的题目嘛,而且本道题目难度系数也并不大。我仔细问清楚面试官的需求,其实也就是不用排序实现吧。他表示是,那么自然开始写代码罗。当然还是要注意代码的鲁棒性,实现功能一般是不会出问题的。下一个问题则开始加大了难度,面试官要我求出一个字典中所有的变位词(也就是说字母组成相同的单词,如on和no,one和neo)。这一题只需要我说出我的想法是怎样就可以了。还好我在最近看了许多博文,我直接说可以利用英文字母只有26个的限制,采取跟bitmap类似的方式对一个单词进行转换。在一定条件下可以使用2-bitmap实现一个单词的52bit表示。因为是2bitmap所以有4种状态,那么一个字母在单词中出现的次数是4次的情况应该不多吧,所以我当时觉得这应该是不错的方案了。然后面试官示意我继续讲下去。之后就水到渠成,讨论到了用一个map保存结果,key是这个编码后的2bitmap,面试官关心一个value是什么的问题,我当时脑子一抽,竟然说是这个key对应的变位词有多少个(泪目)。。。后面则是说一个string,用$做分割符号保存单词(仍然脑抽ing)。。。之后面试官直接说value难道不能是别的。。。我才发现我真是脑抽到爆炸QAQ。。。最后则是聊到了时间复杂度的分析,说有1000个数字,给出一个数字要查询是否在其中的方案。我当时说可以用STL容器吗,他说可以。那么不是直接一个set就可以了吗(先不考虑重复)。然后我又给出了自己对数组进行排序,然后2分查找,和构建一个二叉查找数的办法。经分析其时间复杂度都是NlogN,但是面试官问我这2个哪个效率高。。。我当时卡了好久,好在面试官并没有卡我,告诉了我用数组会快一些(好人啊QAQ)。。。之后是一些非技术问答,就问一些性格上的问题,还有最后的万精油问题:”你还有什么想问我的?“。回答这个问题,我也是选择机智的回答:”您觉得对我有什么样的建议?“这种之类的问题。就这样我一面有惊无险的过了。


二面:

由于当时来面阿里的人很多的原因,二面和三面是在一起的,二面技术面考官和HR坐一起来面你。同样还是让我先自我介绍了一把,我很快的阐述了自己在简历上写的东西,然后进入正题。技术面试官先是考察我对C++的了解程度,问我析构函数的virtual型有什么意义,这么多是为什么。恩,这样子是难不倒我的。可是之后就连跪不止了,之后要我实现类似virtual构造函数的功能,其实也就是工厂模式,QAQ当时面试官还主动提示可以从设计模式着手了,可惜我复习时这块并没深入,于是就这样被虐了。之后则是手写代码题,同样虽然我想法有了,可能面试官觉得我之前表现已经有了一定折扣,觉得我动手写代码能力没他想象的强,最后我没写完,他听了思路也就过了。这时候HR开始了问题,开始就是一个不好回答的问题,由于不是很好讲述,在这就不提。不过之后就是些趋向问题,比如你想在哪方面发展,是网络啊还是底层啊还是什么。我也很明确的表达了自己的意愿,并说明我是想去阿里云飞天团队,技术面试官途中还问了很多问题,比如你对阿里云的看法和你觉得阿里云里面技术人员主要是在做哪些事情等。


总结:

我对自己一面的表现还算是满意,面试官看来也是这样的,但是二面则表现出来了我的弱点,我也决定在7月初正式实习之前恶补这方面的能力。并且我面试完之后已经觉得自己与阿里无缘,想一心准备考研了,第二天中午没到就有短信和电话提示我成功通过实习生面试。当时我的心情,简直爆炸!


总而言之我这个故事也告诉读者一个道理,凡事预则立,不预则废。不要以为自己是个菜鸟就放弃自己,你已经通过了笔试给了你面试的机会,为何不大胆一搏,去试一试自己的人品和实力呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值