字节推荐系统 日常实习三面面经

自我介绍
因为笔者提到了学过并行计算,上来就问并行性能的衡量指标、瓶颈优化、单核CPU的并发
拷打简历中线程池项目
手撕阻塞队列(汗💧)
知道缓存一致性吗
用户态和内核态的区别

🕒 岗位/笔试时间
业务题: 重构DAG
输入一个DAG、入度为0的点集合(起点)、要保留的出度为0的点集合(终点)。要求删除未保留的终点以及其上游的路径,但是不能删除点保留的终点的路径。

因为手撕阻塞队列完后已经过了快一个小时了,笔者讲完思路就结束面试了。

🤔 面试感受
本次面试一直在压力项目,让笔者感到汗流浃背了,所以项目一定要经得住拷打和深挖。
#实习面试题# #字节三面# #推荐架构# #日常实习#
全部评论
像是我们组
1 回复 分享
发布于 02-12 00:12 福建
佬是本还是硕
点赞 回复 分享
发布于 02-11 22:50 江苏
佬面试过了吗
点赞 回复 分享
发布于 02-18 15:07 北京

相关推荐

开头自我介绍,开始吟诵,面试官对我的qt+硬件+服务器项目不感兴趣便开始询问使用语言是否为cpp。1.使用过哪些cpp11以上新特性。答:智能指针三剑客(shared_ptr, unique_ptr, weak_ptr).....2.开始询问shared_ptr的底层实现。答:引用计数器+裸指针。3.shared_ptr 解决了普通指针的什么问题。答:RAII对象创建和析构时能自动管理资源,解决内存泄露。4.是否能设计一个shared_ptr,这个shared_ptr里面有哪些成员变量。只答出来:裸指针+引用计数器,也许对数组需要记录长度,析构时范围释放。面试官不语。5.weak_ptr是否使用过,具体api调用。答:创建对象时需要指向shared_ptr, 拿指针时需要lock。是否能设计一个weak_ptr。(😅给菜鸡干懵了,便开始临时发挥。)答:也需要一个引用计数器来记录shared_ptr的引用计数器,当lock时,若shared_ptr引用计数器为0时,他返回空指针。6.unique_ptr的使用场景,我就往单例上靠。7.进程间通信哪些方式。开始吟唱。提到了共享内存和消息队列,消息队列怎么实现😅,开始说是一个单向队列(不知道linux系统底层是但还是双),就答一个消费者模型的单向queue。还问了本地套接字的使用api调用过程。8.线程同步方式。开始吟唱。提到了互斥锁,互斥锁底层实现😂。哥们不行了,提到了线程阻塞和休眠。问,怎么实现线程阻塞和休眠,答涉及线程调度,深了不会了。9.一道设计题,主线程创建一个资源在子线程消费完之前wait住,简单的用mutex对一个int val加锁和std::thread实现了对这个共享变量的访问。面试官看完能运行就放我走了。看到的面试官都好累(上班不容易呀),明天又要干那b横项,希望能早日毕业,早日放我实习,😖。
查看14道真题和解析
点赞 评论 收藏
分享
评论
2
15
分享

创作者周榜

更多
牛客网
牛客企业服务