【面经】华为粤港澳优招通用软件开发工程师面试

一面

面试时间约在十点半,实际十一点二十才轮到我,因为人实在是太多了。

自我介绍,讲项目,手撕代码+1,题目是给定两个无序数组,不用set的情况下求二者的交集。

时间大概是30分钟。中午管饭,盒饭*1,还算厚道。

二面

十二点五十分左右开始,也是先自我介绍,讲一讲项目,之后又是手撕代码+1,题目是求一个字符串在另一个字符串中出现的次数。

写完的时候,面试官在用手机发信息,没时间看,然后又是手撕代码+1???题目是树的前序非递归遍历。这次学聪明了,写完之后等他放下手机才说写完了。
面试官大致看了一下没什么问题,又问了一下后序非递归的思路。

之后,又问了一道题:两个8K的字节块,如何快速计算二者的重复率以达到压缩存储的目的。

对于这个问题,主要针对比较两个二进制数据块相同,个人一开始说了按位与,然后面试官说可能有1234abc和abc1234这种数据,实际相似度极高但按位与相差极大的,然后个人就利用字符串比较的方法,说利用相同数据块拼接,然后比较的办法来解决这种问题。虽然不是最优解,但是应该是可行的,因为看到面试官点头了

三面

一点四十左右开始,主要还是针对简历和简历中的项目进行询问,以及其中的技术点的提问。终于没有手撕代码了。。。

最后

今年华为粤港澳优招,基本全都要手撕代码,有的运气不好的,一面都要撕三道题,简单统计一下别的代码题,有且不仅有:
快排、普通排序、链表求和、链表表示进位的数字求和、树的前、中、后序的非递归写法、KMP、树的链表化等等。

你可能感兴趣的:(Interview,Preparation,Huawei)