cpp c++面经分享
前言
大家好,我是阿甘,“奔跑中cpp / c++”,知识星球的创始人
今天给大家分享分享,我们星球同学一起整理的,同时也在不断更新的,cpp / c++相关岗位面经。
全网最全收集
面经分享
因面经过多,今天只分享部分,后续有时间继续分享(让大家学习/ 面试形成一个参考)
字节客户端一面
- C++智能指针有哪些,都是为了解决什么问题?
- 虚函数是什么,如何实现虚函数?
- 如何用栈实现一个队列?
- TCP的流量控制,拥塞控制
- 主从reactor是什么,数据是怎么传输的?
- (以下都是网络检测项目)项目的背景是什么,为什么要做这样一个项目?有没有应用到实际中?
- ai的具体作用是什么,会不会负载很大?
- 传入ai的是什么?有多大?会不会在运行上有一个后置性,为什么不在前置设置一个阈值,超出阈值的输出给ai?
- 如何进行网络好坏的判断?这些指标是在现如今工作中的统一标准还是什么?
- 算法手撕
oppo多媒体开发
一面:
1.无手撕,直接拷打项目,挑一个最熟悉的项目介绍
2.线程池和内存池用来干什么,怎么实现的
3.性能调优具体怎么做的
4.有没遇到过内存泄露,具体场景
5.tcp和udp区别,具体实现
6.数据结构相关,map,set,unordered_map底层实现,vector和list区别
7.(开始进入智能云存储项目)ai检索具体怎么做的,用api的话工作量在哪
8.遇到的困难,怎么解决的/遇到过那些比较棘手的debug情况/介绍下怎么快速上手项目的
二面:
1.同样是先介绍项目,无手撕
2.进程间通信和线程同步
3.追着本人的项目一直问到具体遇到过哪些debug场景以及最后如何解决的,但没涉及到具体的八股
4.分布式架构如何实现的
5.采用gpu处理信号的时候考虑过gpu到cpu通信的耗时吗?为什么最终还是选择gpu(本人的实验室项目)
6.性能怎么测的?以及再次问了线程池和内存池
7.lamda以及移动语义用没用过等
8.对oppo有哪些了解
三面(hr面):大概问了下优点缺点,意向地怎么考虑的,对oppo的认识,对于未来工作环境的想法等等,纯聊天局。
总结:全程无手撕,建议笔试好好做(本人笔试水过去被问真不知道笔试成绩比较低),问项目感觉更多是在看有没有真实的做过一些东西,以及对项目的整体把控。timeline基本是一周一推进。
米哈游一面
1、自我介绍
2、为什么投递这个客户端工具岗位
3、指针和引用的区别(概念、使用场景)
4、是否存在指针数组和引用数组
5、野指针
6、内存泄漏
7、new和malloc的区别
8、new和malloc怎么判断分配内存失败了?
9、智能指针
10、引用计数保存在内存哪个部分
11、介绍下C++内存分布
12、静态区、堆和栈什么时候确定大小?
13、堆和栈的区别
14、为什么栈的分配效率更高?
15、堆和栈的安全性
16、static关键字
17、静态全局变量和全局变量
18、静态局部变量和局部变量
19、静态成员变量和静态成员函数
20、手撕:用数组实现一个可以扩容的栈,不能用vector
21、map的底层
22、二叉搜索树、二叉平衡树、红黑树
23、熟悉的设计模式
24、单例模式
25、简单工厂、工厂方法、抽象工厂
海康
1、云存储项目:
介绍文件秒传逻辑
介绍大文件分片上传逻辑
分片文件上传到后端在合并前存储在哪里
有没有考虑以分片形式存储到fastdfs中
fastdfs的原理展开说下
ai搜索展开讲下
2、弱网项目:
介绍下ICMP协议实现方式
介绍eBPF怎么用的
项目的难点是什么
3、拷贝构造函数在那些场景下调用
4、静态成员函数与普通成员函数的差别是什么
5、追问为什么this不能调用静态成员函数,底层原理是什么
6、了解什么设计模式
7、讲下你在项目中怎么实现一个具体单例模式的
8、项目有没有用过线程池?怎么设置的
9、条件变量怎么使用的?为什么要配合锁使用?
10、写没写过网络库
11、Reactor要怎么实现
知识星球介绍(公认的cpp c++学习地)
星球名字:奔跑中的cpp / c++
里面服务也不会变,四个坚守目前:
1.每天都会看大家打卡内容,给出合理性建议。
2.大家如果需要简历指导,心里迷茫需要疏导都可以进行预约周六一对一辅导。
3.每周五晚上九点答疑聊天不会变。
4.进去星球了,后续如果有什么其他活动,服务,不收费不收费(可以合理赚钱就收取下星球费用,但是不割韭菜,保持初心)
(还有经历时间考验的独家私密资料)
加入星球的同学都可以提问预约,一对一帮做简历,一对一 职业规划辅导 ,解惑。同时有高质量的项目以及学习资料
