有没有小伙伴面过华为海思软开岗的?(面试流程结束,附面经)

下周一面华为海思软开,发现最近牛客上华为软开大多是大运河和数通部门的,没有什么比较详细的海思部门软开面经。

主要是想问一下海思由于是硬件部门是不是和大运河、数通类似,面试官比较熟悉 C++ 和 Python 而不怎么熟悉 Java 的。本人刷题都是 Java 主力语言,C++ 属于二把刀的项目中遇到什么坑就学什么那种的,在考虑要不要突击练一练 C++。

还有,求海思面经!要是问 C++ 相关问题我感觉要炸了……

=============================================================
4 月 1 日主管面结束,全部流程走完。整个面试流程用一个词来说就是虚幻:没有太多的刁难,基本就是跟着我的节奏讲故事,然后就泡池子了。

笔试

总的来说,流程走的还是挺顺利的,3 月 10 号改志愿到海思,3 月 18 号安排笔试。笔试花了 1 个半小时全 AC,锦上添花给代码加了点 corner case 检查语句然后就困了睡觉去了(留学生笔试是在一天的时间内完成,我9点半开始答的,夜猫子)。三个题目分别是给 IP 地址和子网掩码求网段和第一个主机的 IP 地址?(忘了,反正是 256 进制转换求与就完事了),矩阵的中最大的正方形面积(lc 原题,强烈建议使用 0 1 序列求与的思路,代码超酷炫)和 等权图 SSSP(BFS 就完事了)。

一面(70 min)

21 号性格测试,26 号约的 30 号早晨 10 点的一面,流程大概 1 个多小时,主要聊的是我的 RoboMaster 项目经历,全程未问任何基础知识(结果是流程走到最后也没问过一个基础知识)。面试官应该是做视觉算法的,对我们机器人决策系统的框架很感兴趣,得知最后没上 Learning 算法后有些悻悻的意思,就又开始问工程上的故事了(我做的绝大多数事情都是写代码逻辑这种东西)。在反问完问题后,在我的主动询问下,他给我出了道算法题:0 1 2 数组原位一遍遍历排序。方法应该有不少,我用的是两个变量储存 0 1 元素个数从左往右扫,说实话算法不是很美观,但是正确性应该没问题,举了几个正面用例、边缘用例和反面用例。感觉他是纯算法的(据介绍华为的算法工程师是不负责落地的),对代码这玩意兴趣不大,跟着我的思路点点头也就过了。

二面(60 min)

可能是我们聊的有点长了(11 点多了),第二个面试官进来了,第一个面试官道别后马上开始二面。当时头有点痛(就睡了 4 个小时),自我介绍,介绍项目(拜远程面试所赐,面试官让我打开我答辩时候的 PPT 给他讲),脑袋晕晕的思维有些混乱也算是他追问一句我就补充一些。然后问我学过的算法,我就按着算法四的目录开始说,说到树和图,就问我擅长哪一个?我说树吧,毕竟是有向无环图也算是子集了(瞎扯)……然后就手撕一道树算法题。题目是给一个遍历数组,问有可能是二叉搜索树的前序、中序、后序遍历还是不可能。写了个递归 $O(N^2)$ 的版本(后来发现有线性时间单调栈版本的,感觉自己刷的是假题,现在还不知道线性版本的请马上去 lc 上学习相应题目,日后可以秀一下)。写完口头检查过了之后,又打开了图那道题,说这个题你就谈谈思路。经典迷宫找具体最短路径的题,就是等权图上面有障碍物的,小图就 BFS 加 pre 数组就 okay 了,然后我最后嘴欠提了一句说这图要是大点就得用 A* 做了,面试官马上反问说你可以保障 A* 的打开节点数一定不多于 BFS 吗,当时没听懂他问的点,事后反应过来只要 h function 满足四个特性(consistent、admissible 等等,比如迷宫中的 manhattan distance)就可以保障性能是不弱于 BFS 的(我的解读见注1)。感觉面试官是有意的没有在难为我,没有往深处逼问。面完之后 12 点多,面试官客套地说你这个项目挺有意思的,我马上回复说跟您聊天也挺有意思的,他呵呵一笑说还行吧(我到现在也没想明白他是不是在敷衍我,毕竟我答的不算好)。一个有意思的点是,面试官最后问我你有没有什么没有展示出来的特殊才能,我想了想感觉没有,自己没什么特别厉害的本事,就如实回复的没有,然后他说他以前搞了十年的无线如何如何,现在回想起来,大概是抢救性的询问一下是不是还有提高最终 offer 评级的空间?不知道,反正我感觉我没什么特殊才能,也就算了吧。

主管面(50 min)

面完的第二天下午约了第三天早晨 9 点的主管面,这么早是因为他很忙而下午我有面试,就只能约到早晨开会之前的这一个小时时间。业务主管是个头发比我还少的大叔,也是开头自我介绍 + 讲项目,不过大概是大佬见得多了,就没让我按 PPT 详细讲(浪费我准备了一晚上的 PPT),大概问了问,主要问了问底层框架和设计思想方面的问题,问你这么设计你的程序是如何如何考虑的,我就随便答说总体 idea 是经验丰富的 leader 提的,具体是我实现的什么的。感觉这不是他想要的答案吧,他后来说你应该多看看设计模式的东西,什么高内聚低耦合,什么抽象封装可拓展性,emmmm 我这个项目人家前人的底子打得挺好,封装的很好拓展了,有点后悔没从大的角度剖析这个框架,感觉可以加分。然后大佬说你想去北研所是吧(我住在廊坊,相当于北京七环上班了),说我希望你来上海,上海海思是总部,搞 CV、GPU 有一套,北京是搞音视频解码的,标准与硬件的事情多一点,软件不好玩什么的。然后说如果不是重视的话我也没必要劝一个应届生来我这工作什么的,还有就是你来了我请你吃饭什么的,当时的感觉挺魔幻的,这是什么个意思,我也没搞懂。

10 点差几分面完,道别后 10 分钟之内主管面通过,流程全绿等待下一步情况。

总体来说,华为海思软开的难度并不高(当然也可能是机器人项目太有得聊了,以致于一点点基础知识都没问),算法题和大部分面经差不多,就刷过剑指 offer 就 okay 的水平?接下来就是漫长的泡池子了,希望能有个 offer 吧。至于去不去上海的问题,再说吧。

祝各位,国内和国外的战友们,诸事顺利!

注1. 可以想象对于 A* 的 cost function f(x) = g(x) + h(x),对于性能良好的 h(x) 预估出来的 f(x) 不会大于真实路径长度 (h(x) <= h*(x)),而 A* 保障所有会被打开的节点的 f(x) 依然是小于等于最小路径长度。直观想象就是算法给远离终点的点提前加了一个合理的惩罚值,导致它不会被提前访问到。




#华为面试##华为##面经#
全部评论
我面的大运河,面试官发现我c/c++不怎么会之后就主要问我数据结构和计算机基础了
2 回复 分享
发布于 2020-03-26 14:45
老哥有offer了么?我4.10主管面结束,“希望你来上海...北京音频...上海总部GPU...来了请你吃饭...” 跟你的说辞一样。
1 回复 分享
发布于 2020-05-26 13:20

相关推荐

评论
10
30
分享

创作者周榜

更多
牛客网
牛客企业服务