华od-23届考研C++面经。
- 背景
末九非科班混子,二战复试寄,无竞赛无实习无工作经验绩点也不高,能和C++沾边的只有毕设,但不过也没用到什么技术栈,在语言能力方面有一点数据结构和C++的基础,od对我来说算比较好的去处了。
- 准备心得
机试准备:想要题的话直接找栗栗姐就行了,建议基础不太好的多刷几遍题,除了几道比较难的题,比如学生重新排队等,其他简单和中等题最好要彻底搞懂。
八股准备:栗栗姐会发八股,当然也没必要全部都看,结合网上的面经看看相关部分就行了,其实od面试的C++八股也就那几个题,还是很好准备的。
手撕准备:手撕什么题都有可能出,hard题搞懂接雨水和合并k个有序链表就行,其他的难度一般都不会太高。
项目准备:项目这一块我有点草率,直接拿着毕设去当项目了,这样其实和没项目没有太大区别,如果不着急的话建议找点需要处理线程的项目做。
- 机考(6.17)
1.API负载统计:getlline秒了
2.掌握单词个数:哈希表秒了
3.部门人力分配:二分+双指针秒了
半个小时拿下满分
- 综测(6.18)
会发攻略,应该不会有什么问题。
关于综测网上有很多攻略,这些攻略有一些相矛盾的地方,但是尽量选择乐观的词条,别选那些带有焦虑紧张的词条肯定是对的。
- HR面试(7.16)
就和部门的hr聊聊自己的经历,说说自己为什么选择od,了解下部门的业务,面完后不久栗栗姐就通知过了。
- 技术一面(7.19)
开局先问了一下我的项目,给老师共享屏幕展示了一下大概的成果,因为我的毕设没有用到线程方面的相关技术,所以老师也没有多问。
八股问的都是很简单的
1.虚函数和多态
2.纯虚函数和抽象类
3.new,delete和malloc,free
4.为什么是三次握手,四次挥手
5.udp有哪些协议,tcp有哪些协议
6.udp和tcp的区别
7.什么叫面向连接
8.cookie是什么
9.进程和线程的区别
10.计算机有哪些组件
11.堆排序
12.什么叫完全二叉树,有哪些树
八股大概答了个七七八八吧,大部分还是答的不错的。
手撕:给定一个字符串,不能出现相邻的相同字母的大小写,如果出现了删除这两个相邻字母,直到字符串符合要求。
简单的栈模拟,5分钟之内就做出来了。
面完之后老师说我缺少项目经验,不过基础还可以,然后指出了我面试时的一些问题,就是面试的时候有点僵硬,和老师的互动有点少,希望我下一轮面试改进一下。
面试完之后很快栗栗姐就反馈说过了。
- 技术二面(7.19)
开局先给了两道题
1.字符串不区分大小写排序
2.找到最长的有效括号对,比如)()()((输出4
并且这两道题都禁用库函数
因为禁用库函数,所以两道题都得先求一下字符串长度
第一题就写了个选择排序,大小写转换直接用+’a’-’A’实现的
第二题用我用的是滑动窗口,一开始让右指针尽可能的右移,如果发现右括号的数量大于左括号的数量了,就让左指针不断右移,直到左括号的数量大于等于右括号的数量,在左括号数量等于右括号数量且右指针大于左指针时更新结果。
写完之后老师就问了一点点八股
1.选三个排序说一下具体实现
2.什么叫排序的稳定性
3.C++ sort用的是什么排序
4.面向对象三大特性
5.说说继承和多态
八股好像就只问了这么一些
然后问了下我的项目,这个和一面没什么区别。
面试结束后老师说我基础还不错。
- 综面(7.22)
综面有点偏压力面,面完我差点以为要挂了
老师开局就问了下我的考研经历
问了我下我的兴趣
问我大学都在干嘛呢,怎么啥都没做过
大学印象最深的事
家里大概的情况
面完后第二天栗栗姐很快就跟我说过了
- 感受
整个面试环节比较多但不算难,只要认真准备就没有太大的问题。我遇到的面试老师都比较亲切,让我的面试体验比较舒服。感谢栗栗姐的一路陪伴,从复试失利到入职od,栗栗姐给了我很多的帮助和鼓励,并且从来没有催促过我,如果想来od选择栗栗姐绝对不会后悔的。