地平线-AI编译研发工程师:一面凉经

base 北京,8.25投递,9.2号约面,由于感冒了约到9.11下午 #地平线求职进展汇总#

地平线处理速度还真的挺快的,下午面完,吃完晚饭一查流程就结束了,凉

没有笔试

八股没怎么问,就看技能那块写了cpp11就问了些新特性

然后就是挨个问简历上的项目,一共三个。大概聊了40分钟,相对前两场面试算比较平和的。

然后手撕,给的是leetcode链接

二维矩阵搜索

我写了个O(mlog(N))的算法,不是最优解,最优解是O(m+n)

然后反问他们做什么的以及团队规模

说做的是AI编译器,应该是TVM这样,不是传统编译器,团队规模的话是5个人在做。

感觉这次能被捞起来面试,可能是因为简历有AI和内存管理等内容,以及有点HPC相关的项目。

但是做的其实比较浅,这个应该也是挂的主要原因。后来问面评,hr说编程能力不符合要求,我想大概是题目算法写的时间复杂度比较高。

一种感觉,就是沾点边多少能捞点面试,但像这种小组单独约面,组里人员也不多的情况下,得非常对口,且在这块做了很多工作才能有机会。

总结就是再刷刷题,项目就先这样了,再挣扎看看9月有没有其他面试,9月不行10月就转侧开。

碎碎念:
投了不少嵌入式相关的岗,感觉嵌入式卷度真不低啊,地平线这多少给个面试,嵌入式除了汇川海面,基本都是简历挂了,可能简历匹配度也有些问题吧

全部评论
哥们这个挂了只能在官网看吗,还是肯定会发感谢信
点赞 回复 分享
发布于 2024-09-27 17:35 江苏
前几天我面了这个岗,拷打了80min,专问我简历上没写的东西,他说他们组30个人啥都干,有啥活干啥活😂感觉好混乱。
点赞 回复 分享
发布于 2024-09-24 14:37 贵州
哥简历写的是编译器相关吗
点赞 回复 分享
发布于 2024-09-19 15:27 广东

相关推荐

发面经攒人品~上来先问了下为什么不做算法(做个雷达深度学习和大模型属实是差太远),研究方向是什么,然后直接八股:1. 智能指针用过哪些,各自适合于什么场景2. 虚函数是怎么实现运行时多态的,虚函数查表的开销有多大(静态多态和运行时多态那个开销更大)?查表的时间复杂度是 O(1),因为虚函数的偏移地址在编译期间就确定了,调用的时候直接可以用,但是后面面试官又问从 cpu 指令角度看还有什么开销,问了 ai 大概有这些开销(相比于普通函数调用的开销):首先我们说下虚函数在底层角度会多执行三步:获取 vptr->计算函数地址(偏移量是编译器就定了无所谓,但需要访问虚函数表 )->调用函数- 影响最大的是如果 vptr 或vtable 不在 cpu 高速缓存中的话,会触发缓存未命中(因为前两步大致的汇编代码是 `mov rax, [rdi] ; 假设rdi是对象地址,rax = vptr` 与 `mov rbx, [rax + 0x10] ;` 需要访问内存,就会发生缓存未命中,但是普通函数或者静态多态的地址在编译器就确定了,可以直接使用固定地址调用,就无需从内存中读取数据),这会延长大约 50+时钟周期(普通函数调用就 1~3 个时钟周期)- 调用函数时,因为 call 的是间接地址(即虚函数表中存储的内存地址,存在寄存器中被调用),会导致 CPU 指令预取失效,流水线需要重新同步,产生 3~10 个的时钟周期(所以即便虚函数表在缓存中,虚函数调用也普遍比普通函数或静态多态函数慢这么多)3. 移动语义简单说一下(这里移动语义答的不是很好,一慌就和 ai 发生幻觉了一样乱吐词,可以后面多了解一下具体应用上的移动语义),问知不知道 move 的底层实现(说到强转,又问有哪些转换)4. Cpp 中有哪些锁(这部分答得不是很好,可以系统梳理一下),粒度最小的锁是哪个(基于 atomic 的原子操作是粒度最小的,精确到单个内存位置),自旋锁什么场景使用(临界区执行时间很短,自旋等待的开销小于线程阻塞/唤醒的开销,以及不希望线程阻塞的实时系统)5. 问了解哪些常用的数据结构。6. 操作系统的虚拟内存说一下,一个页大小大概是多大,还有哪些页大小,页大了或者小了有什么优缺点(可以了解一下 THP 透明大页的概念)7. 场景题:微博这种搜索平台如何设计一个实时统计一定时间段(比如 5min)内 topK 热点关键词的系统,用那些数据结构或者软件可以做到?8. 手撕 LRU9. 反问环节:主要做的是快手的搜索架构,还做一些AI搜索,与快手视频的RAG
查看13道真题和解析
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务