23届(华od)考研-C++面经

## 背景 23届中9科班,二战失利。自己好好反思和规划了一下,决定先搞钱,并没有太在意网上对华为od的评价。准备时间非常久,从1月开始准备,6月底才准备入职。时间这么久的原因有二:1.家里情况特殊;2.自己面的是C++后端,自己打算补充的知识内容量非常多。谢谢栗栗姐这半年的督促和关照,提供了很多资料上的帮助和面试过程中的帮助。

## 第一阶段(1月~4月底):机试+综测 之前在学校学C++的东西不全面,就打算从零开始学。顺序是黑马C++,施磊的C++,侯捷的STL(只看了自己需要的),结合着C++ Primer(稍微过了一遍)和CSAPP(二刷,以前看过一遍)。同时开了个新号开始刷 Leetcode,本来只打算刷栗栗姐给的例题和题库,发现自己经验不足,又开始转头跟着刷代码随想录。刷完了才开始例题和题库。因为铺垫时间比较长,正式刷题库的时间不超过2周。然后五一机试(做的D卷),395拿下机试。 机试题目是: 1. 停车场车辆统计:简单的字符串替换。 2. 查找接口成功率最优时间段:简单的前缀和应用 3. 简易内存池:用链表模拟一个内存池就行。自己故意卡了一个用例。 机试之后,把综测过了,这个只要跟着栗栗姐给的提醒来就行,别前后矛盾,表现自己乐观开朗点就行,要是几个选项都不太符合,先排除最不符合的。

## 第二阶段(5月初~6月中旬):计网八股+OS八股+项目 出了成绩之后开始做两手准备,八股和项目。八股还好,主要是项目重新做了两个,之前的项目是 web server 和ROS,烂大街了,就自己找了几个稍微好一点的项目做。我一直觉得自己准备的很差劲,就和栗栗姐说了一下。栗栗姐给我看了一些相关的资料,我才知道可能是我自己给自己上的压力太大了,栗栗姐还帮我找了其他部门的同事聊了聊,在他们的帮助下,我心里的不安才算消除了。

## 第三阶段(6月中旬~6月底):四轮面试 由于临近24届毕业,自己即将断档满一年,立刻开始面试。

### hr面 打电话和hr唠嗑,问了下断档情况,家里的情况,平时的爱好,在学校做过什么,能接受有压力的环境吗,大概就这些内容,很简单。

### 技术一面(6月14日) 上来先是八股。内容问的有深有浅: 1. 介绍STL的常见容器。 2. 比较vector、deque、list的区别。 3. 迭代器失效的底层原理是什么?怎么解决? 4. 介绍四个智能指针。 5. shared_ptr 是不是线程安全的? 6. 介绍lambda表达式。 7. lambda表达式和static函数的区别(这个不会)。 8. 从语言层面介绍多线程编程(常用的库)。 9. lock_guard和unique_lock的区别。 10. 介绍一下归并排序。 11. 介绍一下红黑树。 12. 介绍一下B树、B+树。 13. 介绍一下TCP和UDP。 14. 介绍一下OSI七层模型,举例协议。 15. 为什么要使用 epoll ,而不使用select和poll(时间复杂度,底层原理,ET/LT,结构体)? 16. 协程的好处是什么? 问完八股就开始聊项目了,项目聊的比较久。先介绍简历上的项目,然后面试官挑了个我打比赛的项目一直问。大概问了下项目中的贡献,方案的优劣,参数的优化。聊的还挺开心的。 最后是做题目,非常非常简单的排序题,但我因为是第一次面试,实在是太紧张了。main函数括号写的"[ ]"。还复查了半天。最后编译过了拍了个照就完事了。栗栗姐在面试完之后也一直安慰我。2分钟后通知面试通过。

### 技术二面(6月15日) 二面没问太多八股: 1. Lambda表达式的常见场景。 2. 内存分布(Linux32位下进程的虚拟内存空间)。 聊完了直接开始做题,Leetcode的一条mid题,单调栈+头插法链表解决,实际写代码不超过10分钟。结果又出了点洋相,第一遍提交的代码没编译成功,而且还没删,第二遍提交上去怎么都找不到错误。卡了我十分钟,最后把第一遍代码删了,一次性编译成功+ac(链表的题目不适合在本地debug,因为输入样例很费劲)。 拍照面试结束,十分钟后通知面试通过。

### 主管面(6月17日) 主管面其实算不上我想象的压力面,整个过程都聊的挺开心的(说是前面两轮面试的效果还不错)。问了下在学校学的课程,自己擅长的课程。断档原因,家庭情况,简历上的奖项,兴趣爱好。然后就结束了。19点半面试,晚上11点通知通过,确定薪资。(因为我断档一年,最好早点入职,栗栗姐和另外一位同事操碎了心)。

## 总结 半年里基本都是栗栗姐监督催促我,我心里有压力她也能帮我缓解,而且有问必答,就算有不会的专业问题,栗栗姐也会找人帮忙答疑,还能帮忙改简历,我的评价是:好好好好!

全部评论

相关推荐

W_Ht:我投埃夫特一票😊,我师兄和同门都签了那。
投递潍柴等公司10个岗位
点赞 评论 收藏
分享
流程比较缓慢,面试体验还行,除了主管面迟到+问了些奇怪的问题,9月就面试完了,11月才跟我沟通offer一面(8.21)1.自我介绍2.介绍水下机器人项目3. 单片机怎么通信4. 用了哪些传感器,传感器数据先后怎么处理,有时间戳吗,怎么处理的?5. 平时c用的多还是c++? 6. c++中static作用 ? 修饰局部变量用于放在全局区,修饰函数用于限定的本文件调用,修饰成员变量表示这是类公共的。   (面试官补充,如果是static成员函数,能否调用普通成员变量?不能,只能调用静态成员变量,除非传入this指针做参数 )7. 数据结构用的多吗?map特性?     底层是红黑树,然后是有序的。    (还有吗?你map是怎么插入的) Insert?   (Insert可以传入哪些参数?) pair  (make_pair) map重载了方括号,还可以[key] = value   8. List和queue的区别?List和vector底层添加元素的区别?9. 手撕:力扣19:删除链表倒数第N个结点10. 刷了多少题?有什么收获?11. c++11新特性了解多少?智能指针用过吗?12. 初始化列表在什么时候用?    const成员变量引用成员变量初始化(还有呢?,成员类型没有默认构造函数,派生类在基类初始化带参时候)13. lambda表达式了解吗?讲一讲14. 设计模式了解吗? 什么是单例模式?15. 用过哪些linux命令?  find命令怎么用? 修改权限命令是哪一个16. vim用的多吗?(说了下常用命令) 17. git用吗?18. 自动驾驶了解多少?19. 了解过TensorRT吗?-------------------------------------------------------------------------------------二面(8.27)1. 自我介绍2. 说一下最熟悉的项目3. 说下卡尔曼滤波4. 说下各个传感器数据是怎么同步的5. 单片机怎么跑ROS?6. 你向ROS2社区提交过代码?说一下这部分7. 手撕146.LRU缓存8. map和unordered_map 的底层区别9. vector的底层实现原理10. push_back() 和 emplace_back() 有什么区别?11. 说下右值引用12. 说下这题的思路?(前缀表)有一个整数数组,找出连续子数组在范围[min, max]里面所有的子数组13. 做机器人的为什么想来自动驾驶?-------------------------------------------------------------------------------- 三面(9.14)主管面,问了些很奇怪的问题1. 自我介绍2. 项目中的难点3. 项目里面印象深刻的地方4. 未来的发展方向5. 了解设计模式吗?6. 手撕一下工厂模式(不会)7. 那算了,代码就不写了,出道智力题(也不咋会。。。。)   25个运动员,在一个田径场上赛跑,田径场有5个跑步,每个跑道每次只能上一名运动员,你是一个裁判但没有秒表,需要决出前三名,需要多少次抉择出来8. 反问   感觉基本凉了,后面说的都不是很好-----------------------------------------------------------------------------------后面莫名其妙让我参加第二志愿的初面,估计被鸽惨了,我说第一个岗位还没结束,他看了下说通过了,这周沟通offer,逆天。。。。#软件开发笔面经##面经#
查看40道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
6 23 评论
分享
牛客网
牛客企业服务