阿里校招2018面试 小记

1.喜从天降?

不得不说阿里的效率很高,前一天刚做完笔试题,第二天就来面试的电话,我也是有点摸不着头脑,因为我没做出来啊!阿里出的题挺拿人的,输入输出都不确定,给了一个开放性的题目,可能考察的就是编程人的思路吧。40分钟,可以说时间挺短的。

笔试题


题目:
有一批货物是用货船运到码头,要用货车运到目的地,已知货车货船的载物量各不相同。
问,如何才能更好的将货物运到目的地呢?  
给了数据结构
 struct Transport
{
    void* buf;  //用内存来作为货物,
    int length; //内存长度表示货物量的大小。
}; 

我的思路:

  1. 这个问题,货船,货车分别是两个结构体数组,目的就是应该减少内存碎片吧,怎么样调度呢。
  2. qsort() 先按照 内存长度 排个序
  3. 然后在根据大小找,先找大小相同的货车跟货船。这样没有碎片、
  4. 相同的找完之后(也可能没有),在再找货船小于货车的,有小的就按照顺序分配。
  5. 如果货船的都大于货车的,那就只能拆分了,然后根据大小,记住指针,分配即可

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老师我,杭州作为工作地点的话,你觉得怎么样?

      • 我回答,我的理想地点就是苏州,杭州之类的城市,环境好啊
    • 聊得挺愉快,,不知道结果如何了。。。