QQ邮箱iPhone版 — 混搭式开发的尝试

2011-10-25 评论(9) 分类:技术文章 Tags:

QQ邮箱iPhone版开发了几个月,多次延迟发布,过程十分艰辛。这是第一次尝试混搭的开发方式,即整个应用主要由web组成,APP给web套上一个壳并提供一些原生的接口,以达到更好的体验。我们使用了开源的PhoneGap框架,但其实到后来已经可以抛弃它了,没用它多少接口,自己实现一下也只是时间的问题。

总体

整个APP主要是以下三点:

  1. APP由js驱动,与手机邮箱触屏版/ipad版使用同一套逻辑,同样的M层,架构一致。
  2. 由APP客户端提供绘制头尾以及动画切换的接口,由js调用。
  3. 使用HTML5的sqlite/localstorage缓存数据,applicationCache缓存静态文件和页面。

加上各种细节,就可以构建一个仿原生应用了。

问题

实际上说得简单,做起来难,碰到很多问题。

性能

DOM的性能差,渲染速度慢,最初在各个模块之间切换时速度不能忍受,经过各种优化后情况才好转。优化包括:去除所有高级CSS特性,例如阴影渐变等,减少list默认显示条数,缓存DOM,APP头尾控件缓存,APP动画拍照优化。即使经过很多优化,目前性能上还是跟原生APP有所差距。这种差距目前来看只能等待硬件升级。其实在未做任何优化前,在mac的模拟器上体验已经很好了,无性能问题,因为mac的硬件够好。

manifest

applicationCache的manifest是个令人头痛的东西,项目过程中几度出问题。它最大的不足在于不能清空缓存,一旦使用了它,将很难抛弃它,只能更新,不能抛弃。造成的问题是,manifest更新时,拉取新的资源文件,一旦主页面在后台输出的是个不正确的页面,被缓存起来了,就万劫不复,再也无法进入应用了,因为没有机会再次取拉正确的页面了。所以要使用它,需要强力保证主页面绝不会输出错误,最好是个静态页面。

此外用manifest还要非常细心。项目过程中有两次出现突然无法离线的情况。一次是manifest针对高清屏输出的文件有个地方没换行,导致缓存无效。很难看出它没换行,因为manifest文件是套模板的,模板上是有换行的,转完输出就没有了。只针对高清屏错误就导致模拟器和iphone3都没问题,只有iphone4有问题。折腾这个诡异的问题半天。另一次是写在APP里的启动网址参数里多了个’s’,导致打开的页面跟缓存的页面不一致,很难发现,也查了挺久。

JS-APP不同步

APP提供了绘制头部底部的接口,何时绘制以及绘制什么由JS控制。模块的切换会有动画效果,在js调用模块切换时,先拍照,再画头画底,再回调开始动画的事件,JS渲染自身的dom,动画切过去,整个流程挺简单挺清晰,但实际会有各种问题出现。

在初期经常出现APP头尾和模块内容不一致的问题,由各种原因导致,可能在切换模块整个流程没结束时马上又切换模块了,或者再调一次画头尾,会打乱流程。这通过APP那边把命令加入一个队列顺序执行,并且在动画过程不响应事件来解决。

登录问题

由于历史问题,登录没有使用ajax,整个应用不可避免地需要页面跳转,这会导致非常多的问题:
1.在某些网速非常慢的情况下,整个应用白屏无法避免,因为在跳转了页面并且页面还未载入时,必然会先出现一个空白页面。
2.登录的loading菊花卡住不转,因为跳转了页面本页面的无论是gif还是canvas都停止运行了。
3.一旦出现运营商劫持/wifi验证页面,整个应用就会调转到这个页面去,完蛋了。这个后来通过把表单提交到iframe解决。
所以,最好不要出现跳转页面的情况,必须整个应用在一个页面里。

沟通成本

本来一个iPhone APP的开发链就是,UI-客户端-后台,加入js后,多了js与客户端沟通的成本。而在这种开发模式不成熟的时候,这个沟通成本挺大。另外在APP出问题的时候,有时挺难判断是js的问题还是客户端的问题。

由于APP介入了表现层,进入JS的逻辑,所以必须对APP和JS两端都熟悉了解,才能掌握整个流程。之前不清楚为什么phoneGap不推出这个固定画头画底的接口,这是所有APP必备而在web上实现性能又很差的东西。现在知道这会使APP变复杂,phoneGap只提供功能接口,作为后台角色,其他全交给JS,不需要与APP进行过多的沟通。

webView/网络

出现了一些问题我们还没弄清除是不是webView的问题,例如,记住cookie的问题,登陆过后是设了cookie的,但如果这时马上退出,下次进来就不会有cookie,如果是隔个二三十秒过后再退出,cookie就能记住。非常奇怪的行为,对此我们只能打个补丁,把某些cookie存到localstorage,下次进来如果没有cookie就从localstorage里取,这个方案还依赖了mainifest。

另一个是APP环境改变时ajax的行为问题,在请求或者上传时,APP切换到后台,APP切换网络,APP切换到后台长时间不用再打开,APP终止webView的请求,都会由可能导致ajax卡死,无onsuccess或onerror的callback,有时还会导致JS被阻塞,接下来无法正常响应请求。这是我们框架的缘故,还是webView的缘故,还待查。

好处

与纯原生APP比,它是有带来一些好处的。

  1. 云端升级:应用的某些升级无需通过AppStore,无需用户下载安装,可以快速迭代。
  2. 代码复用:触屏版/ipad版的多数代码可以复用或者共用,降低开发成本,提高开发速度。
  3. 跨平台:我们暂时没用到这个好处。若要跨平台,数据层没问题,VC层还是有很多的不同。

总结

混搭的开发方式,APP最好不要参与到表现层的东西,只提供必须的功能接口,否则js与APP一起管理整个表现,会导致复杂度增加,开发困难。但目前没办法,可能走得有点快,就目前来说,纯web的表现还与APP的差距甚大,必须借助APP的力量,像最基本的头尾固定,只能由APP来展现。

目前iOS5的浏览器支持了position:fixed属性,可以在屏幕上固定元素,支持-webkit-overflow-scrolling: touch,可以原生支持对区域滚动,就具备了使用纯web实现目前的体验的基础。等接口提供再加上硬件不断加强,性能上的差距也会缩小,等市面最低版本是iOS5了,硬件都升级了,web主导的这类应用估计会多些。

实习半月谈

2010-8-7 评论(8) 分类:生活 Tags:

在腾讯广研实习半个多月了,说点东西。

氛围

广研里技术氛围挺好的,应该有八九成都是开发人员,里面除了leader请吃饭其他时候都不会感受到上下级的关系。这段时间我跟导师还有另外两人一起做一个东西,这应该是我第一次跟人一起做东西,并没有碰到想象中的合作的苦恼,他们都很好沟通而且很照顾我这个新手(非常感谢),这次做的东西还是我自己喜欢的,所以整个过程很愉快。

因为工作是任务制的,上下班时间比较自由,大部分人10点多上班晚上8-10点走,但有时候新版本上线前夕会加班到很晚。据闻在腾讯工作压力还是挺大的,不知其他IT公司如何。

前端

腾讯的前端开发跟业界的不一样,一般前端开发是HTML/CSS/JavaScript,但腾讯把它们分离出来了,HTML/CSS部分叫页面重构,结果前端开发只需要写Javascript。前端开发这个刚刚上路的职业,一部分是由设计师转过来的,一部分由工程师转过来的,既然只需要写JS,那腾讯里的前端自然都是工程师转过来的。js在各浏览器的差异并没有那么大,让我感觉这跟用其他前后端任何语言开发并没有多大差别。在几次开会讨论方案的时候给我很浓厚的传统软件工程开发的感觉,以前我一直一个人做东西没有过这样的感觉。

对开发一个web应用(如Q邮箱)来说,js部分是一个大工程,可以用传统的软件工程方法去开发,跟HTML/CSS这部分用的是完全不同的技能,这部分偏向设计,而且需要考虑很多的浏览器差异,不应该由工程师做,分开来是合理的。对一个用js优化体验的网页(如淘宝)来说,纯粹的软件工程方法去开发不合适,需要新的技能树,合在一起是合理的。

分享

就前端界来说,技术分享和交流上为什么很少看到腾讯的影子?一没有blog,二在类似D2这些交流会上看不到腾讯影子,三没有开源产品。反观淘宝、百度、豆瓣这些公司都有不同程度的技术分享,特别是淘宝,有UEDBlog,很多员工都有写自己的技术blog,D2里大部分是淘宝的,最近还有开源框架KISSY。我问过导师这个问题,他说因为工作忙,上面需求不断下来,根本没时间做技术分享和交流,但公司还是鼓励这些技术分享的。

忙是主要原因,其他还有很多原因,可能是因为leader觉得分享技术并不会给公司和部门带来多少好处,做好上面给的任务才是正事。其实我觉得做好技术分享还是有好处的。

最主要的就是吸引人才加入。看过淘宝那些分享和BLOG的人都会觉得淘宝是前端开发人员的最佳去处。我看过腾讯ISD博客,我都觉得,如果我是学设计的,那我一定会以进这个部门为目标。最近我们组要招好几个前端开发人员,似乎比较难招到合适的人,我在twitter上有宣传一下,有人说,“广研在哪里?你们太封闭了,资料都搜不到”。嗯,有技术分享的BLOG,还能让人更好地了解内部环境,招人会容易一点。

其次是提高口碑,程序员是一个不小的群体,很多还属于所谓的“高端用户”,Q邮箱有很多细致的功能就是为了满足高端用户,让他们去散播口碑,而分享技术也同样可以达到这样的效果。

腾讯口号“最受尊敬的互联网企业”,说实话,虽然腾讯很强大,但要做到“最受尊敬”还差很远。不开放,不分享,只赚钱(或者说只做好各种各样的产品),很难做到“最受尊敬”。

其实广研里技术是很强的,我们组每周也有“吹水会”,里面有很多很好的技术分享,没有分享出来,可能除了上面说的之外,还有我没想到的原因,这我就不明真相了~

第二次腾讯实习生应聘历程

2010-6-3 评论(15) 分类:生活 Tags:

开始

第二次去腾讯应聘实习生,这次腾讯招人明显跟去年不一样,流程规范了,招的人也多了。

首先筛选简历进入笔试,似乎他们没怎么筛选,应该报名的都去笔试了,那名单那么长,没有细数,应该也有两三千人吧。

笔试

这次笔试比较爽,不是像去年那样所有报开发的都填同一份试卷考计算机几门基础课程和算法,而是各个方向分开了。就开发类的有JAVA/PHP/JS/FLASH,一份试卷四个方向都有,自己挑一个做。我当然选JS。他这试题出得很刁钻,一开始看吃了一惊,感觉很难,考得这么细这么冷门,后来觉得还好。细到什么程度呢?有这一题原题

还真想知道我那笔试试卷能得多少分,不过似乎他们没评分,没见着。早上笔试完当天晚上就通知一面,这么多人的试卷这么少的时间当然不会怎么去评分了,估计只是大概浏览下。

三次面试

技术类一面有700来人。不知道腾讯来了多少员工,面试700人,汗,真够花功夫的~去年估计也就一两百人吧。我本来还以为还是像去年那样在华师附近的腾讯办事处面试,结果估计因为人多,专门在大学城华工中心酒店包了N个房间进行面试。因为这个我一个星期内跑了四次大学城,真累啊~

一面的面试官给人感觉不错,很有礼貌,会对每个人说“不好意思让你久等了”。面试过程大都在问我推特中文圈的事,要我写出页面自动刷新新推的整个过程,问这个项目的难点在哪里,我觉得还真没啥特别难的难点,就说了下排行榜数据抓取和OAUTH。还有问我后面写的一列作品中哪个技术含量最高。就说陆战军旗了。其他的忘了问啥~整个面试过程感觉挺快。

等了两天才等到二面的名单,还剩两百来人,分了三天,我第二天才面试。二面面试官憨厚和蔼,感觉相当好,面试内容好像并没有考我什么,还是在说做过的项目,推特中文圈和陆战军旗,十来分钟就结束了,这也是这个面试官的习惯吧,每个人都是只面十来分钟。

三面面试官是个女的,还第一次碰到女的面试,还是问了挺多推特中文圈的,还有大学期间是怎么过的,有什么收获,家里情况怎样,有没有代沟什么的。问得挺严肃,面试官看起来很累,可能是因为当时是下午4点多,之前面过很多人了吧。答得不怎么好,自我感觉一般。

结果

23号面完HR,等了8天,直到31号我旅游了三天才收到被录取的短信通知,而具体信息还要继续等。今天通知6月10号之前通知完成实习签约手续,挺慢的,等到花儿都谢了~之前在等待各次面试和录取通知时很多时候很不蛋定,有点坐立不安,但最后收到录取通知的短信时并没有与之对应的兴奋和激动,可能等的时间太长了消磨了一些激情吧~还是够高兴的~

这次笔试和三次面试全在大学城进行,结果一个星期跑了四次大学城,累死,这次有小木舟和大头全程赞助陪伴,感谢两位兄弟的支持,最后大头也进了,可惜小木舟没有,不然是相当圆满~

运气

应聘面试这东西,除了技术底子,运气成分还是占挺高的,估计占到3成。另外两个同学二面的时候运气不佳,其中一个碰到个面试方法很怪异的人,问了两道IQ题,比较难的那种,同学答不出来。另一个碰到面试官问你能实习多久,同学说暑假两个月吧,面试官说我们这里规定是三个月的,只有两个月不行,同学说可以跟学校说下看能不能多留点时间,面试那人说开学了有课程就要上课。于是就杯具掉了。还有别的面试官喜欢问算法,还好我没碰到喜欢问算法的~算法这东西我平时慢慢研究下还可以,当面讲可能有点悬,这次我运气算不错了。

其他

对于实习时间这点,似乎很多面试官都会问,很奇怪,实习时间你们安排就是了,没特殊原因肯定你们要求实习多久就实习多久啊,进腾讯也不容易,到时也不会说急着想走人吧。让人感觉腾讯对吸引人才方面没信心。

另外,跟去年一样,无论哪一面,被刷的人是不会收到通知的,笔试和一面通过群发短信通知大家上网站查看名单,但只发给了通过的人,那些没通过的又没有熟人的只能干巴巴等,笔试和一面还好,可以上网站看名单,二面以后就没名单了,只能干等,那焦急的心理我有体会,二面以后剩下的人不多了,发个短信说一下“对不起你没过这次面试”只是举手之劳,却因为对自己没必要而不去做。我知道别的公司一般也都这样,但这一举手之劳会让人对这个公司留有好印象,还能体现公司为用户着想的理念。

腾讯实习生招聘历程(完)

2009-5-26 评论(10) 分类:生活 Tags:

等啊等,等了一个星期,依然没有等到通知。从有信心到无信心,这个星期我对腾讯实习的期盼在慢性死亡。到现在,可以说是彻底死亡了。可惜我还不知道死在哪里,可能因为我大二不符合要求,也可能是去应聘的能人太多了。

不得不说,我对这个机会还真是非常重视,紧张,这种情绪在两次面试的前后那几天里一直伴我左右,似乎我是个挺容易紧张的人,神经线比较神经。持续几天的紧张,以前也只有高考时试过这样了。

有机会放在眼前时,我都会尽力去把握和争取,就像这个学期刚开学时的兼职的机会,我很努力去争取,才能使这学期一直有稳定的收入。这次腾讯实习生招聘,我也是尽力了,笔试前一晚看了一些题,面试前也积极搜索一些面试注意事项,复习javascript等。面试过程中我的头脑没有短路,可以很正常地思考他们提出的问题,虽然有些题答不出来,虽然回答的时候有时有点结舌,但应该说,我已经差不多做到我的最好了,过不了也没太大遗憾。

在刚笔试面试那几天,我似乎把去腾讯实习看得太重了,或许是因为我这没见过世面的家伙,在此之前一直以为进腾讯的机会微乎其微,一时间看到这么好的机会,有点冲昏了头脑,大二就能找到最好的公司实习,也太光明太顺利了,心态有点不对劲。

二面以后我挺兴奋,因为感觉答得不错,离腾讯很近了,如果当时告诉我,我被刷了,估计我得郁闷到不行。但一个星期过去后再接受被刷的现实,会有点不一样,这个星期在等待的同时,也有一直在想,慢慢冷静下来。

我的理想并不是进大公司打一辈子工,只是希望我踏出社会的第一站是在一个很好的公司,那样见识到的人事物,都会广阔很多。

第一次笔试,第一次面试,第一次电话面试,这些一次过经历了,为我增加了不少经验值。也提高了自信心,进大公司并非遥不可及,我所学的,也不会上不了层面。

在面试期间重新看了一位师兄的博客,那里记录了面试腾讯的全过程,笔试,一二三四面,经过了这么多关,最后竟然没得到offer,腾讯实在是苛刻,他也是在二面之后几乎认定会得到offer了,果然,对大公司,最好不要自我感觉太良好才行。他的总结里有句话“只有用你的成功证明给别人看,别人才会真正认同你的潜力!”我也是这样觉得。人难免会在意他人对自己的看法,大家同处一个圈子,总会比来比去,得到认同便心花怒放,反之则郁闷不已,什么时候能不在意这些呢,也许这是人性,一辈子也摆脱不了。

记得老爸说过,人最好去当一次兵,因为当兵实在太苦了,当完兵以后在生活遇到的困难都会变得很渺小,因为跟当兵时受的苦比起来微不足道。我非常赞同。活了20年,经历的实在太少,生活波澜不惊,也没有吃过什么苦,在承受能力上差了点。想经历一些不同的事情,磨练。我自己很真切地感觉到,我在某些方面真的很弱。

暑假回家,学车,工作以后很少有机会回家了,好好享受大学生活,不过早去实习,也是挺好的~毕竟未来三四十年都会在社会混迹,而在学校的时间也就剩不到两年了。

我喜欢做自己想做的东西,例如高三暑假做的拼图游戏,上个暑假做的twitkeeper,twitkeeper成了我这次简历被重视的原因。接下来继续,想做啥就做啥,对WEB前端开发的兴趣还健在,虽然自己在家里学的会比在腾讯学得少,但我还是可以有进步的。

最后多谢笔试面试期间鼓励我的朋友们~与君共勉~

腾讯实习生招聘历程(三)

2009-5-19 评论(0) 分类:生活 Tags:

等了一天,腾讯的人才打电话过来,让我在第二天定个时间,进行电话面试,傻傻地定了1点,他说1点应该不行,然后就定了1点半。后来想起来,啊,1点多,不都在睡觉吗,只能跑到走廊去打电话了。

1点37分来电话了,开始聊,这次有自我介绍了,我简单说了下,说到Actionscript时被打断,问我使用Actionscript的具体情况,他比较看重这个。让我说下以前做的飞机的游戏和拼图游戏

接下来主要几个问题是

1.类似GOOGLE MAP那样的应用,上面的标志和信息,还有图片,应该按什么顺序载入更快。说了挺久才明白他的意思,答得还算行吧。

2.页面上有个广告,要让它滚动显示,要怎么实现。这个问题也是说了有一会才明白其意思,我说用setInterval,他问除了这个还有什么其他方法,我以为是说js里的,就说想不出有其他什么方法了,后来才知道不限js,当然说FLASH也可以实现啦,再问两个效率哪个快,为什么,这个比较容易答,FLASH本身就是做动画的,FLASHPLAYER对动画的渲染和显示自然会快很多,js速度一般由浏览器决定,在配置不好的机子和旧的浏览器上会卡,慢。

3.让我说下简历上写的两个项目,twitkeeper和员工签到系统,员工签到系统差不多忘了,也说不出了什么了。

4.问我大二还是大三的,他说一般人大三才会找实习,为什么你会这么快就出来找呢。当然是因为,机不可失,时不再来。我希望以后能留在广东工作,而广东最好的互联网公司,就是腾讯了,其他公司跟它的差距还是蛮大的,所以腾讯是我最希望去的地方。

还有一些零碎的小问题,例如经常在用的互联网应用是什么,首推Google Reader。还有玩过什么游戏,主要是想知道对FLASH小游戏,web游戏,校内网那些游戏有没有了解。

最后,还是有问我有没有什么问题要问他。我说项了解下腾讯前端开发团队的基本情况,接下来他一直说,说了很多,说腾讯会招拥有很多不同技能的人,例如AIR FLASH Silverlight javascript php 等等,把这些人结合在一起,碰到问题可以有许多解决方案,就像前面问的广告滚动的实现那样,选取最优的。说来这里实习的两个月时间里几乎都是在学习,腾讯算是在投资,像我这样大可以大二暑假来实习,大三暑假再去实习,最后再回去工作。最后他让我等消息的时候,问他是否还有三面,后来补充了一句,“如果能通过的话”。他说面试就到这里为止了,接下来就等HR的通知吧。

好,等通知吧。话说挂了电话后很兴奋,因为这次面试自我感觉还是比较好吧。

P.S 今天的天气很怪异,乌云满天却又很亮,雨间隔地下。

腾讯实习生招聘历程(二)

2009-5-18 评论(1) 分类:生活 Tags:

准备

接到腾讯恭喜我进入面试环节的短信,写了面试的地点,随后还是笔试前的那个人打电话来告诉我面试的时间,11:45,就在天河区的南方通信大厦,貌似挺近的~

接到通知后在网上搜了下有关面试的信息,似乎自我介绍是必问之题,于是在记事本里随便打了下草稿,其他的也没什么可准备的了。我觉得,他也是做前端开发的,说起熟悉的领域,我还是有点信心的。

第二天早上摄影实践,跟班里同学在学校内玩下单反,10点半就出发坐车过去,绕了好几个弯才到,回来时才发现原来里师大暨大只有一个公车站那么近……嗯,有点紧张,这是正常的吧,我对这些事情就是会紧张的。

等待

到了南方通信大厦,门卫叫住我,问我干啥的,要给出身份证,登记后才能上去,结果我没带身份证,还好有带了学生证,勉强通过~另外,似乎我的身份证号码给填错了,囧~

上了6楼,看到腾讯的标志,走过去服务台说了声你好,就被叫到旁边的休息室等待面试,室内大约有四五十人,好像只有仨女的~好几个穿正装,好正式,但工作人员是没有穿正装的。休息室装修得挺漂亮~还有纸杯和矿泉水提供,刚好我渴死了~~我发现每个人都背了一个包,带着简历,还有其他一些什么东西,我却是两手空空地来,就带了手机钱包学生证,心想惨了,毕竟是第一次面试,该带过来以防万一的。最后发现,确实是啥都不需要带的。

大概到12点的时候,被人念到名字,走过去一格一格的开放的办公间跟他进行一对一面试,话说他也打过两个电话给我了,知道他说话是怎样的,也不会太陌生,对他第一印象不错。

过程

一坐下并没有让我自我介绍,而是问我个抽象的问题,就是为什么喜欢前端开发,我答得挺乱,也是紧张所致吧,语言组织不好,不过大概意思表达出来了,就是因为前端开发做出来的东西是与用户进行交互的,实质看得到的,好的web前端让人赏心悦目,也让开发者很有成就感,而不像底层开发,感觉很枯燥,全是功能和逻辑的实现。比较难表达的题。

接下来针对我简历上的twitkeeper提问,看来他对这个挺感兴趣,问题是即时想到即时提问的,我说使用AIR是为了跨域,于是问了一些跨域的问题,还有问JS AS PHP XHTML/CSS这四个哪几个最感兴趣,哪几个最擅长,我觉得JS和XHTML/CSS最擅长,也是最感兴趣,但其实我这四个都是挺感兴趣的~

接下来问一道CSS的题,提到CSS Hack,区分IE6 IE7 IE8和Firefox,除了IE8,其他三个都比较熟悉,没对IE8用过hack,不过隐约猜得到IE系列支持*号,猜对了。接下来他让我区分IE7和firefox时他说错了,他说IE7不能识别*,可能,应该是故意说错的,但那时我并不是很确定,也就没有争论,说了个错误的答案,说加!important,唉。

还问了DTD有哪几种类型,其实我只记得两种,严格的和过渡的,我猜应该还有一种是松散的,可惜猜错了,最后一种是frameset DTD,很少看到,所以不知道。

还有问PHP与正则,对于把网址a_b_c.html改成inde.php?x=a&y=b&z=c的题目他说有很简单的方法,但我确实没了解到,不会做。

回想起来,这些问题答得都并不好。

再问我平时对这些技术是怎么学习的,他说像他就会去看源代码研究一下什么的,这题答起来比较流畅,因为我觉得我学习的方式也不赖,举例说明前阵子研究爱饭的代码的过程,还有想为爱饭增加上传图片的功能作为练习。

接下来问我去深圳实习有问题吗,我说最好能在广州,不过深圳也没问题。但很可惜,广州好像只有QQMail开发团队在这,没有前端开发,去深圳也好~如果是以后工作,我更倾向于深圳,但是实习就倾向于广州。

最后问我有没有什么问题要问他,嗯,似乎所有面试最后必会说这个的,之前就想好了,问了下他们这次实习招的都是大三的学生,而我是大二的,在这方面,有没有什么阻碍?他就问了我们学校对实习的政策是怎样的,我说暑假都可以实习,他问上课时呢,这点有点麻烦,大三第一学期应该是实习不了的,我说我不太了解,回去再问下。接着就SAY GOODBYE了~本来还想问下腾讯在前端开发投入上投入多少精力什么的,不过没啥机会开口~

走出来,坐电梯直接下楼,坐公车直奔学校,打包饭,热死~

腾讯实习生招聘历程

2009-5-16 评论(3) 分类:生活 Tags:

申请

两三个星期前,看到腾讯招实习生的消息,于是上网站看了下,发现有WEB前端开发的职位,于是按着它上面的流程,一步步填写资料,提交了申请。

交流会

13号,收到腾讯的短信,说邀请参加14号在华工举行的实习生技术交流会,反正那天没什么事,就去了,见见朋友也好~~

交流会由Foxmail的作者,也是现在QQMail的负责人大概介绍了下腾讯,还有这次实习生招聘的负责人讲一下关于招聘的事,列出了对实习生的要求,我只记得“聪明”和“正直”这俩要求,还有一系列的综合能力要求,都忘了,呵~另外,他们的PPT实在是漂亮,估计是美工组做的。

随后让大家提问,只记得说投简历只有700多人,进入笔试的400多(忘记是全国还是广东省),而且硬性规定只招2010年毕业的,也就是现在大三的学生。于是想我是没有机会参加笔试了,可惜,挺想看看他们考什么的。另外他说去实习的人,最后几乎全部会留下成为正式员工。

笔试

以为就这样结束了,昨天下午又收到条短信,让我今天早上去华工参加笔试,哈,看来他们那天晚上说的并不可靠,又或许他们没看清我是零几年毕业的~反正不去白不去,就抱着火箭打湖人的心态去考考看,机会是肯定渺茫的了~

本来是这么想的,挺轻松,但昨晚接到腾讯打来一电话,说挺看重我那份简历的,问我要不要去中大那边考,我说两边有什么区别吗,他说没有,只是要是你笔试没什么问题的话就可以直接面试。好像是这意思,随后说今天9点再通知我具体在哪里考。这让我觉得,如果我笔试过了,机会还是挺大的,不由得有点紧张了,受到了关注,小小高兴了下~~

早上坐地铁,收到他短信,还是在华工,只是教室换了,去到那里才发现,换了的那个教室是考“产品经理”的,晕,跑回原先的教室,那里才是考软件开发的,名单上也有我的名字,但座位已经满了,不过跟我一样没位置坐的还有大把人,于是他们匆匆借了新课室,远在他方,接下来一群人浩浩荡荡地长征,奔过去另外一个教室,到了,门没开,等人开门,开了门,坐下了,没试卷,等人印试卷,直到快11点才开始考。他们解释说今天霸王考的人比较多,因为是实习生招聘,本来没有打算让这么多人来考,因为就招那么几个也不好意思让那么多人参加,真正校园招聘的时候就会保证有足够的座位。

接下来,终于发下试卷做题,看下题目,晕,都不会,考了啥呢?就考了大学四门课,数据结构,算法,计算机组成原理,计算机网络。可惜了网络和原理这学期我都几乎没学,只能靠猜,最后的算法题也很难,对着那个程序看了快一个小时,还没搞清楚,也不会填那些空。附加题要用到C++的,不熟悉,也没有做,这张试卷,算一下,60分都很成问题。腾讯在试卷上声明不许将试题外泄,忘记在上面签名了。考完几点没注意看,不过似乎没有两个小时,到最后肚子饿死了,很久没那么饿了~~

笔试出来的时候,听到有人说,不会很难。嗯,估计华工的人,和那些参加过ACM的人,对这样的题目还是游刃有余的,这次考软件开发的人太多,应该有200人那样,如无意外,我已经死在笔试上了。虽然这么说,但还是有所期盼的~~

后记

其实大概一年前我就知道了,数据结构和算法这些基础很重要,一般大公司面试笔试都会考这些,师青的师兄也是因为算法基不扎实最后没能进腾讯。那些内容很枯燥,但还是得学下才行,这学期没怎么认真学那三门课,看来接下来还是得花点时间在上面。

我发现平时的生活过得实在是太放松了,

如果能去腾讯实习,应该会是人生的一个转折点,可惜这次没能转过去(刚被通知进入面试环节,这转折点转不转得过去还不知道)。在网上看到众多写腾讯招聘的文章,腾讯很挑剔,不是那么容易进的,不过这次让我觉得我还是有机会的,还有一年多的时间,多做些作品,做好网站,专注前端,继续努力吧。