0%

面试经历--阿里云异构编译

背景

阿里云的推荐了个异构计算编译的岗位,空闲期间进行了两次面试。

一面

二面

与HR约的是周一的早上,碰巧赶上上海疫情隔江封闭在家办公,比较方面视频面试。面试官是阿里某个部分的负责人,好像在美国,有时差的影响,但基本在约定的时间里准时开始,中间还有一只猫乱入了。比较少见的面试官上来就自我介绍的,而不是让面试者自我介绍,感觉起来比较和善。

问答过程

先问了下有没有最新的简历,因为比较久没有更新了,就回答没有,面试官也没纠结,就让介绍下在编译器方向上的工作经历。正式开始了面试过程。

  1. 在项目中负责过的事情;
  2. 做过什么优化;
  3. schedule 相对于JVM里算法的优势和特点;
  4. 寄存器压力调度的原因;
  5. maple 里有哪些寄存器分配算法;
  6. 为什么不使用开源;
  7. 能否转为jit编译器;
  8. 对于LLVM 或 GCC 的了解;
  9. 在 wasm 项目里的工作;
  10. 相对于开源 wasm vm 的优势;
  11. wasm 项目的劣势,以及如何优化;
  12. 对于 x86 、RISCV、arm 指令集的了解,以及它们之间的区别;
  13. 为什么换工作、工作地以及个人情况的简单询问;
  14. 平时的学习习惯、了解业界新动态;
  15. 后续的职业方向;
  16. 是否了解 AI 等技术

提问

简单问了下他们异构业务的情况。回答是,目前内部的情况是构建一套AI应用为基础的异构平台,包括GPU、CPU、加速卡等硬件。平台会有分布式计算的能力,能够合理的分配每个任务的执行位置。对上能对接各种应用场景(AI、数据处理等),中间会使用开源的软件(LLVM、TVM、tsensorflow等),后端包含多款硬件。有自研的芯片,会有软硬协同和优化编译器的需求。

总结

问题偏开放性和思考性的,如何优化、优缺点之类的。要求更多的是对于项目有整体的思考,了解项目的场景等。探查技术的广度、以及对于新东西的跟踪和学习能力。是否有持续学习的计划和自我要求。对于技术细节的把握比较少。整体上能泛泛而谈的回答问题,但对于面试官的提问和解答没有给出较好的理解,对于AI了解的不多。

后续要了解一些新技术的,扩展视野。