阿里实习面经(非内推)

来源:互联网 发布:资源数据库微博 编辑:程序博客网 时间:2024/06/05 15:54

        今天阿里实习生面试,可能运气比较好吧,问到的基础自己复习过,面试官人也比较和蔼,即使答不上来也会慢慢引导你,顺利面了三面,要知道之前都是只有一面的我啊!!!留下面经,自己作为总结批注,也希望对看到的人有所帮助。

        一面:技术面,简单自我介绍以后,就问我觉得自己有什么优点。我当时那个汗啊怎么一上来就问这个,然后我就回答说自己对一些不太懂或者难的问题比较较真,顺势举了一个在项目中的刚好自己写的大数据表格显示的例子,答完后他应该比较满意,接着开始问项目,我做了我项目的一些具体描述后,他又问了你觉得项目中有哪些难点,亮点。其实自己在做的时候可能会遇到一些具体的困难,但现在想总归一时半会不知道怎么回答,就自己组织了blabla讲了一大通还算顺溜的表述,然后他又接着问了一些细节性的东西等等项目相关的东西。接着他又问了一些我最后一个本科毕设的一个小软件,自此项目的东西算是结束了。因为项目中做的东西基本都是GUI,他就又问我对类似于windows编程的东西的了解,我回答就是知道一些但没具体了解过。

        接着问了一些语言方面的基础,比如析构函数为什么是virtual,继承时候的构造顺序,static_cast和dynamic_cast,返回函数中临时变量的指针会不会有问题,如果你在写一段代码时new了很多东西,交给下一个人来写,但是他忘记delete,该怎么解决这个问题(这个没有回答出来,他引导我的答案是:设立一个全局的new,delete,每隔一段时间打印出new,delete的信息,然后检查,如果发现不需要的就进行delete),除此之外还问了些许网络的东西,数据结构,但都是随便问了问了解我的情况没有深入的问。了解了下自己看过的一些书或者博客。感觉自己遇到了一个好面试官,不会的东西他会引导你,你说的东西基本稍微一提他就懂你的意思,答案就不需要深入讲下去了。

        二面:交叉面,就简历中获得的“优秀研究生”怎么获得的,我就老实说了说实情,然后没有再说啥,直接给了题开始编程。。。题目是打印出10000以内所有的质数,尽量优化算法。其实当时就蒙了,不怕笑话我能说我所有C的基础题中最讨厌的就是这个素数么。。。稍微调整了下想到了第一个简单暴力的算法:挨个求每个数是不是素数,边界是2~n/2(假设在判断n是不是素数时),因为好久没写不确定另一个边界是不是n的开根号所以保险起见写了n/2。花了十几分写了之后确定自己还有一段时间,于是想了想比较高效的做法,于是写了另一个方法,回来后查了查发现比较官方的说法应该叫筛选法:因为给出的要求10000以内自然数中所有的质数,数据量不大,所以可以建立一个10001大小的bool类型的数组flag[10001],初始化所有的为true,以下标表示自然数,然后从最小的开始扫,当发现当前flag[i]为true时,把10000以内所有是以i为倍数的下标的flag置为false,直到10000。

        写完之后,他又甩给我一个题:字符过滤,两个字符串mask和str,过滤掉str中在mask里出现过的字符,并把str中的字符向前移动,填掉被过滤字符的漏洞。mask最大256字节,str最大4096字节。我的想法是如果能以字符作为下标,建立一个类似于字典的表来标记这个字符有没有在mask中,这样在扫str中字符的的时候就能直接找到这个字母有没有在mask里出现过,所以以此为依据建立了一个bool dic[256],将字符强制类型转换为int作为下标,得到一张mask的记录表;在扫str的字符时,考虑到逐个移动效率太低,所以设置头指针和尾指针指向str的开头和结束,并将尾部不在mask中的字符移到首部在mask的空洞中,提高效率。期间花的时间比较长,可能因为面试官甩了我题后自己跑出去上厕所玩去了,没了压力做题果然会太放松有点慢,加着没事思考问题时又喜欢神叨叨。。。=。=  面试官后来还问我怎么写这么慢,当然这跟自己写的太少也有关系。写了两个题,刚好面试官溜达一圈回来后可能心情大好,就随口问了问我预期的实习地点,然后的然后就这么木有了,二面完。

      三面:hr面,我能说个人觉得hr面还是比较恐怖的一个环节么!可以说比技术面还令人纠结么!hr是个姐姐,也是挺和蔼的,先就问我又没有投其他公司,我果断的说没有,然后说了投阿里的一些原因,个人感觉这个问题答的比较差劲(可能因为我确实还投了腾讯,而且之前没想到自己会有hr面所以根本没有准备此类的说辞!),应该给留下了比较不好的印象,后来还问了一些平常的hr会问的抽象的问题,比如你觉得你是怎样的一个人,遇到一些矛盾或者问题你怎么解决的,你有没有遇到一些重大的事件等等等,这些问题统一给你的感觉就是一是一时半会压根不会想起来哪件事重大,二就是不好回答,比如你为什么选阿里啊,师兄师姐选bat哪里的多一点,有很多问题你感觉是坑可你又不知道怎么避开,个人感觉是比较差的一面,面试时候需要好好重视的一个环节,难度不低于技术面啊!

        总结:个人感觉比较运气的一次面试吧,问的东西之前稍有看到或者准备过,比较薄弱的东西也没有问到,状态比较好,二面写代码思路也比较清晰。当然问题也很多,个人基础的储备太少,网络操作系统啊之类的东西只是本科学过,现在都忘掉了,所以这方面需要好好补习一下,代码方面还是写的太少。

0 0
原创粉丝点击