华为通用软件开发面试(一二+主管面)

华为今年的招聘规模相比往年是扩大的,不同部门对人才的需求也不一样。一些热门的部门例如消费者BG,无线等都是很多985,211大佬的主场,因此这些部门竞争非常激烈,所以看好应聘形式以及找准自己的兴趣进行投递是比较明智的选择,我也是做了很多功课在这方面,才能找到一个不是很热门但自己也想去的部门

机考(2020.08.24)

(1)先简单介绍下吧,机考环节是技术岗必须经历的一环,主要考察应聘者的代码能力,当然机考只是初步的考察,后续还有技术面面试官对代码能力的考察。只不过机考相当于一道门槛,由该门槛可以筛选一部分应聘者进入后续环节,这样也能减轻面试官的压力。每年机考不通过的人比比皆是,一方面可能算法题做得太少,缺乏一些做题思路的锻炼,另一方面可能是没有掌握正确的做题逻辑,导致自己时间没有分配好,这种还是要多看看别人的经验。
(2)华为机考(以通软开发为例),总共三道题,难度是递增的,以leetcode的标准来划分的话,大概是简单-中等-困难的一个梯度,不过也不一定,当应聘人数很多的情况下,可能会增加难度来淘汰部分应聘者。所以有一个扎实的编程基础和刷题经验是必不可少的,另外就是机考分数的问题,这大概也是很多人关心的问题吧。机考的三道题由于难度递增,因此分数也是递增的,第一道是100分。第二道是200分,第三道是300分。因此总共分值为600分。一般通过的基本条件是至少150分左右(视情况而定,也有100以上的标准),这样看来,与总分相比,达标的分数还是比较低的。当然,这不意味着应聘者只要达标就可以了,达标只是一个最基本的标准,分数当然越高越好,这是因为机考成绩不但决定你是否能进入面试,也是会作为后续流程是否通过的一个参考,更重要的是可能还会影响你最终的面试总体评价。在与别人进行竞争的时候,这个成绩也是一个参考标准。因此,无论从哪个方面来说,机考都是很重要的一环,机考成绩对后续流程很重要。而提高机考成绩的办法就是平时多刷刷题,总结思路与技巧。无论笔试还是面试都要充分准备好才行。
(3)说下我机考的三道题吧
第一道是二进制bit位的题目,其实考察的是对于二进制bit位运算的基础。该题大致是说:给定几个unsign类型的整数,你需要执行以下操作,先把每个整数的每两个bit位进行交换(就是整数的二进制的每两位进行交换),然后把每个整数向右移动两位,并且从第一个整数开始,溢出的部分会补充到下一个整数最左边两位上,最后一个整数溢出的两位补充到第一个整数的最左边两位上。

第二道题目是张贴最大海报问题,就是在一个二维坐标系中给定一组宽度和高度不一样的矩形,问你贴的海报最大面积是多少,可以参考leetcode上类似的题目(寻找柱状图中最大的矩形面积)

第三道是一个猜字符串游戏,就是给定多组猜测的字符串,然后会告诉你每个猜测的字符串有几个字符是位置和字符都是正确的,有几个字符是位置不对但字符正确的,让你求出正确的字符串。

一面(2020.08.29)

机考通过会马上安排技术面试,我的一面二面都在同一天还是连着的(估计人很多吧,时间很紧),三点半开始在会议软件上进行面试,因为很忙可能,面试官上来直接大致介绍了下就让我做题了(很蒙,一般都有自我介绍和基础知识问题的),做的题目是字符串相乘,就是给定两个字符串表示的数据,不准使用任何库以及类型转换来输出它的结果。题目不难但是要注意很多细节,因此面试官也是给了半小时来做吧,其实就是利用乘法规则以及注意大数运算就行了。不过解题思路一定要清晰不能慌乱,由于之前做过类似的题目,所以大概十几分钟就写好了,然后就在那调试。最后面试官让我测试了下,都通过了,然后就让我提出几个问题就结束了。

二面(2020.08.29)

一面结束后等一会二面就来了。二面面试官从说话就看出来应该技术很牛。

  1. 自我介绍
  2. 说说你的第一个项目,负责了什么,解决了什么问题
  3. 你第二个项目是做什么的,怎么做的,算法都达到多少识别率了
  4. 第一个项目还有一个问题,你们那个模型是自己搭的吗,数据怎么处理的
  5. 说说C++吧,怎么用一个函数调用另一个函数来分配内存
  6. C++的多态怎么实现的
  7. 说说进程和线程
  8. 线程同步有哪些
  9. 进程通信方式
  10. 计算机网络了解哪些
  11. 谈谈多路复用
  12. 给你个题目,说说解决思路,判断链表有环,给出了两种解决方案
  13. 做道题,给定由括号组成的字符串,判断是否有效(简单,用栈即可)
  14. 反问(面试官很有耐心,足足给我谈了40分钟)

测评

要说华为机考和技术面试难,是难在编程和基础,但华为的测评可就不一样了,很麻烦,虽然没有什么逻辑推理题,但是一道题目给你九种选择方案,然后还会时不时的出现相同的题目,如果前后选择不一致,很可能就通不过。由于题量很大,每一题的选择也多,因此这个测评一定要保证前后的答案一致,这个如果你对每个问题的答案都很坚定的话,只要保持这种选择就行了,问题不大。但难就难在你能不能很坚定地对所有问题都能保持一致的答案。华为测评不通过的人不在少数,不过每个人有两次机会,要好好准备。

主管面(2020.08.30)

主管面就是部门老大面试了,这个面试其实主要的目的不在于考察你的技术了(技术都已经在前面两面中考察过了),而是着重了解你的一些经历和你的一些性格特点,方便他来判断该应聘者在性格,面对压力的反应,入职动机等方面是否符合公司的要求。一般来说,到了主管面只要你按照正常的问答来说,基本应该没问题。因为考察的就是个人的一些综合素质方面的能力,表现出一个正常人的反应即可。下面是我的面试问题

  1. 自我介绍
  2. 谈谈项目,遇到什么问题,怎么解决的,有什么收获
  3. 你们这个深度学习项目的数据怎么处理的,出错怎么办
  4. 第二个项目有些感兴趣,给你几分钟说下这个项目的一个目标,用了什么技术解决什么问题,还能怎么提高。(该项目应该和他们做的有一些关联,后面又仔细问了)
  5. 你觉得你在学校的项目中担当什么角色,在这个角色的扮演过程中你觉得还有哪些方面是要提高的
  6. 怎么解决团队的一些矛盾的,怎么发挥团队的优势
  7. 你觉得你有什么缺点
  8. 有什么问我的吗

总结

总的来说,我对自己华为面试的总体表现还是满意的,一方面在手撕代码和基础知识提问上都比较好地回答了出来,另一方面主管面的一些问题由于之前也面试了好几家,都结合自己的经历回答出来了,面试官看样子基本满意吧。主管面完当天晚上官网流程显示全部通过,可能要等九月底通知结果了,希望给个offer吧(真诚许愿许愿)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Inthesilence/article/details/108398159