cpp c++面经分享

前言

大家好,我是阿甘,“奔跑中cpp / c++”,知识星球的创始人

今天给大家分享分享,我们星球同学一起整理的,同时也在不断更新的,cpp / c++相关岗位面经。

全网最全收集

面经分享

因面经过多,今天只分享部分,后续有时间继续分享(让大家学习/ 面试形成一个参考)

字节客户端一面

  1. C++智能指针有哪些,都是为了解决什么问题?
  2. 虚函数是什么,如何实现虚函数?
  3. 如何用栈实现一个队列?
  4. TCP的流量控制,拥塞控制
  5. 主从reactor是什么,数据是怎么传输的?
  6. (以下都是网络检测项目)项目的背景是什么,为什么要做这样一个项目?有没有应用到实际中?
  7. ai的具体作用是什么,会不会负载很大?
  8. 传入ai的是什么?有多大?会不会在运行上有一个后置性,为什么不在前置设置一个阈值,超出阈值的输出给ai?
  9. 如何进行网络好坏的判断?这些指标是在现如今工作中的统一标准还是什么?
  10. 算法手撕

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.进去星球了,后续如果有什么其他活动,服务,不收费不收费(可以合理赚钱就收取下星球费用,但是不割韭菜,保持初心)

(还有经历时间考验的独家私密资料)

加入星球的同学都可以提问预约,一对一帮做简历,一对一 职业规划辅导 ,解惑。同时有高质量的项目以及学习资料

全部评论

相关推荐

字节客户端,流转番茄、剪映、抖音、飞书等多个部门,历经十三次面试,终于拿下。前六面面经见上篇,记录下后续面经:七面(1h45min)1. 自我介绍2. 实习项目3. 介绍下实习的项目架构4. 讲讲对Compose声明式的理解5. java强引用和弱引用的区别6. 还有其他引用类型吗7. ThreadLocal8. 你平常有什么遇到的ThreadLocal的应用场景9. java集合类型(介绍各种集合,吟唱List、Map、Set)10. 集合多线程访问数据竞争问题怎么解决11. synchronized的用法12. LeakCanary检测内存泄漏的机制13. MVVM、MVP、MVC三种架构的区别14. 算法:搜索旋转排序数组总结:知识点知识面掌握挺不错的,基础知识的细节也了解得比较清楚,实习经历对于一个还没毕业的本科生来说还是不错的。过八面(1h)1. 项目拷打2. 不使用ksp开发的监测组件有什么办法定位Compose组件执行耗时3. LeakCanary原理机制4. OKHttp和Retrofit设计模式(答了七八个主要的)5. 责任链好处是什么6. 包大小优化措施,提升了哪些性能7. 线程和协程的区别8. 鸿蒙调用cpp是怎么做的9. 了解什么跨端框架10. flutter为什么比原生慢11. flutter和react native在渲染机制上的区别是什么(自绘引擎独立绘制和原生组件映射)12. kmp是怎么实现跨端的(逻辑层统一编写,UI等原生层各自实现)13. view事件分发cancel事件什么情况会触发14. view事件分发流程15. Binder机制16. lc.215 数组中第k个最大元素(要求先讲几种不同方法,再实现代码最复杂那个)(1) 直接排序 O(nlogn)(2) 优先队列(最小堆)O(logn)(3) 快速选择 O(n) 写这个的代码总结:没什么问题,秒过,进入hr面(最后倒在审批,原因是手头的offer不够多很难争取)九面(hr面45min)压力很大,像是在面技术面1. 自我介绍2. 为什么选择就业而不是考研3. 工作室有什么项目需要做4. 项目为什么做了一年(业余时间开发)5. 项目的动机、背景6. 还在实习吗(转正离职了)7. 挑一个实习工作讲一下背景和做了哪些事情8. 技术优化是谁提出来的,leader提出的还是自己找到的9. 做完需求的成长和进步体现在哪里10. 独立开发sdk提效是谁给你的建议吗11. 除了技术问题还有遇到其他困难吗(联调沟通)12. 一开始不使用联调的原因是什么,打乱工作节奏吗13. 做好一个程序员,除了技术上扎实,还需要基本什么样的素质和能力14. 沟通上有什么心得,可以提高工作效率15. 有遇到矛盾和分歧吗,怎么解决的16. 在团队中工作影响你产出的阻碍和困扰有什么17. 新的UI框架你是花多久学清楚的18. mentor对你的评价是什么19. 组内几个实习生,都转正通过了吗20. 和其他实习生相比你的优势在哪里(来得早,知识面多)21. 你有想过未来规划怎么样长期保持自己的优势吗(自驱力,持续学习)22. 跨端方面你觉得哪家公司做得比较好(腾讯视频)23. 你们组的跨端方案跟腾讯视频比有什么差距吗24. 对字节校招面试的感受是怎么样的25.  你是从其他部门流转过来抖音搜索的,对该部门面试的感受是什么26. 有反思该部门二面没通过的原因吗27. 会有失落和挫折的感受吗28. 怎么排解失落的心情29. 现在手头有哪些offer30. 看你也投了其他非互联网公司,对发展的不同方向有倾向性吗审批一周还是倒下了,流转其他部门,后续免hr面后面的面试不怎么问八股了,更多是项目、场景、智力题十面(30min)1. 自我介绍2. 有了解鸿蒙如何与Kotlin通信吗3. Compose对比常规view的优势是什么4. Compose局部重组的原理,标脏机制5. 对最近比较火的ai编程工具有了解吗,像claude这些6. 了解ai编程的原理吗7. 现在还在实习吗8. 什么时候接触安卓的?写过ios,前端吗9. 你会怎么快速上手ios10. 编码算法就不考察了,之前面试都写出来了11. 为啥有微信offer还面其他的总结:从二面开始,通过了就是三面,大概率也不考算法。过十一面(1h)1. 自我介绍2. 实习介绍3. Compose局部重组是怎么实现的4. ai工具你是怎么用的5. 有没有用过claude code、cursor(需要付费,没用过)6. agent是怎么实现的,工作原理是什么7. 你觉得自己比同阶段的同学优势在哪里8. 最近在学什么9. 最近比较感兴趣并且学得深一点的是什么10. Compose什么时候会跳过重组11. 自己后面有什么规划吗12. Compose组件封装得更通用有什么思路吗13. 组件点击事件的响应是怎么扩展的14. 9枚硬币有一枚是假的,假硬币会轻一点,有一个天平,最少称几次可以找到假硬币15. 100层楼,有两个瓶子,怎么扔,最坏情况下扔几次可以用最少次数找到瓶子会不会碎的临界楼层(想了几种方案最终只优化到18次的最坏情况)16. 为什么apk体积比较小了还要优化17. apk优化方案总结:客户端经验很丰富,ai了解不够多。一周后挂十二面(1h)1. 自我介绍2. 实习亮点介绍3. 跨端方案的背景4. 跨端方案很多,为什么使用c++?写起来方便吗?5. java和c++是怎么通信的6. 还了解哪些其他跨端技术7. 怎么判断哪些代码可以下沉到逻辑复用层8. 在跨端过程中你做了哪些9. 举个例子说明哪些代码放在原生层,哪些代码放在复用层10. 底层数据发生变化是怎么通知上层的?数据驱动是怎么做的11. 原生层的viewmodel和底层的viewmodel的区别是什么12. 使用什么手段可以主动发现线上的性能问题(流水线)13. MVVM的设计思路是什么,和传统MVC、MVP的区别14. LiveData相对于传统观察者模式有什么优势(生命周期集成)15. 性能优化的整体思路是什么16. 优化的收益怎么衡量17. 怎么分组快速发现新改动的性能问题(AB实验)18. 安卓内存泄漏的场景19. kotlin协程的理解20. 多线程读取数据可能会有哪些问题,可以通过什么方式避免21. 100瓶水,有1瓶是毒药,喝了1天后会毒发,最少多少只小白鼠和最短几天可以测出来(二进制编码)22. 之前考了很多笔试了,就不考了,开始反问依然是从二面开始。过十三面(1h10min)1. 自我介绍2. 实习介绍3. 介绍几个技术上挑战比较大的,提升比较多的4. 介绍下java和c++通信的细节5. 数据转换有性能上的问题吗6. C++和Kotlin/Java的差异有哪些7. SQLite使用有遇到存储和删减导致数据库文件庞大的情况吗8. 数据库索引是怎么提高查询速度的,原理是什么9. 除了xml解析还有没有看过其他三方库的源码10. okhttp的架构是怎么设计的,有哪些印象深刻的设计,哪些觉得设计得不够好的11. 场景:微信朋友圈滑动卡顿,会怎么分析12. 卡顿是由于什么引起的13. 图片加载过多为什么会引起卡顿(频繁gc)14. 怎么解决频繁gc的卡顿问题15. 设计一个图片缓存库,会怎么设计(三级缓存)16. 不同尺寸、分辨率的图片怎么标识(key怎么设计)17. 不同尺寸的同一张图片怎么关联起来18. 内存缓存图片的淘汰思路19. 图片在磁盘的存储思路(包括图片命名,文件夹命名,图片查找策略等等)20. 图片在磁盘的淘汰策略(包括使用频率记录方法、关联其他图片、删除方法、直接删一半空间的策略等等)最后的场景被拷打麻了。。。已经不知道自己是谁了最终等了一周还是通过了。谨以此贴记录字节面试经历,也希望能带给后来人一些参考
字节求职进展汇总
点赞 评论 收藏
分享
评论
6
28
分享

创作者周榜

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