我今天也刚面了,但是没有收到初面评审表,是不是就挂了
1 4

相关推荐

美团 提前批 ai产品经理     一面挂智元机器人 agent工程师    简历挂oppo 软件产品经理           笔试挂同花顺 ai产品经理             简历挂快手 数据产品经理            一面挂凡岛 it管培生(ai产品)     简历挂中国人民保险 产品经理      测评挂帆软 产品经理                  简历挂韶音科技 产品经理            测评挂韶音科技 数据产品经理      一面挂瓴越科技 中台产品经理      简历挂小红书 技术pmo               简历挂美团 产品经理                 一面挂美团 项目管理                 简历挂安克创新 ai产品经理         简历挂快手 产品经理                 简历挂万兴科技 产品数据经理     简历挂中国人民保险 科技运营     简历挂美团 keeta运营               简历挂
我的秋招日记
点赞 评论 收藏
分享
发面经攒人品~上来先问了下为什么不做算法(做个雷达深度学习和大模型属实是差太远),研究方向是什么,然后直接八股: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道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务