面经|阿里云弹性计算(实习) | 杭州 | 二面
2974
发布于 未知归属地

阿里云弹性计算2024届实习生二面(校招)

2月25日 二面 总体面试体验极佳,问答虽然没能面面俱到但是做到尽量投其所好并展现自己优势所在,还是要多做准备多积攒经验,最好在大厂/心仪岗位之前先面一面小公司等。

一、自我介绍

特地列了提纲,从教育经历、专业方向聊到基础课程(介绍了实验室研究方向,提了一下本人英语水平过硬);
项目介绍方面较之前减少了每一个项目的简介,增加了项目技术梗概及主干技术,以及自己负责的内容。

二、项目问答

本次二面几乎没有八股文(稍微夹杂了一些基础知识问答在算法题中),主要围绕项目去进行提问,由于本人项目几乎都是基于业务的一些算法设计与实现(诸如WebRTC回声消除算法、SDN网络拓扑发现及深度学习相关),面试官主要挑他感兴趣的地方问,这些可能不是很适用与大家,挑一些除项目细节外的核心问题:

  1. 这几个项目里工程量最大的是哪个?说一下为什么(答的深度学习目标检测项目,因为其他的要么是围绕业务的纯粹算法设计与实现,要么是工程类的搭建与应用项目,而这个项目不仅要对模型去做改进达到涨点目的,还要去围绕业务做一些结果后处理,最后还要把整体框架迁移到ARM上,涉及一些交叉编译、源码编译等环节,这里面一些过程或许体现不到成果上,但是非常复杂而痛苦)
  2. 看你之前的项目主要以算法为主,你对自己未来的职业规划是怎么样的?或者说做系统、平台和算法你偏向于哪个?(答的一选肯定是做平台或系统,【其实本人特别向往去做系统级的软件或平台,但是手头项目确实都比较俗,而且这个时代的研究生确实身不由己】,算法是稍后一些的平替,因为做算法其实不是我一开始的方向,只是毕设论文和发专利的需要)
  3. 如果转身做平台那之前的积累会浪费,问我怎么看待?(答的我非常乐于去接触新领域和新知识,引用了一些自身经历去阐述了一下我个人对花时间打磨技术的意愿)

三、算法题

  • 一个n长数组,包含了[1, n]所有数,但缺失一个数,重复一个数,请找出这个缺失数。(在力扣上做过类似的,一会去评论区贴一下)
    (当时真的太紧张了没想到好解,面试官提醒我不必要马上想到最优解,说一些有的想法即可,并说明时空复杂度)
    答:最朴素的肯定是暴力,也就是去用hash或者visited数组记录已有数,然后最后遍历求得;如果在求的时候记录sum和,并与(1 + n) * n / 2作比较,可以省去遍历这一步。
  • 如果加一个限制必须是O(1)的空间呢?
    答:(这种题肯定是不可sort的)【这段说的不好,描述的算法貌似不成立,功力还是差点】也是和之前一样去用diff存一下sum和实际(1 + n) * n / 2的差值,然后用diff和原数组的关系去做值域二分(就是二分猜测实际答案),当然这一切要建立在sum及(1 + n) * n / 2都是非溢出状态下的。
  • 估计面试官也被我的思路搞得有些混乱。。于是顺着我说的溢出出了点基础题:你刚才提到溢出,那我想问一些在算法运行时如果让你自己检测溢出你会怎么做?
    答:第一感肯定是符号位和最高位异或,如果是1则溢出。但我之前在做题时有另一种方法暂时想不起来了(试后去查了下是((x ^ r) & (y ^ r)) < 0则溢出,r为运算结果)。
  • 如果让你去解决溢出问题,你会怎么做?
    答:如果单纯是从题目的角度出发的话,由于题目全是正整数,所以我会去取(1 + n) * n / n,也就是平均数,让所有值去减这个平均数,来充分发挥int的负数值域;从工程角度我可能会在函数初去ASSERT一下某个数学条件,但具体我还没考虑好。

四、入职相关问答

问了我如果来实习的话几月可以进;实习的话学校这边的任务怎么安排(边实习边写论文);如果来公司工作用的golang能不能接受等。
我这边问了一些对弹性计算组业务的问题,以及新人培训系统、实习生分别能参与到什么方面等等。

总体来说,弹性计算组的一二面两位面试官都非常和善,都没有在八股上刻意为难,主要还是就项目相关以及简单算法衍生出的问题进行了探讨和交流,态度都非常积极,让人感觉很有亲和力。

3月1日接到二面通过消息,已约三面。

评论 (10)