23届考研C++面经(华oD)

  • 先介绍一下背景:

23届科班,考研复试被刷选手,后来直接投递了华为od项目。个人刷题300+,但是基本上没有项目经验,都是学校内的一些课程设计,栗栗姐的机试题刷了10天。

  • 机考

运气很好,抽到的都比较简单,没有遇到难题。

第一道:内存冷热标记,直接使用二维数组多条件排序,或者使用哈希表直接存储就可以解决了,全AC。

第二道:虚拟理财游戏,这道题目直接暴力破解,分别考虑取一种或取两种的情况,选取最大值,但是最后一个用例死活AC不了,过了93%。

第三道:跳马,对每一匹马进行bfs,使用二维数组记录每匹马到各点最小步数,最后输出,全AC。

栗栗姐会给,我是把od全部题库从头到尾刷了一遍,又把题库里面难的题目再做了一遍,其实基本上做一遍就够,不用太过于担心自己会遇到难题。

  • 综测

按照栗栗姐给的攻略来就可以了,不要有自己的想法。

  • HR面试

遵循栗栗姐的注意事项就行了。

1.介绍自身情况以及空档期的原因

2.是否有过项目经历以及项目的代码行数

3.为什么选择这个地方作为工作地点

4.未来规划

5.反问部门的主要业务

  • 技术一面

项目基本没怎么问,觉得我项目太简单了。

由于了解到我是考研的,面试官就主要问我操作系统以及计算机网络的知识

1、操作系统:

对于操作系统的理解,进程线程的特点,多进程与多线程,读写锁与互斥锁

2、计算机网络:

每层名称以及各自协议,后面就主要集中在TCP与UDP的特点与应用上。

3、算法题:

leetcode3,无重复最长子串,双指针直接解决,原题是输出最长长度,如果你做的快的话,面试官会让你输出每个最长的子串。

  • 技术二面

同上,项目依旧基本没怎么问。

这一面的八股文主要就是C++中常见的八股文,包括常用stl容器的特点,怎么使用,使用的注意事项,以及虚函数相关的知识。

算法题是面试官口述的一道题,广度搜索的题目,二维数组中有-1,0,1,2,-1为不可通过位置,0,1,2位置均可通行,求所有1到最近的2的距离的和。将所有2加入到一个队列当中进行广度优先搜索,遇到1就记录距离,并将其标记为已经访问,最后输出答案,我最开始方法不是最优的,面试官就让我一直优化,直到最后达到最优。

  • 主管面

主观问题:

1.自我介绍一下;

2.对自身技术水平的估计

3.项目中遇到的最大困难,以及怎么解决

4.聊加班的看法

5.聊薪资

  • 总结

栗栗姐在整个过程中都在一直积极跟进,每次面试结束后都会立刻询问结果。在整个流程当中,提供了许多帮助,包括复习资料和解答我提出的各种问题。

全部评论

相关推荐

08-18 19:14
已编辑
门头沟学院 Java
自我介绍: 双非一本考研失败非科班非目标院校的应届菜鸡,自学的c++,算法基础仅有408的数据结构,简历上有一段划水的软测实习和一个C++写的服务器项目。机试:365分,准备了大概三周,完完整整的刷完了hr给的题库,碰到两道简单原题,中等题不在题库hr给的题库,但难度较低。总体难度不高,运气较好。资面:在没有通知的情况下,在晚上差不多九点的时候突然打了个电话,很简单的聊天,一些在校经历等就没了。性格测试:照着hr给的方法做就可以了技术一面:当时面试提前五分钟进,结果面试官已经在等着了。简短的自我介绍后就问是不是应届生,后就让我讲一个自己的项目,整场面试都在问项目,然后穿插着少数八股(主要是多线程的同步互斥,线程安全等)问的我是满头大汗。然后手撕给了一道很简单的字符串题,几分钟就给出答案了,面试官截了个图就结束了。40多分钟技术二面:这次面试官迟到了五六分钟,自我介绍后也是问了是不是应届生,然后说既然是应届生那就问点C++最基础的东西吧,整场都在问八股文,主要包括编译过程,内存管理,内存泄漏,常见的数据结构的特点、设计模式等,问的稍微有点深。然后手撕代码也是一道简单的字符串题,也是几分钟就给出答案了,然后就他给一个用例我测一个,过程中稍微改了一下,最后面试官说可以了。40分钟左右。主管面:整个过程十分钟左右,电话面,感觉就是走了个流程,自我介绍完后就问一些在校经历等就结束了。最后是和hr谈薪,按照机试后的报,直接一口答应提流程,不知道是不是要少了(要的是D1范围的薪资)目前在等offer。整个过程有惊无险,最害怕的手撕没来难得给的都是简单题,自己很认真刷了力扣的热题100,结果给的有点简单了。然后就是技术一面和二面两个极端,一个基本问项目,一个基本问八股,我一面之前八股看的多然后准备二面时基本都在看项目,结果就不问了。估计全部面试都是按照应届生难度进行的,然后定薪也是(我猜的)感觉给的题也不难,开场前都会问你是不是应届生。#华为od##华为#
查看3道真题和解析
点赞 评论 收藏
分享
1. C++中的深拷贝和浅拷贝有什么区别?2. 什么是RAII(资源获取即初始化)?3. C++11引入的nullptr有什么作用?4. const关键字的使用场景有哪些?5. C++中的引用和指针有什么区别?6. 什么是智能指针?它们的类型和使用场景是什么?7. 解释一下C++中的多重继承及其问题。8. C++中的虚函数表(vtable)是什么?9. 什么是模板?C++中模板的使用场景有哪些?10. 解释一下C++中的命名空间。11. C++中的异常处理机制是怎样的?12. 什么是函数重载和运算符重载?有什么注意事项?13. C++中的类型推导(auto)是什么?14. 解释一下C++中的内联函数(inline)。15. C++中的析构函数有什么作用?什么时候会被调用?16. 解释一下C++中的友元函数和友元类。17. 什么是动态多态?如何实现?18. C++中的静态成员变量和静态成员函数有什么特点?19. 什么是析构函数的虚函数?有什么意义?20. C++中的编译期和运行期是什么?21. C++中的类型转换有哪些方式?22. 什么是C++中的“移动语义”?23. 解释一下C++中的std::function和std::bind。24. C++中的std::shared_ptr和std::unique_ptr有什么区别?25. C++中的std::vector和std::list的区别是什么?26. C++中如何实现单例模式?27. C++中的多态是如何实现的?28. 什么是C++中的“模板特化”?29. volatile关键字有什么作用?30. static_cast、dynamic_cast、const_cast、reinterpret_cast的区别是什么?31. lambda表达式与函数对象的区别是什么?32. std::map和std::set的底层实现是什么?33. std::thread如何使用,线程的创建和管理是怎样的?34.如何实现接口(interface)?35. 如何处理内存泄露,使用哪些工具和方法?答案附在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看35道真题和解析
点赞 评论 收藏
分享
4 7 评论
分享
牛客网
牛客企业服务