求职者发陌生邮件拿到Cloudflare AI工程师面试机会
求职者给Cloudflare的一位工程师发了一封陌生邮件,简单介绍了自己的背景和对岗位的兴趣,对方回复后经过几轮交流,给求职者发来面试链接。全程不需要走网申,也不需要提前做题。
第一轮面试官是拥有10年+经验的首席工程师,所在团队为AI Workers,团队工作内容是将模型运行在全球网络的无服务器图形处理器(serverless GPU)上,尽可能让推理靠近用户,同时团队也在向更大尺寸的模型发展。
求职者面试前对该团队业务不够熟悉,面试前半段都是求职者向面试官询问团队工作内容、大规模推理提速方法以及成本控制方式,之后面试官询问求职者的过往经历。
求职者实习经历主要是编码模型(encoder模型)上线,以及roofline分析和推理优化,具体是重排序(reranker)和嵌入(embedding),运行在自建图形处理器(GPU)上,这类模型基本是多层多层感知器(MLP),没有大语言模型(LLM)的注意力机制(attention)、键值缓存(KV cache),日常工作也不接触vLLM、SGLang。
面试官深挖的问题方向包括:roofline分析和性能剖析(profiling)的方法;批量大小(batch size)的选择方法,吞吐和延迟的变化规律;推理量增加时的扩容方法;整条推理链路的瓶颈所在;p50、p99尾延迟的优化方法;首令牌时间(TTFT)和整段响应时间的优化。
面试官还问了一道开放性问题:你如何理解前沿人工智能(frontier AI)?这一轮面试结束后,面试官提到后续会要求手写PyTorch代码。
最终求职者第一轮面试后没有进入下一轮,他自己分析原因是该岗位更偏向线上大语言模型(LLM)推理经验,他当时正在补充相关知识,但几乎没有生产环境的相关经验。
他能清晰表述的经验是分布式训练、机器学习系统和基础设施,就算对编码模型、重排序、嵌入的优化经验讲解得再细致,也无法填补键值缓存和推理引擎层面的经验缺口。
求职者总结了几点值得参考的经验:给对口的人发邮件,有时比海投更快获得面试机会;这一轮面试几乎不考刷题,考察的是你是否真的把模型部署到设备上运行过,包括如何做测试、如何选批量大小、尾延迟瓶颈在哪里。
如果只做过编码类模型,去面大语言模型服务(LLM serving)岗位,经验缺口会非常明显;如果后续要求手写PyTorch,大概率会考察推理实现,面试该岗位最好准备一段真实的大语言模型上线经验,包括量化、连续批处理(continuous batching)、键值缓存管理、线上如何排查慢请求原因。