TAG:一面 结果:目前该岗位可能不合适 想看成功的面经的可以出门左拐了……
腾讯的重构岗在长沙没有设立面试点,所以只好跑武汉去了。
上周末浪去武汉参加了重构笔试,还好笔试还是过了的……不过我感觉笔试题还是略难吧,涉及面较广,细节也很多,感觉很多地雷。不过厉害的人肯定能过啦,就我这样的菜鸟比较容易踩地雷。
武汉笔试完了,在长沙呆了一天,又浪去武汉参加面试。在这里,如果我有什么想要告诉各位小伙伴的就是——一定要坚持不懈的霸面,还有没有结果前最好都呆在那里……实在没结果就去霸面啊!被拒了也要霸!因为感觉他这个流程虽然比较进程很紧,但你如果运气不好被晾到了一边,那么你的希望就没了。所以还是自己去霸,去催进程比较好,不容易被忽略掉。忽略掉就错过了。
我一进去房间,然后面试官就微笑开始了自我介绍(这可是我第一个遇到自我介绍的面试官啊QAQ反正我电面遇到的阿里面试官都没有自报花名的)。我记得她是说她是MIG团队的技术主管(头衔没听清,但是MIG团队的)。当时看了我内推投的微信,就问我介不介意她面。反正我真的不介意啊,能进腾讯就得了OTZ。最后走的时候她说我笔试做得很好,虽然好像错了挺多,但在实习生笔试里是很好的了(OTZ),而且她还夸我觉得我挺强的。可是,挺强为什么不要我TAT。
以上姑且算是吐槽,以下写面试经过。可能因为觉得我笔试还做得不错,所以并没有问我很多技术细节,大概只问了两三个,还都是笔试上可能没做好的题目,另外就问了一个AJAX的状态码,因为我自己说与后台交互数据主要就用AJAX和JSON。整个面试过程感觉就是问我项目,只能怪自己没有准备好。因为我大学期间做的项目比较多且杂,万万没想到着成了我的坑,而且没组织好自己的语言。我的感觉就是,不论你做了多少项目,你最好把所有项目的优点集中在一个项目上来说,这样可以让面试官觉得你对其中一个项目特别用心、钻研——不过说实在的,我的项目都是些感觉不怎么能扯的项目,也可能是当时没把项目中的关键技术想起来。说起项目来,大家最好按照STAR流程来说,不要光说技术,因为关键词也没几个,像我的面试官貌似就对angular什么的不感冒,也没追问我细节,可能她比较想听我在这个项目中起到的作用、做出的贡献。
最后我想说,面试这回事有时候真挺难的,你当时想到什么都是尽力说出去了,也尽力想要把不好的地方给圆回来。但事后想想,正是因为当时比较紧张,事后来反复思量面试官的话,可能你并没有GET到她说话的要点。但你也尽力把自己当时认为比较贴合她说话的点给讲出来了。面试这回事,还是不要太较真,但也要总结自己的缺点。如果因为不同的原因被拒绝,那么自己菜的地方应该总结反思,下次不要因为相同的原因被拒绝了。如果老是因为相同的原因被拒绝,那自己真的要想想自己平时做事的先后次序是不是错了,没有及时总结、修补好自己的纰漏。
仔细想想,其实跟面试官不怎么聊得来,或者是我自己写的JS相关的太少(但我面的是重构额)。比如我自己用PHP+MYSQL搭了一个博客,她就觉得没什么意义,干嘛不直接用wordpress搭这样……所以决定最近还是研习一下JS,做出一点能拿的出手的小东西吧。真的没啥好说的_(:з」∠)_
此次面试纰漏如下(会在近期进行修补,补充完本篇博文):
1、项目START、整个项目的详细介绍、项目的具体功能(最好要与你当时面试的团队贴合)、分工、你自己的做出的贡献 (注:面试不要手忙脚乱、不要显得自己多而不精,要说明清楚,而且要把自己着重做的东西说多一点,让对方印象深刻一点,最好能引起对方的关注和兴趣,让面试官觉得你好像真的做出了一些成果——这在实习生应届生里应该是比较稀少的,这样比较容易让对方记住你)
项目名称:在线协作平台
技术关键词:nodeJS、mongdb、angularJS、bootstrap、单页面(SPA)
Situation(事情在什么情况下发生的):当时学校的一个Web实训项目。因为我们团队有一个在线协作平台的构想,所以决定学习一些新技术来做这个东西。
为什么要学习新技术?因为我们团队对新技术很有热情,所以一致决定一起学习一些新的东西来做,为了得到能力的训练和关注前端趋势。
在线协作平台:一个提供多人在线对各类文档进行上传、下载、在线浏览、标注、带痕迹导出等功能的学习协作平台。
主页面有广场(房间号选择)、文件浏览上传下载。房间内有实时绘图(canvas)和视频对话(socket.io的webRTC)。
Task(你是如何明确你的任务的):当时nodeJS和angularJS、mongdb都比较火,所以我们决定快速学习这些框架和数据库,然后用BootStrap进行一个单页面互动平台的快速构建。我负责前端页面的构建与后台数据交互,还有webRTC。
前端页面构建:Bootstrap+angularJS
后台数据交互:AJAX+JSON
WEBRTC:(待补充)
Action(针对这样的情况,你采用了什么行为方式):后台采用nodeJS开发,所以我们基本上是前后端分离的。在这样一种情况下,前后端是平行开发的。但因为开发周期比较短,所以用了bootstrap快速构建前端页面,考虑到页面性能,我们采用单页面应用构建。因为前端页面用了bootstrap,所以CSS部分配合使用了LESS。
LESS:(待补充)
用angularJS做了公共静态页面的路由和数据双向绑定,nodeJS进行动态数据路由。(尽量不说,不太懂)
Angular:双向绑定、MVVM、依赖注入、websocket、单页面应用
NodeJS:非阻塞IO、实时应用、基于事件驱动
(这里让面试官来问你什么是单页面应用)
所谓的SPA是指使用了前端MVC框架或者利用了浏览器URL的hash fragment或者HTML5的history APIs来让一个页面的AJAX过程产生历史记录,也就是有了前端路由功能。
这些虽然看起来有页面的切换,实际上都是在一个页面内进行的。
好处是:
公用的静态资源只需要第一次加载,后面页面的切换实际上并不会产生刷新,不需要重新加载页面,只需要渲染AJAX更新的那一部分
Result(结果怎样,在你这个过程中学习到了什么):对angularJS和bootstrap构建页面更加熟练,对angularJS的原理进行了一些基本了解,对前后端分离、MV*有了更深刻的理解。获得了实训优秀团队奖。
2、JS图片轮播(手机端)
3、手机端H5、WEBVIEW做一些了解
4、腾讯前端框架
5、做过的小东西: (1)视差滚动
6、(最重要的一点,很可能我被刷掉的原因,没有突出设计与重构的理念) 设计到还原这个过程中有些什么内容?