阿里校招2018面试 小记
1.喜从天降?
不得不说阿里的效率很高,前一天刚做完笔试题,第二天就来面试的电话,我也是有点摸不着头脑,因为我没做出来啊!阿里出的题挺拿人的,输入输出都不确定,给了一个开放性的题目,可能考察的就是编程人的思路吧。40分钟,可以说时间挺短的。
笔试题
题目:
有一批货物是用货船运到码头,要用货车运到目的地,已知货车货船的载物量各不相同。
问,如何才能更好的将货物运到目的地呢?
给了数据结构
struct Transport
{
void* buf; //用内存来作为货物,
int length; //内存长度表示货物量的大小。
};
我的思路:
- 这个问题,货船,货车分别是两个结构体数组,目的就是应该减少内存碎片吧,怎么样调度呢。
- qsort() 先按照 内存长度 排个序
- 然后在根据大小找,先找大小相同的货车跟货船。这样没有碎片、
- 相同的找完之后(也可能没有),在再找货船小于货车的,有小的就按照顺序分配。
- 如果货船的都大于货车的,那就只能拆分了,然后根据大小,记住指针,分配即可
2.面试准备
search 面试官
由于hr打电话说要视频面试,这就有点奇怪了。因为舍友啊,其他同学都是电话面试。
看了一下发的邮件,应该是个大人物。看到了邮箱地址:weifeng.z@。。。。
发挥自己的搜索特长,谷歌学术,额,没有,linkedin,get!
大牛,sr.director P10/M5。
知己知彼。。。。
整理知识体系
Research
C/C++ ,CUDA,Python
数据结构与算法*
project
3.正式面试
z老师在美国,我们约的是北京时间10:30,他那边正是下午6:30;
刚开始还是有点紧张的,等到10点半,开了阿里视频会议的连接,刚打完招呼,跟我6年的笔记本宕机了,重启中,,尴尬。。。关键时刻掉链子。
一分钟后,好歹又开机了。。
解释了一下,切正题。
z老师人很nice,直接根据我的简历提问的。
-
research/project
- 这个是我擅长的部分,主要是硕士期间的俩个工作,我解释的比较清楚,应该还ok
-
编程语言 我申的是C/C++ 研发工程师
- 问我会不会Java,我说学过,不大用就是生疏了
- 问我C跟C++ 的区别,面向对象啊,类啊,抽象封装啊。我其实准备的不多,,
- 模板呢?我说类的更上层的抽象。。。
- 问我C99,C2011,STL的问题,我说常用的vector,map,bit 之类的,不会的我再查。
- lamda 表达式,,,我没用过。。比正则表达式更强大的表达式(问了一下find师弟才知道。。)
- reinterpret_cast 与 dynamic cast 的区别 擦没听过,完 z老师跟我讲了一下概念,尴尬。。
-
数据结构与算法(常用的)
-
搜索二叉树 删除一个节点
- 这个反应快点,大体说了说思路,应该没绕进去
-
图 找寻所有两个点之间的路径
- 这个耽搁了两分钟
- 建一个邻接矩阵
- 然后dfs 搜索,回去跟学弟讨论了一下,dijstra 也可以。。
-
-
反问阶段
-
我问,z老师,你为什么选择阿里呢
- 阿里发展很快,数据量很大,应用场景很多,这是一次很好的机遇。
-
然后z老师我,杭州作为工作地点的话,你觉得怎么样?
- 我回答,我的理想地点就是苏州,杭州之类的城市,环境好啊
-
聊得挺愉快,,不知道结果如何了。。。
-