文远知行infra高性能-完成面试流程
近期会分享一些面经,由于面试突然增多,学业又紧迫,因此从和计算机体系结构/IC 最不沾边的开始
#秋招# #文远知行# #2025#
受邀内投
一面8.9
拷打简历,虽然他不懂 CPU 微结构,但是基本上努力讲明白了,画了几个结构图
问了一些 FPGA 的新动向和互联方式,他比较感兴趣但不太了解,遂为其介绍
无八股
数据结构题,二叉树
反问部门,onboard ,也不需要会cuda
面完两小时后约面
二面8.13
继续拷打简历,这个面试官对 CPU 有一定的了解,问了一些 ISA,cache,内存顺序/一致性的问题
简单的 OS 八股
又一数据结构题,二叉树层次遍历
下周一约面
三面8.22早8点
面试官人在美国,所以约的很早。但是能看出面试官对此有所准备,问题设置也由浅入深,非常合理。半中半英问答。首先说因为之前面试官把他想问的简历都问过了,因此直接开始 coding,边写边讨论。我选择用 C。问题包括但不限于:
matrix 由26个英文小写字母组成,在其中搜索目标字符串,上下左右四个方向连接起来即算作匹配。若匹配则调用 callback。我先找首字母起始位置,再用 DFS 即可。面试官问了一下回溯时的状态恢复。再问复杂度。再问如何降低复杂度,其实可以对 input str set 做一个前缀树,提前存储更多的前缀起始信息。如果不在树里的怎么办?常规搜索边搜边建就行?如果数据量很大,内存不够怎么办?先按 hash 把更可能有重复前缀的 input 一起处理,更可能复用之前的状态。如果 callback 很 heavy 怎么办?异步起一个新线程做。。。
反问了部门工作,面试官详细介绍了下,基本上是各种新硬件的 driver 到 OS 级的工作
周末后的周一约四面。
四面(终面)8.30早8点
小插曲,showmebug宕机了,HR小姐姐7点多帮忙开牛客环境,辛苦了~
简单自我介绍后,开始询问我简历上的CPU微结构项目
由于项目涉及到内存访问,面试官询问了以下问题:
1)什么是内存一致性模型?x86, ARM下的内存一致性模型是怎样的。从概念到微结构进行了解释
2)如果要确定内存操作在多核间的次序,怎么做?回答了Cache Management Operation (flush, clean) 以及微结构语义屏障指令 (fence)。另外也提到锁来防止并发访问冲突,项目中涉及的。
3)PCIE了解吗?能简要介绍下CXL协议吗?回答CXL over PCIE。如何利用PCIE的设施讲一下,将了一下PCIE switch可以扩展链接多设备/内存等等。用没用过lspci以及控制其他外设?之前玩FPGA时用到过。问那你对PCIE协议很了解咯?感觉回答NONONO
4)在SoC中,如果socket 0 写了一个内存地址,socket 1是怎么读到这个新数据的?因为面试官x86用得多,遂为其介绍基于MESI的缓存一致性协议状态+事务。问了很多细节,包括状态转换是怎么知道下一个状态的,会不会有中间状态等等。
coding,问我是不是ACMer,赶紧否定(大早上真做不了算法题)。用C写了个在字符串s中寻找cover子串t,不要求连续,也不要求顺序。直接双指针写的,没做优化。但好像这一面的面试官并没有care复杂度。
问我咋会投他们,我说HR邀请的,乐
反问了base,工作内容上一面问完了。体验整体良好
文远面试轮次多,三四面时间很阴间(因为面试官在美国),提问范围广,而且确实每一面都有要刷人的风险(基本都很大,可能是因为HC少)。但因为我可能不是算法岗吧,手撕的题都比较简单,或者要求比较低。整体来讲,面试官都很客气,互相尊重,氛围非常好。
9.3 终面✅,推进 offer
9.6 确定 oc
若有后续,持续更新
#秋招# #文远知行# #2025#
受邀内投
一面8.9
拷打简历,虽然他不懂 CPU 微结构,但是基本上努力讲明白了,画了几个结构图
问了一些 FPGA 的新动向和互联方式,他比较感兴趣但不太了解,遂为其介绍
无八股
数据结构题,二叉树
反问部门,onboard ,也不需要会cuda
面完两小时后约面
二面8.13
继续拷打简历,这个面试官对 CPU 有一定的了解,问了一些 ISA,cache,内存顺序/一致性的问题
简单的 OS 八股
又一数据结构题,二叉树层次遍历
下周一约面
三面8.22早8点
面试官人在美国,所以约的很早。但是能看出面试官对此有所准备,问题设置也由浅入深,非常合理。半中半英问答。首先说因为之前面试官把他想问的简历都问过了,因此直接开始 coding,边写边讨论。我选择用 C。问题包括但不限于:
matrix 由26个英文小写字母组成,在其中搜索目标字符串,上下左右四个方向连接起来即算作匹配。若匹配则调用 callback。我先找首字母起始位置,再用 DFS 即可。面试官问了一下回溯时的状态恢复。再问复杂度。再问如何降低复杂度,其实可以对 input str set 做一个前缀树,提前存储更多的前缀起始信息。如果不在树里的怎么办?常规搜索边搜边建就行?如果数据量很大,内存不够怎么办?先按 hash 把更可能有重复前缀的 input 一起处理,更可能复用之前的状态。如果 callback 很 heavy 怎么办?异步起一个新线程做。。。
反问了部门工作,面试官详细介绍了下,基本上是各种新硬件的 driver 到 OS 级的工作
周末后的周一约四面。
四面(终面)8.30早8点
小插曲,showmebug宕机了,HR小姐姐7点多帮忙开牛客环境,辛苦了~
简单自我介绍后,开始询问我简历上的CPU微结构项目
由于项目涉及到内存访问,面试官询问了以下问题:
1)什么是内存一致性模型?x86, ARM下的内存一致性模型是怎样的。从概念到微结构进行了解释
2)如果要确定内存操作在多核间的次序,怎么做?回答了Cache Management Operation (flush, clean) 以及微结构语义屏障指令 (fence)。另外也提到锁来防止并发访问冲突,项目中涉及的。
3)PCIE了解吗?能简要介绍下CXL协议吗?回答CXL over PCIE。如何利用PCIE的设施讲一下,将了一下PCIE switch可以扩展链接多设备/内存等等。用没用过lspci以及控制其他外设?之前玩FPGA时用到过。问那你对PCIE协议很了解咯?感觉回答NONONO
4)在SoC中,如果socket 0 写了一个内存地址,socket 1是怎么读到这个新数据的?因为面试官x86用得多,遂为其介绍基于MESI的缓存一致性协议状态+事务。问了很多细节,包括状态转换是怎么知道下一个状态的,会不会有中间状态等等。
coding,问我是不是ACMer,赶紧否定(大早上真做不了算法题)。用C写了个在字符串s中寻找cover子串t,不要求连续,也不要求顺序。直接双指针写的,没做优化。但好像这一面的面试官并没有care复杂度。
问我咋会投他们,我说HR邀请的,乐
反问了base,工作内容上一面问完了。体验整体良好
文远面试轮次多,三四面时间很阴间(因为面试官在美国),提问范围广,而且确实每一面都有要刷人的风险(基本都很大,可能是因为HC少)。但因为我可能不是算法岗吧,手撕的题都比较简单,或者要求比较低。整体来讲,面试官都很客气,互相尊重,氛围非常好。
9.3 终面✅,推进 offer
9.6 确定 oc
若有后续,持续更新
全部评论
太牛了老哥
三面 沾沾喜气!
请问所有面试都是线上吗?
请问佬,oc是有意向邮件么
请问楼主是怎么确定oc的呀?我也收到四面通过的通知,但是hr说需要等到十月底一起开,说是不会提前发录取意向的
相关推荐