今天去华为面试了,这是我人生当中第一次比较正式的面试吧,今天下午有两轮面试,第一轮技术面,第二轮boss面。我第一轮就被刷了。
下午13:30到达华为杭研部,本来是14:00面试,结果由于早去,到华为面试点就直接被叫进去面试了。那时候还在犯困。首先进去是自我介绍,我先常规的介绍了一下自己。接下来就是问项目,我写了两个项目,面试官只对那个有关Linux的感兴趣,所以就只问了那个项目。面试过程如下:
1.自我介绍
2.问项目,先问项目干什么的,怎么工作原理。我这里说得不流利,面试官估计也没太懂,然后他就问开发环境,我说是source Insight ,编译环境是gcc。接着他又问我里面的图像识别算法是不是自己写的,我说不是,是现成的,我很老实,都实话说了。因为面试官很牛,只要你说你改进的,他又会问你怎么改进的,有什么优点什么的。接下来又问
三路握手原理,这里我项目用到了,结果我没答好,面试官不满意。然后,他说,怎么调试的,这里我答得还行。总得说来,项目问的东西我都没有答好。最后问我,程序跑飞了怎么办,这里答得很差,其实应该要说用脚本去检测这个进程,如果跑飞了的话,自动重启这个进程。
3.基础面,先纸上写一个程序,考了局部变量,全局变量,栈的基础知识,malloc函数动态分配内存放在哪里,如果不释放的话,有什么问题。我说内存泄露,接着他又问,内存泄露会造成什么影响,这里我就没有答好。然后就问操作系统的东西,进程和线程的区别,这里展开问了不少东西。还有,使用排序算法的时候应该考虑哪些问题,我说考虑时间复杂度,这里估计也答得不行。
4.开放性题目,你在大学做过印象比较深刻的项目时什么。有没有遇到过问题,还有你是怎么解决的。
总的说来,这是一个教训,还是考察你的基础,所以,基础一定要扎实。