首页 > 阿里春招实习面经-机器学习算法工程师-6次技术面+1次HR面
头像
O(∩_∩)O哈~
编辑于 2020-05-08 14:50
+ 关注

阿里春招实习面经-机器学习算法工程师-6次技术面+1次HR面

自从3月20日投递了简历以后,就开始漫长的阿里面试之旅。断断续续接受了阿里6次的技术面试和1次HR面试!我想实习像我这样接受了这么多次面试的也很少见了。

背景

南方某985本硕,计算机专业,在一个做人工智能的实验室,有过一段大厂的实习经历、一段AI创业公司的实习经历

3.30-笔试

参加了3.30的笔试,一个小时两道算法题,ac了一道

4.1-第一次面试

真的没想到这么快就接到了一个来自杭州的电话,可能因为笔试ac了一道,被捞的比较快,大家还是要认真做笔试。

面试官提前约了时间,晚上七点半,看来阿里的加班很严重呀,把面试这个活都安排到晚上了。

首先是自我介绍,我大概说了自己教育经历、实习经历、在实验室研究些啥之类的,说的比较简单

然后问了我能实习多久之类的,我也很实诚,说可能不能太久,因为老板不让,还问了我毕业要求达到没之类的。

面试官看我简历说我做过挺多东西的,让我找其中一个我最想讲的项目讲一下,我就讲了前一阵子在创业公司实习做的一个项目,这个项目我大概讲了40分钟,其中他问了我一些细节的问题,由于当时做的这个项目比较深入,问的东西基本我都答出来了。这个项目聊完,他问我还有没有想讲的,我就讲了在大厂实习时候做的项目,不过是本科时候的事情了,而且也是偏后台开发的,我也记不清了,面试官也说没关系。

最后我问了一下捞我的部门,他说是ali express,是阿里的国际化部门

然后基本聊了1个小时左右,面试官说先这样,就结束了第一次面试。

面试完找朋友查了面试官的级别,是P7,估计是部门leader。

4.6-第二次面试

下午的时候接到面试官的面试预约电话,约晚上面试。没想到清明节放假也有面试。。。看来阿里加班着实严重

晚上七点半如约接到面试官的电话,面试官说我们简短聊半个小时,我感觉到他也不想聊太久,我就开始讲项目,然后我也讲的比较简短,他也没怎么问问题,然后我又讲了一个项目,他也没怎么问,差不多到了半小时,他就是说今天先到这,就结束了。

这面感觉比较水,感觉可能这人是一面面试官的下属,所以只是例行面试一下。

4.15-第三次面试

首先是4.9先是接到了招聘助理的电话来约面试,看来这轮的面试官是比较高的领导,还有人来帮忙约时间,约的是第二天上午十点。

到了第二天上午十点,没接到电话,我就问了招聘助理,他说是临时有会议,改约周六晚七点

到了周六晚七点,还是没接到电话,我又去问了招聘助理,招聘助理说是系统有问题,又该约到下周三上午十点

到了第二周上午十点,终于接到了电话,真是一波三折

感觉这个面试官很忙的样子,听我讲话的时候并不是特别专心,好像还在跟别人聊叮叮之类的,所以我觉得他可能也只是随便面一下,照例问项目,然后我说的比较简短。

这个面试官对我之前在实验室做的项目比较感兴趣,但是那个项目我不是主力做的,所以有好多技术细节我不记得了。。。当时我就觉得这面可能过不了了。不过后来他又问了我另外一个项目的一些深入问题,我抓住机会多讲了一些。

时长大约1小时。

4.15-交叉一面

三面结束后当天下午又接到了杭州的电话,当时我以为是来约时间的,没想到是直接就要面试的。

照例自我介绍、讲项目,这个面试官跟三面面试官一样对实验室项目感兴趣,然后我又不太会。。。

这些聊完以后,他就问我有没有什么问题。我就问了他这面是交叉面吗?您是哪个部门的。大概这样的问题,然后就结束了,最后他说应该还有一到两轮面试。看来是过了,不过我内心。。咋都面了4面,还有。

时长大约1小时。

4.17-交叉二面

大概中午11:40的时候接到了来自杭州的电话,当时我以为是来约时间的,没想到是直接就要面试的,然后我就问他是技术还是HR,他说是技术,然后我就拿了耳机找了个地方跟他聊一下。我满心欢喜以为该进入HR面了,没想到还是技术面。

当时面的已经有些疲惫了。。

还是照例自我介绍、讲项目。感觉这个面试官对我的主要研究方向比较了解,除了问了我做什么,还让我讲了一篇我那个领域的经典论文,然后我也仔细读过,也没什么难度。

时长大约40分钟。

4.23-交叉三面

大概晚上8点的时候接到了杭州的电话,我真的没想到又来一面交叉面。

终于这个面试官不让我讲项目了,说项目应该前面问的差不多了。

首先是问了我对传统机器学习算法了解的怎么样,我说现在实验室都是以深度学习为主,所以接触比较少,他也表示理解。

又问了我了解特征工程吗,我说知道一点,说了一些我的理解。

问我知道LR模型吗,我问LR是线性回归吗,他说是logistic regression,我说知道一点,问了我输入输出,然后我又扯了一些什么是回归什么是分类之类的。

之后问了我一道场景题:

如果一个模型在线下测试环境的表现和线上环境很不一致,会有哪些原因造成,我列举了好几种可能的原因,他还是让我继续说,这个应该比较考验经验,我大概说了这几种:

  1. 训练超参有问题,过拟合
  2. 存在数据泄漏,线下测试数据与训练数据重叠
  3. 训练数据搜集时间与线上实测时差异较大,周围环境发生了较大改变,导致预测不准确
  4. 模型不合理,泛化性能差
  5. 数据不均匀,举例来说,线下数据多是A类,而线上多是B类。
  6. 可能尝试学习/训练的东西根本没有规律可言
    还说了一些其他的,不太记得了

之后他给我出了编程题,大概是这样的

一个黑盒里有n个球,球分为三种颜色,RGB,乱序,每种颜色的球n/3个。这个黑盒有两个接口,一个接口可以获取第i个位置的球颜色,一个接口可以交换两个位置的球。通过这两个接口将球排序成RGBRGB这种的顺序。

面试官先上让我不考虑时间复杂度说出一个解法,我说了一个O(n^2)的解法。

然后他让我想想有没有更好的解法,我想了大概5分钟,恍然大悟,说了一个O(n)的解法。

面试官说,大体思路就是这样,不过写出来就没那么容易。

面试官说给我邮箱发了一封邮件,让我四十分钟内把代码写出来并回复邮件。

然后我马不停蹄开始写代码,结果还真的写出了bug。。。突然有点紧张,不过还好30分钟的时候解决了,发给他,面试结束。

4.28-HR面试

终于接到了HR面试的电话。

面试内容如下:

  1. 自我介绍
  2. 介绍简历上的实习经历、实验室经历,感觉是在验证简历是否有造假
  3. 实习的时候业绩怎么样,我说leader对我很满意
  4. 有什么缺点
  5. 老师和同学对你的评价
  6. 最大的挫折
  7. 英语怎么样,问完这个问题他就让我用英语做自我介绍,然后用英语尬聊了一下,不愧阿里国际化部门,还真的要考察英语口语
  8. 问了我毕业后的打算,愿不愿意来杭州,我说要看家庭情况,这些问题都如实说就好了
  9. 我问了他疫情期间实习的情况
  10. 大概就是这样

结果

等待HR面结果,不过我也不一定能实习,所以也没所谓。记得本科时面阿里一面就挂,这次能走到HR面已经是胜利。

总结

  1. 项目经历很重要,如果有项目经历,真的省事很多,基础基本不这么问
  2. 一定要对自己项目的每个细节了如指掌,要有一些有深度的思考,这是面试官期待看到的
  3. 阿里也没有想象的那么难,大家可以多尝试
  4. 阿里流程真的很长,耐心

关于交叉三面的编程题:

最大的思路:由于最终的排序是RGBRGBRGB,所以对于R球来说,其只能放在的坐标是0,3,6,9,而G球放于1,4,7,10,同理B球只能放与2,5,8,11,即可以直接记录遇到了多少次该颜色的球,求得下一次遇到该颜色的球应该放置的坐标。


if __name__ == '__main__':
    length = int(sys.argv[1])
    box = BlackBox(length)

    print('before')
    box.show_box()

    ball_index = [0, 0, 0] # R, G, B

    i = 0
    iter_num = 0
    while i < length:
        iter_num += 1
        color = box.get_color(i)
        if i % 3 is not color:
            # not in right position
            right_pos = ball_index[color] * 3 + color
            box.swap(i, right_pos)
            ball_index[color] += 1
        color = box.get_color(i)
        if i % 3 is color:
            i += 1


    print('after')
    box.show_box()
    if box.check_valid():
        print('valid!')
        print(iter_num)
    else:
        print('fail!')

更多模拟面试

全部评论

(7) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐