阿里算法实习生面试回忆

阿里算法实习生面试回忆

前言

从本科毕业到现在,经历过的面试至少也超过半百了。自己也做过面试官,算是两方面都有体会了。但是从未面试过大公司的背景,让我感觉面试之前还是有点心虚。

电话面试

阿里的HR效率还是很高的,前一天投出的简历(网申),第二天傍晚就有回应了。既然那么迅速,自己也高效点呗,当场决定开始电面。

电面分为5个大类的内容:
1. C++语法。什么是多态,重载和重写的区别,虚表里存的是什么(这个没答上来),构造函数和析构函数是否可以为虚函数。都是一些基本知识,不懂问度娘。
2. C++数据结构。主要是STL中的一些容器类。比如#std::map#的内部是用什么结构实现的(红黑树),STL中的内存如何管理的(说来话长),hash表如果冲突了有什么处理方式(不会)。
3. 算法。堆排序和快排的时间复杂度,建堆的复杂度。快排在什么时候效率比较低,有什么解决方法。另外还有一道简单的小题目:两个单链表如何判断是否相交。
4. 网络部分。TCP连接过程的三次握手,什么是长连接,什么是短连接,何时采用长/短连接。
5. 以往项目经验。这部分某猿特别吃亏,但是应聘实习生要是没有的话也没有多大减分,有相应经验的话大大加分。

总结一下:CS基本知识要扎实,如果了解细节一定要表现出来,不会的就直说不会,反正糊弄不过去的。

貌似是某个周六的中午,猿猿正梦到该选Google还是Facebook的offer时,电话响了。算了,啥offer都还没呢,别做白日梦了。阿里的HR通知接下来的公司面。阿里允许猿猿自己选择面试时间,选一个自己方便的时间就好。这里要吐槽一下阿里的工作时间,你们早上9:30还不上班是要闹哪样?

公司面

阿里北京在宇宙中心五道口。到了之后找前台,之后会有HR带领猿猿到单独的会议室接受现场面试。趁面试boss还没出现先profile一下会议室,一个字:破,两个字:简陋。其实没那么夸张啦,不过比起魔都某外卖公司来说,确实朴素很多,大概宇宙中心的物价太贵,没钱装修吧。boss很快就来了。

这里做的是搜索。好吧,我确实没有用过,不过搜索应该都差不多吧(图样图森破)。惯例上来自我介绍,然后开启了虐狗模式:
1. 如果有大量的数(比如 107 那么多)要进行排序,有什么方法?
2. 要找无序数列中的第K大的数,用什么方法?写代码
3. 统计《纽约时报》中2015年的单词词频。有什么好方法?
4. 找出字符串中的最长不重复子串(一个就好)
5. (我提到了贝叶斯估计)如何判断数据是否满足某个分布(比如高斯分布)?
6. 如何将数据中的真实值和噪声分离?
7. 主题归纳?
8. 给定节点数,输出二叉树的构象数目。
9. 扔硬币的概率问题。
10. 会不会Spark?(真不会。。。)

猿猿必须承认,一个也不会……阿里比起各种小公司来说,果然是高大上啊。不过也算是涨知识了。以后还要朝这些方向继续努力才行。fighting!!

后记

面试完已经中午12:15了,近2小时的面试还是可以看出阿里的技术储备的。未来3个月多刷刷leetcode,了解一下Spark,然后恶补一下概率知识,争取在8月的校招时候能有更好的结果。

你可能感兴趣的:(面试)