前言
没想到这么快就把人生第一次面试送出去了,还算顺利,面试一个半小时,结束了面试官跟我说,你是我面的时间最长的一个,感觉有戏, 果然最后接到了实习offer,虽然后来有各种原因可能去不了实习,但还是想记录一下这次面试。
准备
首先寻找实习企业,鉴于我的本科背景(自己都感觉太扯了),我之前一直都没有太多自信,有天听朋友说,他要去DD面试,在大街网投的简历,我感觉DD还不错,向他要来链接,试着把简历投了出去,感觉希望不大,不久就听到我同学面试没通过,因为他投的是测试岗位,一直在复习测试的知识,但面试官问的却是操作系统、网络、数据结构等等计算机基础知识,虽然题目不难,但对于这种意料之外的事情表现都不会很好,我当时就感觉要跪了,等了两天我也接到了面试通知,让当天下午过去,我机智的说下午有事,明天吧,就这样有了半天的复习时间,赶紧找资料复习呀,基础这么差,网络都没学过,根据朋友透露的题目,简单复习了一下,其实突然转入紧张的复习还真做不到。
面试
第二天九点半出发,十点半到了DD,比预约时间早了半小时,但是面试官见我来了,立刻就开始了,面试环境很随意,就在办公区一个角落的咖啡桌上进行的,一对一面试,桌上一台电脑,几张白纸,一根笔,感觉这就是面试啊,跟我想的不一样啊,面试官笑着说,做吧,立刻放松了很多,首先自我介绍,然后问我的简历上的项目,让我介绍做的那个网站(上一个帖子),有什么难点,我说了一大堆,他总结了一下,并没有什么复杂的算法啊,我无奈的啊了一声,然后又问了我在做的一个代码检测的项目,他说是关于DOS防御的么,我根本不知道这是什么鬼,就说还没做到这一步,现在在做代码注释率检测,给他讲了讲怎么实现的,简历问题算问完了。
开始进入正题,首先开始数据结构,突然我就慌了,因为昨天下午没看数据结构啊,还好问了个简单的问题,说一说栈和队列的区别,我挺顺利的答出来了,原来这只是开始,下一题,用两个栈实现一个队列,我吭哧吭哧的想到了,但是想的不是很透彻,被问住了,之后又让我写段代码实现堆栈的top、push和pop,我依然没能写出,但是这个面试官真的是太好了,他在我的代码里找到了亮点,说我开头的#define用的非常好,又让我写了一个用define实现求和函数sum,我平静的写出来了,在变量上机智地加上了小括号,又被赞了,他说,我要的即使这个括号,很开心的结束了数据结构的提问。
然后进行网络的环节,还是从最简单的开始,网络分几层,七层结构的都包括哪几层,TCP、IP、HTTP分别在那几层,我又吭哧吭哧的没答全,他说没关系,接下来主要是问TCP/IP的一些问题,三次握手,四次握手之类的,最后让我画出四次握手的流程图,因为有所准备所以很顺利的过去了,后来联系我做的网站,问了一个问题,客户端要给服务器发送数据,服务器端的servlet要怎么写,用C描述一下,这个题完全没有get到他的点,考虑了很久还是说不会,他又说没关系,我真是遇到好人了。
接下来问的是数据库,感觉很轻松,因为对数据库还是比较熟的,先让建个student表,写到create table student(,他说不用写了,应该是关键字对了就可以,又问了插入数据insert,修改表中数据update,查询select以及分组group by,对group不是很熟悉,答得不太好,还问了左连接和右连接的区别,最后问了三范式,答的也不太好,勉强过去了。
然后问我对linux熟悉吗,我很开心的说,熟(平时学习都是在ubuntu上),问了一些基本命令,cd,ls,mv,cp,查看文档有哪些命令(more,less,cat,vim),又问我对vim熟悉吗,上下翻页哪两个键,我很自信的在他电脑上点击了j、k,很顺利,问问题的速度也加快了,后来问到用什么命令把文件复制到另一台电脑,还有一些没听过的命令sed,awk,这些直接说不会,他好像就等着这句话呢,然后就不问了。
最后是C++,还是从最基础的开始,说一说多态和重载,关键字static有什么用途,说的勉强过关,然后写代码,问题1,有个字符串,比如“12345”,将它转换为数字,朋友说过这个题目,有所准备,写的还好,在函数参数列表中用了const,被赞了一下,问题2,100块钱买公鸡母鸡小鸡问题,这个很简单,不考虑复杂度,直接三重循环搞起,没有考虑到的是,小鸡一块三只,步长应该设为3,算一个小缺陷,其他还好。
至此,面试已经结束,他又提了一个算是附加题吧,为问题1(字符串转数字)写出测试用例,我写了大概12、3个,他最后添了两个,面试结束。
后来确认了一些问题,假如通过了面试,一周能来几天,能工作多久,一周四天,至少4月,刚好满足他们的招聘要求(不这么说不行啊),然后问我还有什么问题,工作内容是什么,他回答了一堆,有些是很空的话,说什么熟悉业务,每个公司最重要的就是业务,其实就是先做测试,做不做开发他们说了算,这也可以理解,毕竟投的是测试岗。
通过
走到地铁站就接到了HR的电话,面试通过,当时太兴奋,犯了个错误,HR问我什么时候能来上班,我想都没想就说下周一,回来后想到下周一竟然还有课,当时太激动了,也因为是第一次面试通过,总想着早点去实习,正确的做法是,考虑之后再做答复,不在电话中说,回来发邮件。
后来就各种不巧,第二天就被老板叫去CB干活,被临时分配了其他任务,不知道能不能去实习,这时我给HR发邮件说,上次说的欠考虑,想延迟一周入职,HR立马转变了情绪,有点小怒,不过还是同意了,这次他确认性的问了我两遍,下周一能来上班,感觉再延迟肯定不可能了,就算过去了,最近一段时间都要老实点喽,请假什么的会挺难的吧,不知道怎么办呢,下周去不去呢?
后续
这个实习机会虽然不是那么好,但还是不想放弃了,我总是相信机会没有好坏,看人怎么把握与利用机会。
去实习的主要阻力来自于实验室,我做了一些简单分析:以个人目标为选择准则,哪个有利于个人目标的实现就选哪个,发现实验室的项目对于我的价值远低于实习,虽然不去实习也可以自学,但是你懂的,不敢再浪费时间了。
经过思量,13号去实习了。