注:请参照第一段后根据自身情况选择是否要读。
作为某221本科大三,院里的规定是第四年必须找公司实习。本科没有挂过科,一般都是70分左右。当然也有高的低的,高数什么的基本上60分飘过。大学玩游戏很多,完全非技术党,各种语言只懂皮毛。
我迄今只参加了两次面试。都让我心灰意冷,坚定投入考研大潮。面试的两家都黄了,然后托亲戚找了一下准备挂职考研。
以下面试亲身经历:首先是简历,真的不能写的太好。像什么熟悉、了解、掌握这种词都会升级的。你只要简历里提到,都会问。其中我面试主要都是问C++/C/JAVA这三种语言。我第一句写了熟悉C++,之后就被问了很多很深入的问题。像什么指针的优势,char*****他写了很多星,还问我能不能一直写下去。瞬间就懵了,这些问题根本没有仔细研究过。但是不写这些又没得写,所以要事先准备点他可能要问的东西,然后写上。
笔试的话,两次都有数据结构,第一次就是整张卷子都是,但是共同点是第一次基本全是数据结构,第二次前面是一些小学奥赛的题,没错小学奥赛题。我看到题目的时候是崩溃的,什么按下列数的规律找出下一个数啊,什么下一个图形应该什么形状啊,还有什么鸡妈妈数小鸡。惊喜啊,之前还有听同学说什么笔试考语文的。后面是一些Java相关的,大题一道是排序的。
比较来看,乃至道听途说,数据结构是或多或少必然要涉及的。数组排序也是两次都有。而且笔试很喜欢考内存相关的东西。这大概就是企业和我们自己练习的区别:我们大概很难注意到内存占用了多少,溢出啦,回收啦什么的。只注重实现了功能,但是企业可能是做东西时,很需要考虑内存大小。排序和内存很需要注意。其次是关于二叉树,链表什么的。如何遍历是肯定要知道的,还要注意一些变形题:像什么至少要用几个指针可以遍历,怎么创建一个双向链表啦,云云。
最难的还是面试了,我两次面试第一次是因为内推,第二次是因为那天机构统招所有人笔试完都会面试。不然以我的水平很难进入面试。这个我不得不承认,我笔试很烂。
我第一次面试被问的已经记不太清了,经验是提到什么都会问很具体很细节的问题,没有实际操作,编程过,制作过是真难。如果操作能遇到问题再好不过了。写了一个项目,说自己做了需求分析和设计是很虚的事,当然不是贬低需求分析的重要性,只是公司不需要你去做需求分析。比如我提到自己会用SQL server,这还是我真的操作过,但是他问我如何快速备份一张表,我瞬间懵了。我还真没做过这样的操作,但是我知道老师肯定讲过。当时没有仔细听,后来也不会用的,我们只要建表,属性啦什么的就可以了,之后就是程序的连接调用了。快速备份表真的没做过。还有我说我用过qt做界面,因为实在没有什么可说的,只能随便扯了,然后他问我qt的槽机制是怎样的,也不知道。因为我就是仅仅用qt拖过button,view一些控件啊,等于是随便玩了一下。
之后是关于语言,C/C++一定会问指针相关,这个他问了很久。比较深的是数组会蜕化成指针,其他定义,作用什么的。我也就不列举了。其次是数据结构,前面提过了。我觉得不管笔试面试,简历。只要提到熟悉数据结构,都是很有用的。但是前提是一定真会,一本数据结构也不厚。仔细琢磨一番。
之后是关于Java,继承和多态。面向对象的面向过程的区别这些也都要很了解。线程相关也是,反正基本的数据类型啦,什么循环语句,条件语句是不会有这些简单问题的。对了,还有静态方法和成员方法也被问到了。最后还要强调关于内存的东西,主要体现在节约内存和规定内存大小。
数据库我没有被多问,因为我面试的都是开发岗,应该这些最重要。计算机网络啦,汇编啦,git做版本控制啦,还有一些其他的不知道是否可以理解为C/Java/C++变形的语言,如js,JSP,HTML,CSS以及C#等均基本完全都没有问到。我简历里提到了,但是其实问了我也不知道,这些基本为0。
最后就是做的项目了,也会问很具体的,如果是团队项目,可能会问你做了什么。前面说过了需求分析啦,界面设计啦,很虚。他们想知道逻辑实现的部分。而且还会追问,比如我第二次是两个一起面试的,后面我会说这部分。另一个面试者做过服务器搭建,他就问了他如何处理乱码问题,这问题很具体了。我没有搭建过服务器,很多项目也是所谓抱大腿的。这种情况这样具体的问题就很难去说,是不是自己做的一试就出来了。而且面试官又接着问如果固定内存大小,怎么去实现,怎么去改进,算是拓展问题了。又和内存扯上了关系!
最后可能最不重要但是也要有的就是表现和礼貌了,这个我第二次和另一个人一起面试,我觉得他的表现是真的好。他很有礼貌,离开座位走的时候说谢谢,然后积极性很高,面试官问我们问题他很积极的回答。当时我无法揣测面试官心里是怎么想的,但是他是和面试管交流起来,像是在讨论一些知识,例如指针啦,类的继承什么的。当然这些也要熟悉和你会的前提啊。面试官提一个东西我都不知道什么概念,我怎么讨论啊!然后是求知欲,最后面试官一般都会问那你有什么问题问我吗,此时他借机问了那个刚才面试管问了很久的而且我们俩都不会的问题:指针有什么作用。然后我听到面试官夸了他一句:有求知欲,很好。
所以你去笔试,面试一定要提前准备,无非是那样东西,数据结构,内存。C/C++的话,指针很重要,Java的话面向对象概念很重要。还有我觉得Java线程肯定也会遇到,虽然这次没有问,但是越是高深莫测不基础的东西越是重点。
补充说一点就是实习生的话,校园实践也不是很有用吧,什么部长啦,主任啊。反正我写了一些但是没什么用,基本没问这些方面。
还是要好好学的,学好了比这些都重要。