招聘,找工作就上阳光人才网 [切换城市]

2015腾讯暑期实习生 Web前端开发面试经历

2015-10-20 浏览(19834)
收藏
分享到:

零、TST内推

TST还是有必要提一下,早早就随大家把简历交上去内推了

很多人都有评级了,各种评级都有

但我

从头到尾都查不到评级..是漏了..还是简历太渣看不上...

还是怎么回事..衰..

一、笔试

笔试是在3月29号在华工考的,腾讯的笔试一直都那么回事,技术岗的都同样一份试题。

试题上一般都会涉及:操作系统、数据库、计算机网络、C/C++、编译原理、概率论、算法、更甚的还出现js、ios ...

不知道多少分才算通过,但记得那会儿答得不是很好。选择题是大坑:多选,少选,错选都不得分!!

有一半左右的人都提前十几二十分钟交卷了,我坚持到了打铃..

二、插曲

在4月3号下午码代码时突然接到腾讯那边的电话,说是要提前了解一下基本情况..好吧,不知所措,扯了二十来分钟。

顺便问笔试结果,还没有结果..

广州区这边的面试时间是4月8号--4月12号

在4月7号下午收到了笔试通过的消息,并通知8号早上11点到喜来登酒店参加TRD面试

可激动了..而且是11点,不用赶早挤地铁..

三、一面 60+分钟

8号早上11点的面试,我这人也不急,算好时间后早上九点半点就挤地铁去了,大概十点半就到达喜来登酒店,哇了个赛..果然自己没参加过大型的面试,太多人了,大堂里边至少也得有四五百人吧。

有三个区域:霸面的、技术岗和设计岗的、其他岗的

签到好了之后,就坐旁边等面试了。期间自己的房间号被叫了三次..都没轮到我..衰..果然是单面面试时间太久了。

等到11点40分左右,轮到我了,遂进电梯...出电梯...礼貌性地敲了敲门。

ok,进门去了,这酒店房间真个优雅了得,静幽幽的,面试官帅比在那儿笑脸迎对。

面试官先是寒暄几句:是不是等久了呀。

我也随意说了几句,然后递给面试官简历。

”嗯,那你先大概花一分钟时间自我介绍一下吧“

随即扯了自己基本信息,说了说自己对Web前端的认识,平时的学习爱好等,大概一分钟左右就讲完了,期间一直跟面试官眼神交流。

然后面试官顿了顿,说到:你是学过C的吧,我先给你出个题,写个C的字符串拷贝函数。

我学过C,但好久都没碰了,而且一般都是用string库来写,现在..只好硬着头皮写了。

也不知道对不对,写了几分钟,记得代码是这样的:

  1. char *strCopy(char *data){ 
  2. char str[10001]; 
  3. int index = 0
  4. for(int i=0;i<strlen(data);i++){ 
  5. str[index++] = data[i]; 
  6. return str; 

然后自己不确定对不对,就跟面试官解释了一下不太熟悉了这种东西,

然后面试官问:你觉得这样会有什么问题呢
我不知道..所以就不清楚地回复了..然后他也没问什么了

然后呢,传说中的逻辑题来了

”好,那我再给你出个题目吧。现在有一大块金条,它可以分为七小块金条。是这样子的,工人为你工作7天,每天都将获得一小块金条,你要做的就是发工资,切割大块金条的次数最多两次,你有什么方法让工人每天都获得一小块金条呢?“

真是个逻辑问题啊..

然后我就在那里想啊想,前面几分钟一直想着是不是一定要切割两次就能分出7块,就一直浪费时间..

之后面试官就一直问我是不是听懂题目了..好吧,经他提醒,我理解到了”交易“这种行为,多还少补..又想了几分钟,说了出口,一下子却又乱了起来

早知道就把草稿纸拿过来先了..有记录才清晰

  1. 先把大块切两次,形成421小块, 
  2.  
  3. 第一天给工人1小块, 
  4.  
  5. 第二天给工人2小块并补回1小块, 
  6.  
  7. 第三天给工人1小块, 
  8.  
  9. 第四天给工人4小块并补回21小块 
  10.  
  11. 第五天给工人1小块, 
  12.  
  13. 第六天给工人2小块并补回1小块, 
  14.  
  15. 第七条给工人最后的1小块。 

完成..算是道出来了吧..这道题都快花了15分钟..

然后面试官就稍微问了下我做的那两个项目,浅尝截止而已,我说了那个小网站的构建时,提到了使用ajax,然后面试官就打断了..

”ajax是吧,你现在能不能用js写个原生的ajax过程出来呢?"

可以啊,然后就开始写咯..字迹好潦草..写了几分钟写完了,期间面试官抽烟起来了..问我介不介意...

但不完整,细节的,我..忘..了..真是衰。记得我把代码写成这样:

  1. var xmlHttp = null
  2. if(Window.XMLHttpRequest){ 
  3. xmlHttp = new XMLHttpRequest(); 
  4. if(Window.ActiveXObject){ 
  5. xmlHttp = new ActiveX("Microsoft.XMLHttp");// 这也能写错.. 
  6.  
  7. if(xmlHttp != null){ 
  8. xmlHttp.open("GET",url,true); 
  9. //然后接下来少了xml.onreadystatechange = function(){..} 
  10. if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ 
  11. var data = xmlHttp.responseText; 
  12. xmlHttp.send(); 

写完就觉得怪怪的,但那会儿又不知道哪里怪了..然后就解释了一下就这么过去了,面试官也没说什么。

接下来面试官又看了看简历,说道:你了解HTML5么,说一下它有哪些新特性吧

然后我就说了一大堆它的新特性,自觉答得挺全~

接着:假设我现在在浏览器地址栏里输入 www.qq.com 从这到相应页面的过程中,这都发生了什么?你稍微描述一下吧

然后我就描述啊,自觉答得挺全~

接着:你是网络工程专业的呀,这个专业是学什么的?

这个问题真是...我真不知道怎么描述这个专业..好吧也扯了扯相关的课程啊学习的东西什么的,之后

面试官问:好吧,那你说一下网络分层里边七层模型是哪七层?

我:从下往上来说,先是物理层,然后数据链路层,网络层,传输层,会话层,然后...囧啊..第六层我居然忘了,最后一层是应用层,跟面试官说不好意思第六层我忘了...

”嗯没事,那我问一下几个协议,HTTP是什么协议?在哪一层?“

我:超文本传输协议,在应用层

”FTP呢“

我:文件传输协议,也是在应用层吧

”SNAP呢“ (后来才知道是子网访问协议)

我:面试官这个协议我好像没什么印象呀,不清楚..

随后结束了这一小段,面试官:你一般会把样式表放在HTML文件的哪部分呢?

我:独立出一个文件吧,如果要放在HTML文件中,就放到头部

”为什么要放头部呢“

我:为什么啊,这么说吧,如果不放到头部,就有可能产生”白屏的现象“,也就是页面的渲染会不到位什么的

面试官:假如一个Web项目,你发现它运行得很慢,你一般会有什么方式来加快它呢,来优化它?

然后我就扯了一些雅虎优化的那堆建议咯,看来面试官还是挺满意的~

其余好像还有问道一些技术问题,但记不清了

接下来继续展开聊天模式了

面试官:你平时怎么学前端的呢?

我:首先是自我学习,主动学习,关注一些牛人的博客,或者各种相关网站平台等等,获取最新的技术讯息,并投入学习。然后平时还写一下技术博客来记录自己的学习,与其他人交流什么的.....

面试官:你有什么爱好呢,平时有什么习惯?

我:学习啊,搞技术啊,当然除了这些,平时还经常运动,跑步打球什么的

然后面试官就和我聊起了运动...

面试官:你觉得你自己是怎样的人呢?

这问题..怎么都谈起人生来了呢,话说不是应该hr才问的嘛...然后我就说了几句

面试官:你身边的人觉得你是怎样的人呢?

也描述了几下

面试官:你用几个关键词简述你自己吧?

我就发挥我难得的语文水平概括了四五个关键字..

面试官:嗯,我的问题问完了,你看看你又什么问题要问我的呢?

我就提出了三四个小问题,然后聊了起来..

面试官:好吧,时间也差不多了,那今天的面试就先到这里吧

我:好的

然后就关心一下面试官,问他一大早面试那么多人累不累啊,要不要去吃饭啊..

然后出门,一看时间,12点45分,持续了65分钟..

=====================================================================

这个一面,总的来说,还算不错,面试官很和善,很帅比~ 估计28-33岁左右吧 问的问题也比较基础,但前端相关的也还算齐全

然后就回去等消息了

很多人当天就收到通知去二面了..我第二天上午10点才收到通知下去3点去酒店二面..

=====================================================================

四、二面 70+分钟

9号下午3点的面试,2点就到达酒店,签到时才发现 腾讯这边的系统竟然没把我名字放进去...这也太不协调了吧..

处理了几分钟,好了,3点钟,准时上楼二面。

敲门,似乎没回应。

停了几秒,再敲,面试官亲自开门了..囧..

二面面试官看起来有些严格啊,应该是主管一类的人吧,年纪看起来40岁左右。

那么问题来了,我面的是SNG的前端方向,那么这位中型身材,头发很短短到快光头的面试官担任的是什么职位呢?部门总监?

本以为二面要准备新简历的,带过来,他说他已经有一份了。

瞥眼过去,我的简历上边写了两三行字,应该是一面面试官的评价吧,看不太清。

面试官:你先花一分钟自我介绍吧

我:如一面那般介绍起来

面试官:你在你们这个专业成绩排名是什么水平呢?绩点排名?说一下

其实我是个学渣..成绩一直很不理想..所以很自觉地跟面试官解释了一通,我的绩点三年来2.4-->2.9-->3.3 然后我还是计算机系里边分出来的网络工程专业..

其实我知道会越说越乱的..谁让我成绩太低说不出口呢..

然后面试官似乎有些不耐烦了:怎么听起来乱乱的呢,你就说一下你们班有多少人,你的成绩排在你们班多少名吧。

我要怎么说..我们系比较特别,究竟是按照基本的班级排名来说,还是按照专业班级排名来说呢..

最后我选择按专业排名来讲了,中下游吧,确实很低。一个班六十几,我大概就排四十几名。不过又解释了很多成绩相关的东东..想掩饰不足啊..

然后面试官翻了翻简历,说:我看你做过几个项目啊,你说一说你做得最好的那个项目吧。

我就拿我那个node.js版的聊天室扯了扯,描述这个东西大概都花了十几二十分钟左右。

然后非常巧妙得通过这个项目联系到了其他几个项目,

期间他一直问我遇到的问题,怎么解决的。

如实汇报了。说了很久,看来他已经了解了基本情况。

接下来就是摸清我的底细了

面试官:一面的面试官有给你出过题目吗

我:出过几个,嗯,三个。一个c的拷贝函数,一个逻辑题,一个ajax的js原生写法

面试官:嗯,我也给你出个题吧。

现在有100亿个数字大小为1到10亿的数字,在这100亿个数字里边只有一个数字出现的次数是奇数次的,你用什么方法,找出这个数字呢?

看看腾讯出海量数据,真是毫不含糊..

因为平时很少接触大大大数据,有点慌了神,前面一直浪费时间啊,还一直以为是100亿个数字里边只有一个奇数,然后直接判断奇数..囧..看来以后要认真听面试官说话

然后想了很久还是没想法,因为自己对于算法,对于时间、空间复杂度这堆东西都不太熟悉,面对大数据更是不知道如何存放处理等,

生怕面试官一句反问:这么大的数据,这么做你不觉得会出现什么问题么

当然,我之中回答的时候他也这么问了..

前后大概有十分钟了,面试官看我没什么头绪,就提点提点了,这一提点,反倒端了我的底,我脆弱的心灵受到了打击..

面试官先是问了:10亿这个数字,用int能装得下吗

我之前有看到过,但说实话,还真没了解到..但潜意识里认为是可以的,所以就说:应该是可以的

然后面试官说:这个你不知道吗,装10亿个数字要多少容量呢,这是装数据,要是运行起来呢,又要占用多少内存呢

我真的不了解啊..被面试官这么一说,顿时乱了

然后面试官说,你们不是学过计算机原理吗,操作系统?这些课程没学到过计算机内存吗,你知道32位和64位电脑的区别吗,你说int占用多少字节呢

我就挑最后的说了..int在32位里面占用4字节

然后面试官说,占4字节,那么你说这道题该怎么处理呢?运行这堆数字要用多少内存?

我就在哪里用笔演算了..

不料,面试官插话了:你算出来没有?二的32次方也不会算吗?多少?

我:..好吧我吹了,真就不会算了咋地啊...-_- ... 4G吧,

面试官:嗯?是么

我:不对,是4M

面试官:是4G,然后又扯啊扯一堆计算机内存之类的东东..最后说道:我看你这道题也是解不出了,要不我换个题目吧。

面试官:给你出个博弈题。

A和B分苹果。分苹果策略是一次一个或者两个,A先拿,然后B拿,然后A拿..一直到拿完

问什么方案,能让A拿到最后一个苹果呢?

其实这个题大一的时候做过,就在西西里..不过只有影子,思路忘了。只好一个劲得想。

想了大概5分钟。面试官也起身走动了一会儿。

然后跟面试官说:那就A先拿2个吧,然后B拿多少个都无所谓,只要接下来A拿苹果的方式是与上一次B的方式不同就可以。然后就跟面试官解释了一下思路啊什么的。我也不知道对不对,但自觉好像蛮有道理的嘛。

然后面试官没说什么,就一直滚鼠标啊,我们沉默了至少有十几秒吧,估计不知问我什么了。

终于开口了..面试官:我再问你个问题吧

随机发牌。有10000张牌,随机发出一张,要使得随机发出的牌不重复,而且时间、空间复杂度要恒定。你觉得怎样做可以达到这个目的呢?

我悲催..怎么又是问这种算法题..明知我很弱很菜

想到了用新数组存、哈希映射标记什么的,但跟面试官说了说发现有问题

然后提出每随机发出就删除那个数,那个下标,取消稀疏数组,都往前移动这个方案。

面试官:嗯,这个是可以,但如果随机发1亿张牌呢,你也这么移动?不要想得太复杂了

怎么又把亿抖出来了...然后我又想啊想,实在想不出了,放弃了

面试官:其实这个方法很简单,就是随机发出的那张牌跟最后那张换一下不就行了,我都说不要想得很复杂了

我只好:奥 原来是这样..只怪我思维不够开阔啊..真是..

这会儿,时间似乎差不多了

面试官说:这样吧,我看今天的面试就到这里了吧,你先回去,接下去我们再通知你本次面试的情况。

我再也坐不住了(没有前端),问面试官:嗯,对了面试官,我可以问一下您为什么没有问我前端相关的知识么?

面试官:这个方面呀,我看你已经过了一面了,我想你的前台水平肯定是过关了,就没有必要再问下去了

我:嗯,一面的面试官确实问了很多前端相关的问题,但都没怎么深入,比如js方面,他基本没问下去

面试官:我个人是觉得,对实习生要求基础就行了,我们也不奢望对于实习生能有多大要求是吧,你说我也没必要问你们实习生一些比如跨域、web安全性或者性能等方面的内容吧,你们也不了解,问了也没意思,所以还是问一些比较基础的问题算了。

我:恩恩也是,好吧,那今天先这样了~ 再见..

然后伴随着我对面试官的寒暄 又出门了

这次稍微久了点,看表,4点13分

======================================================================

总体来说,这个二面挺不满意的,下楼的时候就意料会被刷..

从自己地表现来说,很多东西答不上来,语无伦次。

从面试官出题角度来说,我并不认为面试官应该这样出题,虽然我承认这些题目我不是很清楚。我是很渣,但丁点前端知识都不问,似乎不太好。

如果就直接就因为我这次二面的表现而被刷,我对自己计算机基础知识的不掌握而感到无奈,也对面试官出题不好而感到无奈。

======================================================================

五、尾声

然后就没有然后了吧

回去之后就一直等一直等,等到花儿都谢了

周围一些人当天晚上就收到hr面的通知了,一部分人第二天也收到了,

我的状态依然还是 复试中

要死也要死得痛快点啊

13号凌晨到了,心想是最后的机会了,一查,还是 复试中

后来听别人说:一般状态不变就是不通过面试了,不必要再等了。

我去!!! 让我干等四天,就告诉我让我猜猜是不是被刷了?

竟然懒到连状态都不舍得改

最后,没什么可说的,画面定格在这一刻