腾讯暑期实习前端面经 + 总结
前言
我是3月10号投递的,当时想着提前批与我无瓜,等着4月笔试吧。没想到提前批被捞了三次,并且最终幸运的拿到pcg的实习offer。在这里记录一下面经(TEG + QQ音乐 + PCG),也算是反馈一下,希望能帮助到更多的小伙伴。
TEG 一面
面试问题
自我介绍
了解cdn吗?
了解轮询和websocket吗?
从url输入到页面展示,这个过程发生了什么?
TCP三次挥手、四次挥手(上个问题的深入)
TCP 和 UDP 有什么区别? TCP又是如何实现可靠传输的?
Js的闭包有什么优缺点?
你了解Promise吗?Promise是怎么捕获异常的?
你觉得你做的两个项目 - 网页 和 小程序 的区别
小程序的生命周期
看到你简历上写了 axios ,讲讲 axios 是什么吧
跨域、以及解决跨域的方法、原理
小结
这次一面20分钟就结束了,自己也没有想到会被捞,准备的不够充分。面试经验不足(有一些懂得知识没有讲出来),需要加强表达、总结的能力。主要问了一些计算机网络的知识,后来痛定思痛,几天一直在复习计网的知识。
QQ音乐 一面
面试问题
自我介绍
你有了解过Vue的源码吗?
Vue的生命周期,和每个阶段分别有什么事情发生
Vue的组件传值,父子、子父、隔代
Vue的响应式原理是什么呢?
js的数据类型,有什么区别?引用类型是存在内存哪里?
js的GC、垃圾回收机制?
怎么区分类型?实现一个instanceof怎么实现?
构造函数
new
实际发生了什么?Js的
for in
和for of
有什么区别? (接下个问题)for of
可以迭代对象吗?(不可以)那怎么让for of
可以迭代对象呢?(迭代器、知名符号、生成器)Array的遍历方式,forEach和map有什么区别,map返回的是什么?
继承方式
我说了用es5实现es6的extends的方法,面试官貌似不太认同这个做法,面试官应该是想问我原型链继承+构造函数继承、组合继承。闭包了解吗?有什么优点呢?
DOM事件模型:冒泡、捕获,事件委托是什么?
window.onload 和 document.ready 有什么区别?运用场景呢?
setTimeout设置2秒后打印,会准时打印吗?(Event Loop)
防抖,节流了解吗?
(之前我是学习过,但是练习运用的太少、忘记了。果然知识点还是要反复理解,并加以练习)你了解浏览器的事件循环,那NodeJs的事件循环知道吗?
跨域、以及解决跨域的方法、对应原理
有什么办法异步加载js文件?
web性能优化?
http浏览器缓存了解吗?
web安全:XSS攻击和CSRF攻击
CSRF深入
我上个问题对于csrf说的方法是,服务端生成随机的token,客户端请求带上这个token。
面试官问,如果是客户端对cookie进行运算,服务器拿到cookie进行反运算,这种方式可以吗?
我觉得问题考点应该是:攻击者只是利用了浏览器根据请求域名自动携带cookie,而不能拿到cookie,所以是可以的。
小结
这一次电话面试了一个小时,问了很多问题。自我感觉前半部分关于JS部分回答的还不错,从后半部分就开始白给(原型prototype、__proto__
只用语音交流把面试官说烦,防抖和节流都忘记了,后面关于页面性能、浏览器缓存我都不了解),最终导致了挂掉。
伤心了一两天,我又继续恶补面试中没回答好的问题。
后来在牛客上看到了 pcg 的内推,就填了一下,没想到腾讯又给了我第三次机会。
因为 pcg 是连着几天面试的,面试后我没有完全记录下来,有些忘记了,导致下面的问题可能不是很全,请谅解。
PCG 一面
(牛客视频面试)
- 是从什么时候开始学前端的?平时又是怎么学习前端的?
- 从url输入到页面展示,这个过程发生了什么?
- 用户第二次访问网页,会快很多,是什么原理?
- 让你设计一个登录、注册、忘记密码的页面你会怎么设计?
- 上个问题,分享屏幕,在线打码搭建页面
- 有效括号 - 判断一个字符串中括号是否都能匹配
PCG 二面
(电话面,这次的面试官感觉比较沉稳,问的问题比较宏观)
- 自我介绍
- 你觉得你做的两个项目 - 网页 和 小程序 的区别?
- 跨域、解决方法、对应原理?
- 小程序在安全、跨域这块是怎么处理的你有去深入了解吗?
- 页面性能优化
(有很多点,我把我之前学习到的都讲了出来)
PCG hr面
在看到流程从复试转到hr面后,我就开始在网上找hr面会问什么问题,先自己准备好大概的回答。
hr面看上去是聊天,但每个问题感觉都指向了hr想了解的内容。而且hr好像是有一票否决权的,所以还是要谨慎一点。
面试后没多久,流程变为“已完成”,隔天接到offer call,撒花~
总结
在几次反问环节中,我问到面试官“我这次面试有哪里不足、有哪些可以提升的地方”,面试官前辈都跟我说有些问题实习生回答不出来是正常的,主要是考察同学在学习的时候有没有去更深地探索(黄金圈法则)。所以让我觉得 学习态度和学习能力 挺重要的。
同时我也觉得我很幸运,比起其他大佬的面试经历,我觉得我被问到的问题已经算是很简单了。而且能连续几天走完面试流程,真的很感谢各位面试官和hr前辈。我也很感谢自己,再失败了几次之后,能不断继续学习。
这次实习又是一次新的起点,希望自己能继续加油努力,同时也祝福还在追逐目标路上的小伙伴们好运连连,早日拿到心仪的offer!