华为优招 软开面经
白piao牛客这么久,回馈一下233
一共三轮,前两轮有手撕
运气比较好,碰到的都还刚好会233
一面(40分钟)
自我介绍,因为主要说是会C/C++,面试官就说用C实现一下链表的结构,写一些基本操作,写完给他看,然后就接着让再实现一下链表反转。
后面就是全方位的问基础,问到某一块,就问你这一块是怎么学的,看什么书
1.C++
代码完就接着针对C++的一些细节东西问,包括(有的可能忘了):
- C++的内存分配
- 拷贝构造函数
- 拷贝构造函数和=号赋值的区别
- C11新特性了解哪些
- 虚函数了解么?具体讲讲
- 模板了解么?
- 你说到代码重用,那虚函数和模板有什么区别,分别适合什么
- 平时项目中有遇到过内存泄漏么?知不知道用什么设计模式来避免这个问题(不会233,讲了一下只知道C++有智能指针)
- 程序源代码到可执行程序中间的过程,每个过程干了哪些事
- linux用吗?熟悉gdb么?下去你可以了解一下,把每个过程分别执行,去观察一下(太蔡了233)
2.数据库
然后数据库的,问了不了解,说只了解些基础,就没问我了。 3.计算机网络
计算机网络,简单问了下TCP/UDP,又问了个两个ip地址之间通信,中间经过了哪些路由器,用什么命令查
4.操作系统
进程/线程,虚拟内存,假设没有内存的交换,你new一个对象的时候,是直接给它分配内存么?(懵逼。。这个你下去可以去搜一下,有一本操作系统的好像叫绿皮书,可以看看。。好的好的好的)
最后感觉时间没面够还是啥,又让我介绍了下做的一下简历上的机器学习的项目。。(听了他也没有很感兴趣,然后时间也就差不多了)
一面面试官全程笑着聊,体验还是比较良好233
二面(40分钟)
自我介绍,介绍一下项目,然后面试官好像很想问我数据库,但我说只了解些基础,平时项目中确实也用不到,所以很缺乏实战,只看了些书本基础知识,他也就没细问了233
这一轮好像没有问特别多细节的东西(确实记不清了233),只记得后面的手撕代码了
说是有两个比较大的数组,让求它们的交集。(当时也没有限制说时空复杂度要怎么样)就说你先想想,也可以和我交流。
想了一会儿(当时不知道为啥,完全没想到用hash做。。),就说了一个把其中一个排序,再遍历另一个去二分查找的思路。
面试官说,恩,这样的确是可以做出来的,这样吧,给你20分钟,你写一下吧,排序你可以先假定有这么个函数,后面要是有时间,你再把排序写一下。
最后就写了个快排和二分
三面(10多分钟)
三面是部门leader面,问了些本科研究生阶段的专业课,他在纸上记了一下,然后问下学习成绩,对华为的了解,介绍一下项目,闲聊了十来分钟就结束了,没有问什么技术问题。
总体感觉还是比较幸运,没有碰到特别刁的问题和代码题😂面完收到短信,十个工作日出结果。
大家好运!