前言

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

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

全网最全收集

面经分享

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

小米安卓框架开发

1.拷问实习以及毕业课题

2.弱网项目的网卡UP和DOWN怎么监测的

3.弱网传输的时候,这个它是因为网络弱,还是什么原因?

4.网络链路它很长,它不一定是丢包了,其他情况的那种慢你知道吗?

5.云存储分片上传是怎么实现的?

6.服务器收到分片以后是怎么组装的

7.文件上传的时候会不会遇见比较难的问题

8.分片上传是长连接吗

9.查看当前电脑剩余内存要用什么指令

10.uptime是做什么的

11.socket编程是先写服务端还是客户端

12.进程间通讯的方式

13.有名管道和匿名管道的区别

14.内存泄漏怎么检测的

15.手撕 合并两个有序数组

华为海思通软

一面

项目相关问题

1.这是一个什么样的系统?就是您在这个项目里面做的是什么?

2.项目是你一个人完成的吗?代码量大概有多少代码?大概时间是在两三个月?

3.在这个系统里面有遇到什么关键性的问题?

4.请问你们还用到了一些加密的方法吗?

5.加密的话,你不是已经有一个 AES,可以加公钥了吗?整个加密的业务流程是怎样的?

6.那个日志信息有分析过吗?

7.你参加的是一个团队比赛还是一个个人比赛?

8.那你觉得这个团队是怎样的的?

9.竞赛的代码量大概有多少?

手撕代码类问题

1.笔试第一道题还大概记得吗?

2.您可以简单画一下 BFS 的过程是什么样的?

3.任务调度冷却时间题(没做过,要用桶,很冷门)

开放性问题

1.有没有您认为自己具有成就感的这个项目主要是哪一个?

2.您认为您在哪些方面或者技术上具有个人的一些优势?

3.我们再讨论下其他的,就是您认为在哪些方面或者技术上面具有个人的一些优势?

二面

项目相关问题

1.这两段经历,哪一段你觉得更可以说详细一点?

2.里面看到的都用了这个双缓存的这个设计。这个是什么原因需要这个?

3.这个缓存是怎么用的呢?就是从主缓存到从缓存是切换?

4.这个缓存它会有扩缩容,那如果有没有考虑一些异常的,比如说什么断电之类的?

1.它从缓存到磁盘的这个持久化的这个机制有策略,有设计策略吗?那你知道它是什么策略吗?

2.这个整体的这个日志架构,它跟比如说spdlog 有什么区别吗?

3.你说的加密、序列化是在进入缓存前还是在缓存前的?

4.那为什么不选择我在spdlog 上增加一层这个加密层?

5.也就是根据他们的业务场景认为 spdlog 不支持他们这个业务场景

6.这里面又提到了一个模块间通过抽象接口解耦,这个能详细讲一下吗?怎么解耦?就是一个全局类吗?还是什么?你说的这个抽象接口还是用模板或者其他的这种接口的定义方式?

7.那讲回这个 MMAP 你觉得有哪一些优势?

8.那它有什么局限呢?比如说我不用malloc,我就用传统的 malloc 来分配一块内存来做这个缓存,有什么区别吗?

9.那 map 对应的 Windows 下的 API 是啥?

10.有没有遇到一些这个跨平台的像字节序,像这个什么文件路径编码之类的问题?

11.这个是怎么编译?用的 Cmake 吗?还是什么?

12.有测过不同平台的那个性能有差异吗?

13.那你这个跨平台感觉不是特别必须?

14.有没有考虑这个作为日志流直接推到远程的服务器上?

15.那你认为这个项目最大的创新,或者是跟其他日志系统不同的点在哪?

16.protobuffer具体是解决了什么问题?分析的主体是谁?

17.比如说你现在主要是 c ++的一个这个客户端,假如我需要把它迁移到别的语言,觉得最难重构的应该是哪?

18.另外这一段你有什么要讲的吗?

19.选择zeromq就是为了因为这个资源的问题?做过什么别的对比吗?

20.这个进程通信有没有做一些容错机制啊?还是你们是依赖于这个 MQ 来给你们做容错吗?

21.那如果有部分的模块这个退出,然后自动重启能够恢复的机制吗?

22.它是所有的进程是跑在同一个小的一个 MCU 上面的,它没有服务端的?

23.那你参与过了模型的这些属于模型的选择?

24.模型的内存占用这些你有参与过吗?

25.关于部署相关的,就是说怎么用 Docker 部署到这个客户端,部署到这个这台机器上?

26.比如说我突然断电重启,那这自动重启的机制上有没有什么一些什么设计啊?

27.那它的这个就是这个自动启动的这个机制是怎么实现的?

28.那你知道 Linux 下有什么办法可以让它开机自动启这些程序?

八股问题

1.Vector 跟 list 的区别。

2.扩容的时候它是怎么做的?

3.有什么办法能够就是避免这种拷贝的方式?

4.对于那个 THREAD 多线程,那个 detach 跟 join 有什么区别?这时候会有什么风险?

5.有没有遇到过内存泄露或者是内存相关的问题?

6.能讲一下什么是平衡二叉树吗?

7.什么场景下我们会用这个东西?还有些什么样的变形?

8.像比如说红黑树这种有了解过吗?

9.对排序算法,你能简单讲一下大概的那个?就是你最熟悉的那种?讲了归并

10.这个你知道这个你不知道快排?蚌

手撕题问题

1.朋友圈个数问题,图论问题,BFS和并查集均可解决

2.你定义的节点是什么?

主管/三面

项目相关问题

1.你在这个两个公司实习分别有一些什么样的收获吗?

2.那你在实习阶段你是不是也有人带你啊?

3.你跟那个,你的那个带你的企业导师,还有跟自己的这个,都是在做项目,这些同事之间是怎么协作和配合的?

4.你在做这个 log 这个项目的时候,你是有哪些事情是要一块协同、一块配合的时候去完成的?有没有具体一点?

5.为什么又来看这个海思这边的机会?

6.你为什么没考虑这种的这个机会?(指国家电网)

7.那你们这种出去实习的学生多吗?

开放性问题(原文)

1.你能讲一下,你在这个两个公司实习分别有一些什么样的收获吗?

2.那你本科毕业出来就参加工作,没想着继续再深造?

3.那对于自己就是说未来像这个工作的这个岗位方向更长远一点的发展,或者是这种规划,你自己有过一些思考,或者有一些想法?

4.我想了解就是你这个实习跟你这个学业之间这个安排你是怎么协调?

5.那你们这种出去实习的学生多吗?

中科曙光智能网算方向

1.C++11新特性

2.什么是多态

3.继承和多态的区别

4.进程间的通信方式

5.Socket 实现 CS流程

6.accept作用

7.三次握手

8.connect 系统调用是在那个三次握手的哪个过程里

9.TCP 它实现的可靠传输是在哪一层实现的

10.介绍一下 I / O 多路复用

11.IO 多路复用主要是为了解决什么问题

12.介绍一下死锁

13.四次挥手里面那个 TimeWait 那个状态

14.大文件上传如何保证有序

cvte嵌软

1.详细讲一个项目的架构,背景,核心优点和价值

2.后面是对项目的深挖:基础架构项目,在你的架构设计和开发上,具体做了哪些取舍,去保证它的一个轻量

3.离线和语音延迟的优化,是怎么去保证这个要求的

4.ASR、LLM、TTS之间是怎么进行的一个数据交换和状态的同步的

5.ZMQ是直接调用的接口,那它的底层有深入的研究吗,讲一下

6.讲了TTS模块通过异步双消息队列的架构+绑定大核CPU去提高首响应和解决卡顿问题,追问TTS的这个卡顿是怎么定位到是TTS模块的问题的,你是怎么去分析的

7.linux的启动流程

8.平时有写博客的习惯吗

9.除了学校学习的语言有自己去学习某一些新的语音吗

10.安卓有去学一些吗

11.手撕:电视频道的搜索,实现的功能:1.根据节目的id进行排序 2.根据节目的首字母进行排序 3.根据节目的类型进行筛选

12.stable_sort函数的具体的内部实现的排序逻辑是什么样的,讲一下

13.对公司的了解,具体业务,公司文化,产品

14.了解个人offer情况和意向

15 反问

汇川 机器人系统软件工程师

面半段没开录音忘记了,纯八股场景拷打

1.接触过的各种二进制协议,讲讲

2.之前接触过线程池吗?

3.这种IO复用,事件循环的框架之前接触过吗?详细讲讲用到的,结合你的项目去讲一讲用法

4.io多路复用各种方案之间的优劣利弊是什么,讲讲你的理解

5.抛一个数据结构算法方面的问题,所有人都用过这个科学计算器,输入的是一个字符串形式的算数的逻辑表达式,加减乘除都有,也有括号,还有嵌套包含的关系,然后不同运算符的优先级不一样,括号还会干扰这个运算符的优先级,就是这样一个字符串形式的一个算术的逻辑表达式的一个场景,我们用什么手段可以解析出它最终的一个值

6.之前接触过总线IO方面的内容吗,比方说像一些232,485,Modbus,plc等等的

7.c++多态的内部实现原理,详细讲讲

8.数据库方面,接触过事务和视图吗,讲讲

9.redis方面的,缓存跟持久化的数据之间怎么保证同步性的,这块讲讲

10.进程间通信

11.场景:两个进程之间,一个域内的两个进程之间通信,我对这个通信的大数据量的传输,通信的效率要非常高,可能就2-3ms就要传一包数据,然后中间的数据的大小比较大,可能大几百kb甚至上m,中间不允许数据丢失,需要保持数据的有序性,什么顺序传过去就什么顺序解析出来,这样的场景用什么手段可以达成,具象化的描述一下可落地的方案是什么

知识星球介绍(公认的cpp c++学习地)

星球名字:奔跑中的cpp / c++

里面服务也不会变,四个坚守目前:

1.每天都会看大家打卡内容,给出合理性建议。

2.大家如果需要简历指导,心里迷茫需要疏导都可以进行预约周六一对一辅导。

3.每周五晚上九点答疑聊天不会变。

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

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

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

学cpp基础,可以把最近开发的这个编程练习平台利用起来 cppagancoding.top

本文由 mdnice 多平台发布

更多推荐