被晾了一天,昨晚四处打听别人面试被问的问题,感觉很多都没什么把握,弄得自己都有点紧张了。
今天竟然是个MM面试,挺和蔼的,我说什么她都嗯嗯嗯嗯嗯,也不知道有没有说对。顺便说一下,她也是最近这一阶段以来唯一一个没在我做自我介绍的时候打断我并让我说完的面试官。
现在才感觉到每个公司真的有他自己的特点,面试笔试的时候虽然都会问一些共同的基础问题,但是关于项目经验或者更高一层次的技术问题一定是挑和公司技术方向相关的问题来问,所以有偏向性的准备面试可能结果会不错。比如说像腾讯这种互联网公司,连续两年网络编程都问的比较细。
面试官MM先是顺着简历问了些问题。操作系统,进程与线程之间有什么区别(笔试中有这道题),又问了程序在内存中是怎么放置的(笔试中也有...)。网络方面问了TCP连接和断开的过程(笔试中还是有...),网络编程的阻塞和非阻塞是怎么回事。Linux方面也问了些问题,包括文件系统,read和fread有什么区别哪个是系统调用,ext2文件系统的组成是怎么样的。
接下来就让我写程序,开始让我写一个链表反转的程序,她看我表示做过了就说换道题,字符串反转,最后说干脆再换道吧,出了道字符串匹配的题目...我写出来了,不过少考虑了一种情况。又出了道算法题,说有100W个可能有重复的数字,要求用O(n)的时间复杂度排序,在这里要感谢某同学在Oracle面试之前教会我这种题目。虽然这题与那题不太一样,后来也想到面试官MM没有说数字的范围,不过她当时也没表示什么异议。
最后和她随便聊了聊技术研究岗位实习的具体内容,她无意中透露可能把我安排到Linux的C语言开发方向...不知能进二面否
顺便在这里搜集一下各种一面题目以供交流,欢迎补充!
1. 写快速排序
2. 写二叉搜索树插入过程的代码
3. 一些数据结构和STL的问题(堆、vector)
4. Linux查看内存的命令
5. 怎样显示N个元素数组的所有组合
6. 笔试C++附加题的做法...