阿里算法实习生面试回忆
2016-03-21 20:45
567 查看
阿里算法实习生面试回忆
前言
从本科毕业到现在,经历过的面试至少也超过半百了。自己也做过面试官,算是两方面都有体会了。但是从未面试过大公司的背景,让我感觉面试之前还是有点心虚。电话面试
阿里的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月的校招时候能有更好的结果。相关文章推荐
- 只有程序员看的懂的面试圣经|如何拿下编程面试
- 下一次技术面试时要问的 3 个重要问题
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法