腾讯实习生面试二(复试)

有点意外,昨天晚上十点钟了,跟GF在打电话聊天看到一条短信来了。当时心里激动啊,不会是腾讯通知复试的消息吧,不过后来想又不太可能一面答的那么垃圾应该不会有机会了。下午就收到几条短信,每次短信来的时候都期望是腾讯的,但都不是,这次也怕再失望。忍不住好奇跟GF通话的时候就打开看了一下短信,当时那个心理激动的啊,嘿嘿...大牛肯定不屑但小菜我没什么能力,心里当然激动点点了。

今天早上7点钟爬起来,因为9点半面试,要一个半小时的车程。打开了寝室同学的电脑,想再看看socket编程之类的东西,临时抱佛脚。打开之后又想复习一下Linux的东西,然后还想看C语言的东西,后来想还是算了。半个小时也看不到什么东西,关机走人了。

路上堵车,幸亏自己除法的早一点,没有顾及到今天上班的人多,以后还是多多提前出发比较好。今天早上的心里跟昨天是一样的,反正我已经准备要考研了,大不了我就考研,把我挂掉也无所谓。这里要多说一句,我对不起今天面试我的面试官,对我那么和蔼,我对他撒了谎。他问我是否打算考研,我说不打算,其实我有打算。原谅我吧,因为我觉得如果我说考研的话可能就不会让我去实习了,呼呼~~对不起了。

二面嘛就没有问了那么多技术题,所以这里就多扯淡一会儿。今天面试的人比较少,本来以为是一面刷掉了很多人,但是后来听说我有个同学也过了复试了不过他没有去,有点汗颜。

首先进去之后面试官让做一个简单的自我介绍。这个是因为我今天忘记带简历,其实不是忘记带简历而是腾讯第一次面试通知带简历结果没有收我的简历,我以为二面就不用带了,疏忽,以后要记得带简历。我就开始说我在学校里面大一的时候学C语言VC,然后还没有开始研究MFC就转型学习C#,.NET那一套东西,因为觉得那样的开发效率很快。之后在上个学期开始转型学习Linux/unix,开始学习linux下的开发。项目做了一些网站等等。他就问我,为什么学那么多语言。我知道这是我一个弊端,我说兴趣是一方面因素,还没等我说完,他就问,那如果兴趣是一方面因素的话是不是如果出来一门新的语言你就会放弃学习C语言去学习那个预言了。我说兴趣是一方面因素,但是还有另一方面因素是增加自己的竞争力,众所周知.NET程序员现在很多,门槛较低,所以工资也不会很可观的。(这里绝没有说.NET就怎么了,一样技术牛逼了年薪多少多少万的多的是,只是说相对人多一点,门槛低一点,深入并不容易)。

然后问我有没有装Linux,我说我安装了的。装了Ubuntu和Fedora,然后自己对Ubuntu和Fedora做了一下简单的评论。说现在很少使用Ubuntu,因为毕竟他是一个更倾向于桌面化的操作系统。说自己现在把Fedora的开机启动设置为3,然后只用命令行。期间他问我在Linux用QQ是用的什么还是怎么用没有挺清楚,不过我忙着介绍自己安装的Fedora就没有讲,后面他也没问。然后问了一些Linux下的简单的命令,这些小命令都是常用的,比如问了查看网络端口号,用netstat,查看当前的所有进程用ps aux,还有添加用户使用useradd等等都是比较简单的。

他问了一下我做过的一些东西。首先问当事为什么觉得MFC很难没有学下去,我说大一不明白消息机制对这些方面处理比较的弱。我觉得这个答的不好,应该说现在如果让我学MFC的话我肯定没有问题,当时大一的时候觉得MFC麻烦了一点点,用.NET直接可视化开发要快上很多。可惜,自己没有很好的回答上来。然后问网站是如何通信的,就是你前台的东西是如何跟后台交互的,前面提过一面的时候就问过这个问题,我真的不明白他们想要要什么答案。反正做.NET开发就是傻瓜式的开发的,感觉他的意思应该是问前台的html页面和后台的事件是如何交互的,我现在觉得答案应该是回答,可以通过POST,GET,PUT和DELETE方式,把html的页面跟后台交互。当时没有想到这些,笨,应该就是问提交方式的。因为后面他又提示问,POST和GET的区别,这个以前做网络渗透,就脚本攻击的时候有过了解。POST方式适合提交大数据,因为虽然HTTP协议本身对GET没有限制,但是某些浏览器会对url的长度进行限制,所以一般大数据提交的话需要用POST方式。另外就是Get方式一般是放在url的查询字符串里面,是在HTTP协议头里面的。简单来说,POST是向上提交数据,GET是获取数据。

写的比较的乱,因为毕竟是回忆。将就将就。

接着就问了HTTP协议头里面包含哪些内容,这个就比较悲剧了。虽然我每次做东西,比如js都需要用firebug或者微软的或者Google的开发人员工具查看头信息但是一时想不起来了,笨。只回答了有SessionID,有请求字符串参数。其实回来看了一下,比如请求URL,请求方法是POST还是GET,还有可接受的编码等等,都是由的嘛,太多了。笨哦。其实POST和GET的东西都在请求头消息当中。这我应该吹一下自己经常使用firebug,这样我虽然没有记住但有可说的。

接着问TCP/IP中的TCP协议连接的时候的三次握手,这个就比较恼火了。我只说了有一个ACK标志位,首先由客户端请求,里面有一个随机数,然后服务器端在那个随机数之前加1发给客户端,然后客户端再加一发给服务器端。这样就通过三次握手就建立了一个面向连接的TCP通信了。表述比较模糊,还是从网上搜一下答案吧,如下。第一次握手:建立连接时,客户端发送syn包和一个随机序列号seq=x到服务器,并进入SYN_SEND状态,等待服务器进行确认。(syn,同步序列编号)。第二次握手,服务器收到syn包,必须确认客户的SYN,然后服务器发送一个ACK=1, SYN=1, seq=y的随机数和ack=x+1的确认数的包发送回去。第三次握手是客户端收到服务器端的SYN+ACK包,然后向服务器端发送确认包ack=y+1, seq=x+1, ACK=1,客户端和服务器端进入ESTABLISHED状态,完成三次握手。具体图示如下:

 腾讯实习生面试二(复试)_第1张图片腾讯实习生面试二(复试)_第2张图片

这里多说一点,既然提到了连接时的三次握手,就顺便把断开连接时的四次挥手也复习一下。首先客户端主动发送Fin=1,seq=u,它等于前面已传送过去的最后一个字节的序号加1.这是A进入FIN-WAIT-1状态,等待B的确认。B收到连接后立即发出确认,确认号是ack=u+1,而这个报文段自己的序号是v,等于B前面已传送过的数据的最后一个字节的序号加1.然后B即进入CLOSE-WAIT状态。因而A到B的这个链接现在已经断开了,这时的TCP连接处于半关闭状态,即A已经没有数据需要发送了。但B若发送数据,A还是要接受的。A收到来自B的确认之后就进入了FIN-WAIT-2状态等待B发出连接释放报文段。若B已经没有要向A发送数据,其应用进程就通知TCP释放连接。这是B发出的连接释放报文段必须使用FIN=1.现在假定B的序号为w,B还必须重复上次已发送过的确认号ack=u+1.这时B就进入了LAST-ACK状态,等待A确认。A在收到B的连接释放之后必须对此发出确认。在确认号中把ACK置1,确认号ack=w+1,而自己的序号是seq=u+1。接着A进入TIME-WAIT状态。为了保证B可以收到确认释放报文段。如上图:

中午耽误了一会去上课,然后就悲剧的想不起来今天面试的内容了。

接着他又问我,如果现在我有三个offer,分别是腾讯、百度和微软中国的话,我会选择哪个。我当时问有没有附加条件,比如职位或者技能要求等等,他说没有。然后我想了一会说自己会选百度。他接着问我,选择百度的原因在于哪里。我说现在明显在计算机信息类最有前途的两个行业分别是终端开发和互联网的开发。比如iPhone,Android,还有平板电脑ipad等等。然后互联网是未来的趋向,所以就发展来看我更倾向于选择百度。但是选择之后又后悔了,这不明白着说腾讯的互联网实力比不上百度。晕,算了。其实当时该分析一下各自的利弊,比如微软感觉有点日薄西山了,因为现在并不是软件的天下了。但是瘦死的骆驼比马大,微软肯定会撑起的。但就其windows Mobile的市场已经几乎没有,他与Nokia合作的Windows phone7也不知未来如何。苹果和Google已经把市场占的那么多了。反正分析的不好,应该是扣分项。

还有问我选择工作地会是哪里。我当然会说成都,第一我不太想跑那么远去深圳,到那里人生地不熟的实在是,反正最好留成都嘛。然后接着说其实深圳也可以,因为我本身确实也向往过深圳,在哪个地方倒不是太大的问题。只是他问我原因的时候我觉得又是自己的扣分项。我说成是一个悠闲的城市,不像深圳城市节奏那么快。深圳的竞争相对要激烈的多,我怕自己不太适应。就是竞争这一块我后来分析自己很不靠谱,竞争就不敢上了?晕哦,该分析别的的。

接着下面的问题应该就无关了,他问了一下我一个月的生活费花去好多,我说大概700左右嘛,他说这么多,我当时觉得惊讶。他说一年的学费好多,我说4000。我觉得700不是很多的嘛,我说了一句食堂现在吃一顿饭都要五块钱所以很正常。他觉得成都这边的消费相对要低一点,应该要不到那么多吧。接着就没再讨论这些问题了。

差不多了,他就问我对腾讯有没有什么想了解的。我就想问,我申请的是后台开发,都是基于linux/unix上的开发。但是据我了解腾讯大部分的产品是在windows下的,所以想问具体会做一些什么。解释的不是很多,只是说我看到的前台应用只是冰山一角而已,后台的腾讯的数据完全是基于Linux下的。然后也不是很了解具体的工作。

还有就是告诉我,回去要保持手机畅通,最近两天可能会有通知。(心里窃喜)。面试官人挺和蔼的,应该是一个项目经理吧,用的苹果电脑,看起来挺高级的。

总结一下,没有面到太多的技术性的东西,都比较基础。面试官人挺和蔼的,不好意思还小小的欺骗了他一下。感觉比笔试和一面都要好一些,但是我总是感觉好的时候反倒不好了。前两次感觉不好就过了,现在感觉好一点说不定就挂了。不要太大意,沉得住气,等通知。

额外笔试题点这里:

http://www.360disk.com/file-37050.html

来自智能手机推荐网

你可能感兴趣的:(linux,面试,腾讯,Firebug,服务器,mfc)