一直怀着一颗比较崇拜的心去应聘百度系统部,但是这次百度来东大招人系统部却没来,主要是测试和运维之类的部门,上个月中旬笔试完了看着周围的人陆陆续续的收到面试通知,感觉非常的郁闷,笔试感觉自己答的还不错……晚上问了一下在百度的师兄,他告诉我系统部没来,让我等电话面试,于是一直等到了10月27号,中午正睡午觉,忽然收到了一个北京的8888结尾的电话,忽然想起百度通知笔试就是这个号码,以为要直接电面,一下子精神了起来,接通后一个声音很甜的MM问我明天中午两点有没有安排,如果有空的话进行一下电话面试,呵呵,当时感觉还挺好,电面还预约,然后我说没事,就定下来了!
第二天中午吃完饭十一点多就睡了,一直睡到1点45,起来洗漱一下,检查一下手机,就到了机电馆前的花园里,刚到电话就响了,然后就开始了电面。
电面的是一个GG,先让我做了一下自我介绍,然后让我介绍一下项目,具体说一下自己的角色和贡献,我就balabala的说了一通,听完了他说看来你做过内核阿,faint,我简历上写着呢……然后他就开始发问:
我就将问答的过程写一下吧,希望对以后面试系统部的同学有所帮助:
你最擅长什么语言?
C,我的主攻方向就是内核,开发一直用C。
C语言的指针和数组有什么区别?
balabala说了很多,感觉没有一个到点的,唉,其实《C专家编程》上说了很多,可是就是想不起来了。。。
Ok,那给你一个C语言文件,如何查看有多少语句?
用wc命令
OK,那如何查看有多少函数?
……嗯,用grep(想想……)
grep怎么实现?
grep[int,void。。。](这个我是真不会,还没说完就被打断了)
好,我知道了(估计意思是我知道你不会了),你用什么开发环境?
我用Vi
哦,那你了解哪些Vi的插件?
ctags、cscope、cppcomplete、global还有c.vim
还有吗
没有了(然后他给我说了十多个,晕,都没记住)
OK那你说说这些插件的用法
balabala(最近一直看找工作的书,好久不用了,也不知道说的对不对……)
嗯,那vi怎么进行函数扩展?
(其实这个我是知道的,以前也常用,可是还真给忘记了)。。。。不知道,没用过
哦,那你用vi编程过程中有什么经验性的体会?
balabala的说了很多快捷键还有分页sp,查找以及如何查看函数的定义shift+k
Ok,这些都是基本技能,算不上什么经验(汗!!!),shift+k是哪个插件的功能?
。。。。。。不知道
Ok,用过CVS吗?
用过GIT(我还深入研究过,当时一阵窃喜)
哦,我不问这个,当前目录下有很多名称CVS为的目录,我要删除,怎么删
很多?但是目录名不能相同阿。。。(现在想想,这个问题真是傻的可怜……)
我说的是递归相同,不是同级下。
哦,当时傻乎乎的怎么也想不明白是什么意思,就说rm -rf cvs
其他的目录下的cvs呢?
这个……(当时感觉好像是懵了似的),没这么删过……
那怎么找到其他的目录名为CVS的目录?
晕,不就是find吗?我赶紧补充刚才的问题,用find找到目录然后删除
具体实现!
find . -name cvs | rm -rf *;
管道能传参数吗?你感觉这样能成功吗?
faint。。。。。。find . -name cvs -exec rm -rf {} \;
哦(很不情愿的样子),你用什么调试工具?
GDB
好,GDB中如何打印数组
print @数组名
那如何打印结构体?
这个不知道。。。。。。。。。
哦,那我告诉你可以通过指向结构体的指针打印,那你想想GDB是如何做到的?
。。。。运行时文件里没有指针信息,我想他应该是维护一张地址表吧?
嗯,那如何获得地址表?
。。。。。。。。。。这个不知道。。
你可以猜一下!
我就想阿想阿,说了好几种他都说不是,直到最后我说我放弃这个问题。。。。汗!
我编写一个shell命令忽然间发现第一个字母写错了,怎么办
ctl+a
Ok,最后一个字母呢
ctl+e
Ok,那如何查询以前的命令
ctl+r
Ok,如何获取上一个命令的所有参数
!×
Ok,那如何交换当前与以前单词的位置
这个好像是alt+。。。。忘记了
好,Linux下的快捷键掌握的还可以,我要问的就这些了,你有什么问题吗
然后我就问他系统部还来不来东大招人,他告诉我已经招完了,不来了!(faint,招完了还面我。。。)
然后我又问我应聘的系统部,你为什么一直问我shell和Vi的东西,他回答我一个没法熟练用用编程环境的人是没法成为编程高手的!然后我就说没问题了。。。
唉,正好那两天降温,风又大,冻死我了,面完了手都要僵住了,回想一下过程肯定是被鄙视了,过了几天一看简历状态,果然是给调到了运维……
前天接到了运维的电话,让我去北京面试,我对运维没兴趣,就直接拒掉了!百度面试之旅到此结束,做一下总结,希望能给同学们一点帮助!个人感觉百度面试就是看你够不够牛,能不能达到要求的标准,所以基本功一定要扎实,运用过的东西一定要熟练。
推荐几本书吧:
C语言方面,四书五经相信大家都知道,都是精华,大家可以好好看看,我看过两遍,个人感觉受益匪浅。特别是《C陷阱和缺陷》以及《C专家编程》,很多内容在面试中都问到了。
Linux方面,基本操作一定要熟,这方面主要是多动手,编程方面推荐APUE,其实Stevens的六卷书都是非常好的,有机会大家可以好好看看,再就是内核方面可以看看《Linux内核设计与实现》,想深入了解就看《深入了解linux内核》和《情景分析》吧!
阅读(3301) | 评论(1) | 转发(0) |