华OD面经-C++-软件开发-24届考研
背景:
24届毕业生,末流211本。二战后开始投od,先后刷了力扣200题。
机试:
第一道,考二叉树,求二叉树所有节点的路径之和。dfs遍历一遍就可以得出结果了,算法本身不算难。但要注意都需要自己写输入输出,如果建树的话比较麻烦,直接用的数组存储。
第二道,贪心。原题记不清了,类似于leetcode买卖股票的最佳时机。做完提交后,发现部分用例没过,因为150及格线,所以没太在意就直接下一题了。第三道,字符串处理,考的滑动窗口,对应题库中寻找符合要求的最长子串。大致题意是滑窗内任意字符不能出现超过两次,同时不能出现屏蔽字符。也是刚提交只过了部分用例,大概50%。后面又修改了一下。最后机考分数 350+,比较幸运的是上面题都是题库原题。
性格测试:
只要不选偏激的,并且前后保持一致就可以顺利通过,详细细节可以问问 hr。
hr 面:
主要聊聊天,评判一下稳定性,问了gap的原因,这部分不用太担心,考研的话也可以照实说。
技术一面:
手撕:leetcode 2.两数相加原题。大意是链表实现两个整数相加,不算难。需要熟悉一下链表操作。
然后问了一些 c++八股,觉得八股更难:真的难。问了继承方式有哪些,各有什么区别。什么是虚函数,什么是虚函数表?什么是共享指针,有什么特点?存储区有哪几种?new和malloc有什么区别?什么是进程,什么是线程,知道协程吗?物理内存和虚拟内存有什么区别?说说用户态和内核态。什么是内存泄露?怎么查看有无泄漏情况?怎么优化代码?(这个问题不知道怎么答,就说了一些优化算法,然后选合适的数据结构。)
技术二面:
手撕:leetcode 17.电话号码的字母组合考查回溯算法。这个也是之前刷到过。回溯掌握套路就不是很难,需要多刷一些相关题型。手撕同时比较久。然后也是问了c++八股,没问项目,但大家还是要熟悉一下项目。问了结构体和类的区别。结构体里能不能写构造函数?构造函数有哪些?指针和引用的区别。什么是函数重载?父类和子类构造函数调用顺序?析构函数调用顺序?虚函数和纯虚函数区别?stl库容器有哪些?vector和list有什么区别?map和unordered map有什么区别?智能指针有哪几种?什么是内联函数?进程和线程的区别。说说设计模式有哪几种?
主管面:
主管面也问了一些八股,我看大多数人的面经,主管面都是聊天,没想到还问了八股。然后问了项目和毕设(因为我写了毕设,所以问了一下,但是也是垃圾项目)。最后说了薪资和待遇。最终也是好不容易拿下了 offer。
#OD面经#首先介绍下正常情况下的流程,机试➕综测测试➕确定具体部门后资格面➕技术一面➕技术二面➕主管面➕谈薪资和等审批 该专栏是已经入职的同学分享的经验贴,希望可以对大家有帮助