面试官挺严肃的。
一共花了一下午吧,前两面技术面,最后一面hr面,秋招面试一定要自信,别自己说什么我有啥不是很懂的,毕竟你如果说你有什么什么缺点,公司可能就考虑换人录取了。
一面(<1h)
搞一个自我介绍很重要的,突出自己的优势和亮点,这样可以避免面试官问到你的知识盲区,毕竟我觉得除了大佬,不可能什么地方都复习到。然后一般面试官是根据你的简历以及你的自我介绍来问你问题的,想进大厂最好是有实习或者做过和投递岗位相关的项目,不然很难拿到offer。
问了一些计算机网络的知识,三次握手、四次挥手。
然后是操作系统的并行,还有设计模式里面的单例模式。
还有就是写了一个检测链表中是否有环,然后他说我没做过什么大项目,不想让我过,但是看在我学历的份上,让我再做两道题,做出来就过一面,然后做了一个检测链表中有环,然后判断哪个节点是环的进入节点。
还做了一个,判断一个无序数组中,最长的连续相同的元素个数,现场手写,然后给他解释的时候,面试官说看你思路清晰,经常刷题吧,那就算你过了吧。
二面(1h)
主要是刷题用的时间多,问了很多c++的基础知识。
c++的多态是什么?
重载和重写的区别是什么,然后写了两个函数,让我判断是重载还是重写?
问我的项目能搞到FPGA上不?(通信相关的项目)
能不能在构造函数和析构函数中用虚函数,会有什么后果?
静态变量和全局变量放在内存哪个地方?
内存是怎么分布的,有哪些东西?
进程间通信的方式?
银行家算法是怎么进行的?
类之间的继承,虚函数是怎么实现的?
虚函数表里面有哪些内容?
一个空的类占多少字节?
线程池?
new和delete和C语言里面的free和malloc的区别?
指针和引用的区别?
为什么静态函数只能调用静态变量?
类里面的函数,每个实例都会创建一个函数吗,如果不,是怎么寻找的?
死锁、同步、异步、阻塞的概念?
内存泄漏是什么,还有右值引用?
c++11里面有哪些新的东西?
编译的时候,动态编译和静态编译?
一个程序运行过程中发生了什么,都产生了什么文件,这些文件的作用是什么?
手写一个代码,实现二叉树的前序遍历(不能用递归)。
写了一个机器人从左上角到右下角有多少种走法,存在障碍物(动态规划)?
三面(20min)
就是聊人生,聊理想,因为自己很想进华为,所以表现得很急切,言语中可能太不自信了吧,一直说自己愿意学,会努力,到入职的这段时间都会自己下去好好学习补足自己的短板,尴尬的一匹。