金山面试一

11.10第一次参加招聘会,在西工大,从12点到5点半,连续做了三份笔试题。真的很头大,不过中午那些招聘的人买盒饭居然也给了我一份。虽然天很冷,但真的很温暖。
晚上就接到了电话,每想到居然是最后一个笔试的金山打来的。金山的C/C++笔试题覆盖的从最基本的语句到比较大的编程题目都有设计,题量也大,有6张A4,正反12页。好多基本的(如case语句出的特别多)的详细用法有点记不清了。还有CPP的东西,这个davelv自然是都不会。。有个改错题,我把对的地方也改错了。。把strcpy函数的两个参数搞反了,真是很惭愧的事。最后两个是编程题,第一个主要是考位操作的,把3个字节的东西分4下来。。这个我也做错了,分拆字节的函数里面忘记移位了,啊呀呀–! 最后的题目是判断矩阵是否包含另外一个矩阵,一个是按行来排列的单链表存储的,一个是按列用单链表存储。我没时间做了,这个题目如果中数组缓存的话,貌似有点笨,还没有想到别的好方法。

11.11早上10点要面试,在什么什么大酒店,我7点半起的,外面开始下雨。收拾完吃饭8点半,天空开始撒盐了。打车到地方9点40,我过去,在门口碰到HR了,她问我这么早就来,我说路远,又下雨,怕堵车,早点来,然后把成绩单和各种证书给他,就跟技术人员谈去谈了,技术是个男的,他好像刚刚起床还没吃饭,我问他吃了没,他说没关系,中午吃,真敬业。我看了下他在简历上标的时间,我居然是第一个通知来面的,估计是最后交的笔试卷子,他最早看到了吧。。第二个面试的时间是10:30。看样子是每个人30分钟。一开始他也没让我自我介绍,就直接进入正题了。

看来面试官都是注重实践的,一开始就说我第一个项目,C编译器。问我编译器的环节,我说了从预处理到目标代码生成的过程,然后又给我写了个函数架子,说优化前后汇编码调用函数的部分会有什么不同。我说栈传参可能优化成寄存器,他又问还有别的嘛?我想了会说没发现什么特别的,我又特别问了下,这个函数体是不是空的,他说不是。他问我你看这个函数作什么了没?我看到传参都是int值,无返回,就说目前来看,不会对主函数有什么影响。这时候我忽然想到,如果没有影响就可能直接把这个函数删掉了,他也是这么说的。但是我又说如果里面有printf之类的东西,就应该不会这样了吧。他说是。。。这样第一个坎儿过去了

然后我说了,我学习C语言,操作系统,组成原理这样比较底层的东西,最近用了linux。他问我一些Linux的东西,问我是linux是宏内核,还是微内核。我记得win内核,但是linux忘记了,我说了个宏内核(跟win不同嘛)看来蒙对了。然后问了系统调用的时候会发生什么事情,我就把trap的过程说了下。又问怎么跟踪程序用的系统调用,我说用gdb调试应该能看到系统调用,他告诉我要用trace,这个还真不知道。说到gdb他问我gdb调试的命令。我最近用了下gdb记得一个是断点命令是b 行号。他又问要监视变量怎么办,我说平时用ide,监视变量的命令没记,他又告诉我是watch,这个有点亏,watch,在ide里面也是watch阿。。。然后又问了下进程通讯的方式,我说有管道,socket和临时文件。win下socket和临时文件用的多,unix管道用的多。他就说还有一个共享内存,这个速度快。说到共享内存就说在这里会不会遇到什么问题,我说互斥排斥问题,可以加锁,用信号来通知另外一个程序。这就说到信号上了,他又问,信号量和信号的区别,我说信号是个概念,信号量是个类似变量的东西,他告诉我,信号是一个消息。还问了linux下很容易由僵死进程,问我怎么处理,我说可以再建立一个demon进程监视原进程,或者分一个线程来监视,他就问还有别的方法吗?我想了会不知道,然后说了点别的东西就扯到别的问题上了。这个还有什么别的方法我还真不知道。。。

又说了网络方面,说了我的作的第二个项目,socket通讯的步骤,我把客户端和服务断的各个主要函数给他说了一遍。然后问了TCP/IP的协议栈,我把OSI的联系在一起跟他说了下,还有问了两个很重要的结构体,一个是用于网卡驱动一个用于封装ip报文。我说不知道,他给我写了下一个是net_device一个是skb。然后又问用串口调试过没,我说gdb下有远程调试,但是好像是通过socket来进行的,不是串口。然后又谈到远程调试的话题上,他说如果你要调试一个系统的内核,可以用远程调试,或者装个虚拟机,装了虚拟机之后也就相当于两个机器,也是远程调试。

最后问我喜欢应用开发还是底层,我说底层学的多一些自己也比较喜欢,他就说底层我们做的机会不多,大部分还是应用,因为普通用户远比程序员要多。还问了设计模式之类东西,一带而过吧。最后说今天的面试还可以,我下午会给你发两个题,你去做下,我看看你的代码,笔试卷子上看不出来。然后我就跟他握手,离开。正好HR要去西工大新区,跟我一起下楼。她跟我谈了下户口的问题,然后问家庭情况,最雷人的是问我有没有gf,又问我你有多少把握进2面,我说78成吧,因为我也是第一次面试,她就说怎么可能是第一次呢,10月份都是高峰期了,好多学校的学生都不止一个offer了,我说上个月考试,毕业设计选题我比较忙,所以没参见招聘会。她又说,你一定要诚实,以前好多不诚实的同学都被我们刷掉了,腾讯也是在这个酒店,他们前脚刚走,我们就来了,你就没去参加他们的招聘么?我说我知道的时候他们都开始面了,而且都是web开发,我的兴趣也不在这里。 然后又跟我说,我觉得我们学校什么专业好,新校区跟老校区的课程一样吗,我说光电,机械挺好,计算机一般,师资跟不上,新校区是二本,老校区是研究生,而我们东校区是三本,二本三本的课程都很相似的。她很惊异的表情看了我一会。后来说要去我们新校区,东大那块,我才明白原来她把我当成西工大的学生了。。怪不的那么惊异的表情。然后跟她解释了下。后来寒暄了几句就分开了。

这次面试收获很多阿,也知道自己学的不是很深,技术很牛,让我意识到自己的不足。他们人都挺和气,感觉还不错的样子,希望能进二面。。。
很晚了,外面雪下的很大,树都压折了。。。雪落无声,是该睡觉的时候了。

总结下经验:
1、基础很重要,这次面试来看,考的都是操作系统,编译,网络上的基础东西,没有什么时髦新潮的技术。
2、学习要联系实际,虽然考的都是基础知识,但是每个都是联系到具体的程序例如,操作系统他问我系统调用,管道之类的。网络问我socket还有协议栈结构体。
3、要把自己会的展示出来,虽然有些问题我也不会,但是相关内容我懂一点,这样面试官可以一步一步引导你,看你的分析和理解问题的能力,这也是很重要的。
4、要诚实,不要乱说。至于有些东西自己一点都没听说过的就不愿乱编了,一般都会弄巧成拙,显得你不够诚实。

This entry was posted in 日记 and tagged . Bookmark the permalink.

21 Responses to 金山面试一

  1. zydj_2006 says:

    感谢分享,你的文章已经推荐到学生大本营首页。希望你的经验能够帮助更多的同学。

  2. DirectRay says:

    加油。实战才能出经验。

  3. ccsnailcy says:

    谢谢啊 就是不知道 笔试、面试考什么呢……参加过一次科大讯飞的面试(陪学长去玩),

    感触颇深 都是要基础啊

  4. elever says:

    MM水平很不错啊~!罕见~

  5. davelv says:

    谢谢辅导员的推荐…谢谢大家的支持

    PS:我不是MM…

  6. dreambegin says:

    恩,谢谢!

  7. volkswageos says:

    居然问编译 问网络的层次结构这种问题,还是感觉好难的啊,还有设计模式之类的东西,在学校都是学不到的啊

  8. davelv says:

    <div class="quote"><span class="q"><b>沈阳航空工业学院 summer(Net学生)</b>: 居然问编译 问网络的层次结构这种问题,还是感觉好难的啊,还有设计模式之类的东西,在学校都是学不到的啊</span></div>这些东西基础原理书上都有讲,我们要做的不只是明白了原理,还要联系实际,这才有用

  9. libin95188 says:

    恩,经验领会了

  10. qizi329 says:

    3Q,太有用了!

  11. awen_PC says:

    呵呵    现在我都不知道我会什么     对于面试还真是有点害怕哈  还好我还有两年

    不过就不知道没考研到时候找工作好找不。其实我的要求一点不高,先养活自己就行。

  12. UsuallySky says:

    金山是家好公司呀[发火]

  13. ruoyun_2008 says:

    谢谢分享啊!

  14. power9413 says:

    谢了,收下~·

  15. teasub says:

    谢谢分享,一直以来都认为基础很重要,但一直以来很容易忽视基础

  16. trivis says:

    问了这么多的问题,看来还得多注意细节了!thanks!

  17. jahy1 says:

    给我是当头一棒呀!注重基础和细节呀

  18. kuai2361425 says:

    我还有很大的距离阿

回复 davelv 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注