华为数通—C/C++软件开发工程师(嵌入式方向)面经
机试
题目一:输入任意数字,对于第一次出现的数字,输出中按顺序打印三次,比如输入3,2,1,3.打印 3,3,3,2,2,2,1,1,1
题目二,输入一组服务器单次任务能承载的耗费 , 给出一组任务的单次耗费和收益,求出能获得的最大收益是多少。
比如输入服务器 3组 非别为 3,5,6 任务为 (3,6) (6,11) (5,10) (2,7)
那么最大收益就是 7+10+11=28,输出28.
题目三:忘了,懒得看,因为肯定做不出。
面试全程在zoom上,一面5月20日。
一面:一上来就问我项目,我简单介绍了项目之后,他问我负责哪个方面,我说全都是我自己做的,面试官貌似有点怀疑,所以项目就问的细了一点,如果是自己做的,问题应该不大,我觉得尤其应该注意嵌入式几个常用的通信协议,建议练习一下手写软件Iic和软
件spi加深理解。然后问我线程通信的方式,我当时一下子忘记了,面试官人很好,循循善诱:什么变量可以在一个项目里面所有部分都可见?我说的是全局变量和静态全局变量,不过操作系统这部分我答得不是很让他满意,面试官一遍自言自语:操作系统基本不会,一遍在本子上记录。然后问我会不会C++?我说会,然后他就问C++方面的知识。C++的问题我记得有:在函数里返回一个局部指针会怎么样,C++的多态怎么实现,重构有没有了解。函数名相同,参数相同,但是返回值不同是不是重写,不是的话为啥?重写是怎么实现的?C++的内存模型是怎样的?C++问的差不多了,然后问我平时用的比较多的语言是什么我说最近做机试题,嫌C语言比较麻烦所以用C++写,不过之前做项目都是用C语言,综合看就是C语言用的多。所以他就叫我把屏幕共享打开他出了一道手撕字符串复制函数strcpy(char* source,char* aim,int n).丢脸的是这道题我都做错了,不过也是因为紧张。他问我的代码中字符串的strlen怎么算的长度我能答对(感觉没做对加上这个问题回答错了肯定要凉)。接着说我的代码有重复的部分,然后诱导我怎么修改减少代码量,这个问题我倒是解决了。过了一段时间,他说时间差不多了,问我有什么要问他,我随便说了两个问题面试就结束了。结果40分钟后就出来了。
二面是6月3日
二面业务主管面,跟我想的不一样,面试官也是上来就问项目,也是问我主要负责那些方面,我说全都是我做的,硬件电路也是我搭的(似曾相识的剧情),然后他就用了一半的时间问我的项目,幸好我是真的自己做的,而且准备了一段时间,所以面试中一定要为自己说的每一句话负责,不能信口开河。接下来就是跟技术无关的问题,印象最深的两个问题:你对华为的看法是?我从经济发展,民族大义,企业明灯三个方面吹了一波华为,然后被打断了:我不管这些大的方面,就你个人的方面谈一下。我只好说在华为有适当压力能让我学到东西。还有个问题:周围人对华为的看法,我只能实话实说。
二面完了虽然没有发短信,但是招聘官网上大概1小时就绿了。然后就是漫长的等待,6月22日发了意向书,发意向前一星期打了个电话确认就职地点意向。