金山网络实习生面试经历

来源:互联网 发布:mac 小红点 编辑:程序博客网 时间:2024/04/30 14:23

2014424日星期四

今天参加了金山网络的面试自己记录下所涉及的问题。

我投的是C++ 岗位的实习生。

Question 1:平时都自己做过什么项目,自己有什么收获。

Question 2:然后就开始问笔试的题目相关的问题,所以一定要准备笔试题目

笔试相关的题目:

第一题实现类似STL中的容器类,能够实现几个函数基本功能:插入元素的功能(根据字符串的字典顺序排列,允许重复的元素,重复元素摆放按照插入顺序)、根据index删除元素的功能、获得容器大小、删除整个容器功能、根据index返回元素的功能等。

我使用链表进行的实现,面试官一直在跟我说链表实现的问题在哪里,我说查找效率删除效率都不高,然后一直就问,更好的实现方法是什么,可惜我没看STL的源码所以这个问题我没回答好。应该是通过红黑树数据结构去实现,当时说利用树结构但是具体实现过程我不是太清楚,所以杯具啦。

第二题两个无序的链表进行合并为有序链表

这个题目思路简单,先给两个无序链表进行排序,然后进行递归合并两个有序的链表。总体思路是简单的,难点在于两个无序链表进行排序的排序算法和效率问题,我说利用快速排序,面试官肯定我的思路,然后继续问链表快速排序的实现细节,当时我先说了数组元素快速排序算法过程,也没有任何问题,面试官想看的还是链表的实现细节,可是我还是细节没有让面试官满意只说出了大体分治然后递归的思想。

第三题设计数据结构实现杀毒引擎如何高效的进行文件杀毒。我这道题本身笔试就没有做出来,后面也没有去搜索如何比较高效的解决,所以悲剧啦!面试官只提到这里面涉及很多高深的数据结构和算法,因为杀毒引擎很看重效率,肯定不能简单的文件扫描查找这么去实现,具体如何实现自己另外再去研究下。

最后面试官问了我想做软件哪一部分是后台还是客户端,我回答的不确定,这让面试官感觉很不开心,我感觉面试官想要我回答一个明确的方向那样。他就说了选择一个方向必须要有极大兴趣推动力,否则研发人员是很难继续。

总结:感觉如果想应聘C++ 这个职位,金山比较在乎首先是C++ 基础,如第一题自己写出自己实现STL容器类。然后面试官很在意你平时自己做的东西,在乎你本身是一个狂热的技术控,还有强调算法是不用说的,任何一家公司都看重算法,一次次要求你提高效率。如果你会window下系统编程那就更好了。

0 0