快手 C++开发一面 4.18

自我介绍
项目和实习 ,都没深问,自己再总结一下
C++和C的区别
melloc和new
智能指针介绍一下
多线程同步的方式
条件变量condition_variable知道吗?介绍一下
网络编程步骤,服务端、客户端、udp的服务端和客户端
socket的keep-alive选项
流量控制和拥塞控制
零拷贝技术(忘了sendfile了,只是描述了一下什么叫零拷贝)
路由表的作用(也没答好)
做题:重排链表
反问:主要做的业务
全部评论
被挂了三次了
1 回复 分享
发布于 2023-04-19 21:17 日本
楼主有二面消息吗
点赞 回复 分享
发布于 2023-04-26 22:06 北京
**,我之前投快手实习,一面一个小时,面别人八股文,面我智力题,一题接一题😅
点赞 回复 分享
发布于 2023-04-26 14:12 北京
快手有笔试吗
点赞 回复 分享
发布于 2023-04-21 20:53 广东
感谢分享
点赞 回复 分享
发布于 2023-04-20 23:45 河北
楼主面的什么部门
点赞 回复 分享
发布于 2023-04-20 23:05 北京
楼主是实习还是春招?
点赞 回复 分享
发布于 2023-04-19 17:15 四川

相关推荐

08-18 11:58
已编辑
四平职业大学 Java
查看9道真题和解析
点赞 评论 收藏
分享
头像
08-19 00:08
已编辑
武汉大学 Java
终于有八股文了。1. 自我介绍2. 个人经历盘点3. 虚拟内存的好处4. 内存为什么要有内核空间4. tcp连接断开的几种方式(拔网线,断电,杀进程),timeout不好,怎么解决(heartbeat)5. 锁类型相关(开始吟诵Java八股,C++锁其实没这么多八股)参考:https://gg2002.github.io/2025/04/21/Program%20Language%20Design/os-and-pl-mutex/6. hashmap上锁用什么好(分段锁+读写锁,或者cow),读写锁一定好吗(当然不一定)?7. C++新特性吟诵(纯吟诵,move,function,thread,constexpr,import,coroutine)8. move vector底层会发生什么9. 为什么要有thread库(楼主还真不知道,说了为了程序员更好的封装使用,面试官不满)10. static_assert底层原理(更是不知道,只能口胡编译器能推断出来)11. 算法:k个一组反转链表,在最后一个循环一直segmentation fault,闹麻了,内存地址都打印出来了还显示segmentation fault,不知道是不是平台问题。12. 反问:部门:负责主站与海外的推荐系统工作作息:弹性工作制,互联网平均作息楼主的C++八股答得不是很妙,感觉是不是快手的就爱出这种冷门八股,new怎么在栈上分配空间(答案是new本来可以指定内存区域分配内存,但是一般没人这么写,而且new还有另一个指定内存不足也不报错而是直接返回nullptr的写法,都很邪门,感觉是纯嵌入式写法)也是楼主在快手面经里看到的。最重要的k个一组希望不要挂楼主。
查看12道真题和解析
点赞 评论 收藏
分享
发面经攒人品~上来先问了下为什么不做算法(做个雷达深度学习和大模型属实是差太远),研究方向是什么,然后直接八股: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道真题和解析
点赞 评论 收藏
分享
评论
7
100
分享

创作者周榜

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