华为云(一面 + 主管面)
(base:深圳、暑期实习、申请的是 C++ 开发岗位)
更新:主管面挂了,大家加油!
一面(4.25 下午 2:30)
- 手撕代码,要求 30 分钟之内,力扣原题
- 问算法思路
- 除了这种思路,还有没有其他思路
说了用递归枚举子集长度,针对这道题的递归需要注意边界条件。
- 跳出这道题对递归算法的理解,平时写递归算法注意的问题(提的问题有点不太能理解)
说了除了注意递归出口之外,可以用剪枝来优化递归,面试官再问还有没有其他手段,说了做全局备忘录(这也是 dp 常用的手段)(问到这里已经花了快 40 分钟了)
- 回顾之前的笔试题目,问了我笔试的思路
- C++ vector 和 list 的区别、优劣势、底层实现原理
说了之后引出了一个局部对象 vector 是分配在堆还是栈,它里面维护的空间是分配在堆里面
- map 和 unordered_map 的底层实现和优劣势
- map 和 unordered_map 的时间复杂度
- 父、子类构造函数、析构函数的调用顺序
- 构造函数里面能不能调用虚函数
答案是可以的,但是自己说不可以,想法是对象还没完整构造出来,不知道调用的是哪个虚函数;
面试官给出解答,说我是不是和纯虚函数搞反了,问我纯虚函数和虚函数的区别,答了以后面试官说我提出的不清楚调用哪一个虚函数版本的问题其实已经解决了,父类就调用父类自己的虚函数版本,子类就调用子类自己的虚函数?
- 问本科参加的比赛、有没有发表论文、专利情况
- 问了我的一个云计算项目,在里面承担的角色,负责什么任务
- 问 C++ 的 HTTP 服务器,让我说一个实现亮点
说了定时器的设计,以及其他组件的优化思路
全程大概是 60 - 80 分钟,面试过程吹了很多自己对技术的感悟,面完 20 分钟收到短信一面过了
主管面(4.29 下午 2:10)
- 自我介绍
- 问我的一个云计算项目(实验室依托的一个国家重点研发计划)
balabala 了很多,主管一直说项目重复造轮子,让我说出项目的亮点……说的很多亮点都被主管说业界已经有很成熟的技术了……把我虐得体无完肤
- 投的是 C++ 开发
讨论了 C++ 的生态问题,期间还扯到了其他公司的 C++ 使用情况……被主管狠狠的秀了一波……
- 反问主管 C++ 在华为云的开发地位
驱动开发、算法、围绕 GPU 做 API 、音视频等等很底层的东西……主管问我有没有兴趣(我肯定说有啊……)
谈得很杂,全程被主管的知识碾压……,有种要挂的感觉……
全程接近 50 分钟,下午 3 点面完的,到晚上还没有短信通知过没过……官网状态一直卡在主管面未完成,估计主管过五一去了