华为OD-C++开发面经-24届空挡
背景:
本人24届,一战考研失败,毕业后参加考公最终下岸,本科就读双非目标院校,专业是网络工程,计算机专业方面的课程都学过,但是无实习经历无工作经验。在考公下岸后,我大概花了两个星期复习了C++,接着由花了两个星期刷完了力扣hot100的题目。在这之后,我联系到了栗栗姐,随即开始准备笔试和面试。
机考:
花了两个多星期刷题,题库大概刷了100多道吧。机试前最好熟悉ACM的输入输出模式,如果只用过力扣的核心代码模式还是比较吃力的。
精准核酸检测(100)图搜/BFS
贪心的商人(100)贪心算法,参考力扣的122题
简单的解压缩算法(200)字符串处理/栈
综测:
往积极乐观的方面选就行了,注意前后一致。
资格面试:
只问了一些简单的问题。例如自我介绍、gap原因、职业规划、对部门的了解、优缺点这些。
技术一面:
项目遇到的困难,怎么解决的?
数据库怎么优化查询效率?
程序的虚拟地址内存空间?
堆区和栈区的区别?
说一下重写、重载和隐藏的区别以及各自的特点?
手撕两道题:力扣3无重复字符的最长子串,力扣15三数之和
技术二面:
简单介绍一下项目
虚函数能否内联?
讲讲内存泄露?
浅拷贝和深拷贝的区别?
讲讲快速排序?
说一下工厂模式怎么实现的?
除了单例模式和工厂模式你还了解哪些设计模式?
手撕:0表示仓库,1表示零售店,-1表示障碍,求出所有零售店到仓库的最短路径之和。如果仓库数量或者零售店数量为0,输出0。示例输入矩阵:
1 0 -1
-1 1 1
1 0 1
输出6。解释:最短路径和为1+1+2+1+1=6。
技术三面(定级不一致加面)
在项目中你用到了哪些技术栈?
你是怎么优化项目的?
讲讲快速排序,归并排序的思想,它们有什么不同?
讲讲智能指针以及实现原理?
讲讲继承(访问修饰符)和多态(静态多态、动态多态)
虚函数和纯虚函数的区别?
说一下c++11有哪些新特性?
讲一下STL的常用容器?
map和unordered_map有什么区别?
看过哪些第三方库的源码?
用过代码管理工具(git)吗?
手撕:力扣21合并两个有序链表。
综合面试:
一开始以为不会问技术问题,所以没怎么准备,不过主管人很好,问的技术问题也比较简单。
这次综合面试除了问了资格面试的那些问题以外,还问了一下关于C++基础,数据结构和算法以及计算机网络的简单问题,问到了操作系统但我不熟所以没多问。此外,因为我没有工作经历,所以主管着重问了我在校的比赛经历以及项目经历。
总结:关于技术面刷题,推荐优先刷力扣的面试经典top150,而不是力扣的hot100,因为时间充裕所以我两个都刷完了,刷完的感受就是hot100有不少题都是偏难怪而且不常考。当然有时间的情况下都可以刷一下,因为top150和hot100有很多题是重合的,都刷完也要不了多少时间。
#面经##华为od##面试##内推##发面经攒人品#
