腾讯web前端开发 面经-春招-应届-拿到Offer
关键词:二本、应届
这篇文章总结了一下我从投递简历到拿到Offer的全过程,希望能给大家提供一点点的帮助和参考
时间线
首先说一下自己面试投简历的时间线吧。(2019年3月,腾讯春招应届补录)
3号:开始投递简历。
4号:中午发现CSIG事业群有应届补招名额,遂发邮件自荐。当天晚上收到一面预约电话。
5号:下午2点,一面,初试。初试完,官网状态变为复试。
6号:收到二面预约电话。
7号:下午4点,二面,复试。当天晚上,状态变为HR面试。再晚一点,收到了HR面试的时间确认(未提前电话联系预约时间)。
8号:上午10点,按照前一天的通知的时间进行了HR面试。当天晚上状态变为“已完成所有面试”。
14号:下午,收到了OfferCall和OfferMail。
一面(40分钟)
面试题
结合你做过的项目自我介绍一下吧(我没听清前半句,直接简单自我介绍了一下)
最近的项目(继续上一问,想让说一下项目相关的)
项目用的前端框架、使用了哪些框架
前端页面路由的权限实现
后端怎么做鉴权的(水平鉴权?这个名词没听清)
每一次访问的时候在KOA里面是怎么实现(后端鉴权)的
有考虑使用中间件的方式来做(后端鉴权)吗
CSRF是怎么来做的
CSRF的原因是什么(这部分他想问的是CSRF的攻击过程和原理)
防御CSRF的Token,是从哪个地方获得的(我前两问回答的防御方法是在header里面放自定义Token)
登录是否是通过Cookies来做的
如果浏览器不支持Cookie,想要做登录验证的话通过什么方式?(这边他想问的是SESSIONID的传递方法)
做这个系统的时候有考虑性能上的问题吗
发一个ajax请求到后台,那么会经过哪些阶段才会重新回到前端(这个问题应该是经典问题“输入url之后发生的事情”的变种)
追问,从服务器端返回回来的时候会经过哪些阶段
KOA有哪些特性,Express有用过吗
KOA有什么特点(这边想要问的是对KOA的了解)
Vue,组件相应的封装有做过吗
Vue、ElementUI从input选一个非常大的组织机构(树形)怎么做(这边想要问的是层次选择器、异步搜索补全)
Vue父子组件通信的方法
Vue里面computed、watch、data的各自适用范围
追问,watch和computed的区别(因为我上一问没有解释清楚watch和computed,这边其实想问的应该是watch可以用来异步操作,但是我只是解释了一下computed本身可以作为数据来使用而watch一般用来做回调)
如果要用watch来做一个双向绑定的话怎么做
前端跨域有相关了解吗
追问,Nginx配置来进行处理跨域(这边是因为我上一问没有讲到后端***的跨域方式)
webpack做了哪些工作(这边应该是问的webpack的原理和做的事情,我有点紧张,没答到点子上)
追问,webpack做代码混淆是怎么做的(这边应该是继续考察webpack流程)
追问,webpack压缩代码时遵循的原则(这边应该是要考察CommonJS、CMD、AMD等模块打包规范,我还沉浸在上一问的压缩打包里面,没答到点子上)
ES6方面有相应的涉及吗(考察对新规范的了解,我本身了解和使用都比较多,但是比较紧张,只说了一下let和class、promise、async之类的,没提对象和数组的解构和字面量表达式)。
你有什么问题要问我的吗。(标准流程)
总结
这个面试官给我的感觉是很专业,虽然提问基本是按照标准法来的,但是比较有章法,从我的回答一点一点展开出其他的问题。
其实现在总结的时候才发现有很多的问题,因为紧张或者其他原因,没能一下子回答到点子上,但是还好面试官人比较nice,后面都通过追问,帮我补上了。
二面(40分钟)
面试题
你先做一个自我介绍吧
讲一个你最近负责的项目,有用到过哪些知识点
CSRFToken是怎么实现的(一面问过,我这里干脆直接展开把前后端全讲了)
追问,客户端从哪里拿到拿到Token的(我回答的是服务器端直接公开一个接口来给CSRFToken)
追问,这个接口是怎么防止CSRF的呢(感觉是一个陷阱问题,我回答的是由于浏览器有同源策略,所以js拿不到Token数据,退一万步,也可以在服务器上对这个接口进行referer检验)
追问,为什么其他接口需要CSRF_token呢(这边其实也像是一个陷阱问题,我主要回答了CSRF的原理,是利用了访问url可以直接执行操作)
Vue的实现源码有看过吗(我答的是没有特别研究过,只看了definePrototype的实现响应式数据的部分)
Vue的虚拟Dom(考察对VNode的了解)
VNode是个什么样的形式(我答的是大概就是一个树形递归的数据结构,保存了特定tagName和attributes)
打开浏览器,输入URL,按回车,到页面展现完成,发生了哪些事情(我这边直说我看过相关的面试题,然后根据自己的知识大概回答了一下)
追问,你刚才说的协商缓存的具体过程(说真的,上一个问题之所以历久弥新,不是因为这问题简单,而是你不管怎么回答,总会抓住你的回答的东西来继续深问,比如我上一问炫技地多说了一句浏览器的协商缓存环节)
追问,浏览器拿到页面之后,后面的渲染呢(这是上上问的打开页面的后半部分的问题)
TCP的三次握手是哪三次(三次握手中的SYN和ACK的状态)
追问,为什么需要第三次握手,没有第三次握手会有什么问题吗(这边考察的是为什么握手次数是三次,网上的原理说是,如果没有第三次握手,服务器端不能确保对方的信息能够正常接收。我回答的略有些偏题,我回答的是,如果需要确保消息的绝对有效传输,会递归的无限回复上一条消息的状态,三次是一个性能和效率折衷的选择)
实现ajax跨域有那些方案(这次我直接把后端***说了)
如果有用户反馈说网页打不开,你要怎么定位(开放性问题,考察你对解决问题的时候的想法是否全面)
页面上面展示一个实时刷新的新闻列表,怎么实现(主要考察服务器向客户端发送消息,轮询、长连接、websocket之类的)
追问,然后点击新闻标题,弹出一个水平垂直居中的浮层(我这边直接说了可以用绝对定位或者flex布局)
追问,点击事件怎么绑定呢(考察事件委托)
追问,怎么取到那个对应的元素(clickevent的target属性)
追问,事件委托利用了事件的什么特性(事件的捕获和冒泡过程)
你最近有在哪里实习过吗(我没有实习经验,如果有知名公司实习经验的话应该会比较加分)
追问,那你前端是怎么学的,之前的那个项目是怎样去做的
你是哪里人
优化网页性能的话,你知道哪些方案?(开放性问题,我从服务器端静态文件到客户端首屏渲染都说了一些)
追问,为什么需要合并请求(上一问我提到了合并请求来加快加载速度,这里我回答的是浏览器对单个域名的并发数是有限的,另外合并请求也可以加速文件下载,没有频繁的建立连接过程)
追问,HTTP2呢(我上一问提到了HTTP1.1不支持链路复用)
HTTP2支持链路复用那还需要合并吗(我这边头铁,直接回答的需要合并,事实上应该也是需要的,这个问题可以转化成下载一个100K的文件快还是下载10个10K的文件快,在TCP有固定帧长度的情况下,其实合并的话,TCP的数据帧应该会少一点,但是HTTP2毕竟支持链路复用,应该也就是1秒和1.2秒的差距。不合并也有好处,比如更新某一个模块不需要重建整个打包文件的缓存,只需要更新对应模块的缓存就好了)
你平常做项目都是一个人做吗
智力题,我们现在玩一个游戏,在一个大的圆桌上,吃饭的那种,在上面摆象棋,每个人每轮摆一个,直到某一个人不能在空白的地方继续放下,就算输,那么你有必胜的方法吗(网上有方法,第一个人摆在正中心,同心圆,然后不管第二个人怎么摆,第一个人都和他玩中心对称。但是我当时比较紧张,直接头铁的说第一个人必赢,理由是如果有一个必胜的方案的话,那么第一个人就可以完成这个方案,实际上这样解释比较勉强)
你是19年毕业吗,本科还是?
之前怎么没有出去实习?(这些问题一定要好好说,HR面也会问到)
你现在的想法是怎么样?(我这边是如实回答了。建议各位别想着说考研了,有哪家的HR会喜欢一个随时弃坑去考研的)
你有没有什么问题想问的。(标准流程)
总结
这一面和第一面的感觉不太一样,因为进到复试了,其实自己也蛮紧张,有几个问题答得都不是很好。这一面的话面试官会追问的比较深,主要考察你是不是真的做过这个项目,是不是真的能够解决这些问题。
面试官也很nice,最后也坦白跟我说了,我的自学能力还不错的,虽然没有合作开发的经验,但是这些都可以后面慢慢学习。
另外就是面试的时候,最后提问可以有一点意思,不要简单的就问一下面试官是什么部门的,这就放弃了一个深入交流或者让面试官对你耳目一新的机会;也不要问对xxxx产品/事件怎么看,很容易被揪住你的观点反问你一波,这些地方其他面经都会有一定的指导,我就不献丑了。
HR面(30分钟)
总结
HR的问题没什么好写的,基本就是询问家庭情况,对于工作城市、事业群家人是否支持。
另外会着重考察你的性格和生活,比如让你说说自己的缺点和优点,说说大学期间给你压力最大的一件事,然后根据这些,展开细问,考察你的性格,做事风格之类的。
这个地方没有什么面经可以分享,大家如果自身道德素质过关,问心无愧的话,如实讲就好。
最后总结
我的经历可能很难重现,投简历的时候也没有内推,机缘巧合看到了有事业部说有补招名额,于是主动发邮件自荐的,当天晚上就被那个事业部的面试官捞起来了。
身为一个本二学历的学生,其实进大厂还是一个蛮高的目标,一开始也对自己信心满满。虽然只用了10天左右就拿到了腾讯的Offer,但是这10天里面天天都很煎熬,毕竟春招是最后一个进大厂的机会了,而今年寒冬各个公司又都开始缩招,压力非常大。每一轮面完都会在网上到处搜被刷掉的几率有多大,尤其是HR面结束以后,非常紧张,生怕由于某些原因最终没能拿到Offer,尤其是这期间阿里关闭了春招入口,投的其他公司又都杳无音讯。
如果是学弟学妹看到这篇文章,别犹豫,赶紧去参加暑期实习生招聘,据说技术岗暑期实习生转正率在60%以上。
目前暑期实习转正据说占用了每年校招50%的名额。
如果你是应届生,不要放弃,有实力,鹅厂真的不怎么看重学历(我投的某些二三四线小公司直接笔试面试的资格都没给,就把我PASS掉了)




