前言
现在四月下旬了,金三银四面试好时期过去了一大半了,大家都面试的怎样了呀?拿到offer的小伙伴们在评论区说说嗷,好事分享嘛!还在面试的小伙伴继续加油,好事多磨嘛!
这篇小编分享个关于腾讯的面试,从头到尾的把这次的腾讯面试说明白,大家可以看看我做自我介绍的小技巧、怎么和面试官交流、做了那些技术准备、面试官都问了那些问题等,感兴趣的继续往下看哦。
环境
为了保证良好的状态,建议一定要在一个自己觉得舒服的地方去面试,我就是很容易被环境干扰的人,第一次面的1688,我就是在教学楼里面面的,当时以为是电话面所以我先是跑去天台了,然后说是要笔试,我又匆匆找了个自习桌子写,当时刚好是下课,很吵,而且对面刚好有个大哥在吃外卖,在那位大哥的注视加面试官大佬的注视下,我脑子一片空白,所以发挥就很不好。
自我介绍
正常的面试一般都会有这么一出,请你做个简单的自我介绍,这可以说是唯一开卷考的一道题了,也是特别重要的一环,第一印象其实是非常重要的,甚至可能会影响你整个面试的一个走向(我感觉),因为面试官可以通过你的自我介绍知道接下来该问你些啥,也可以知道你大体的一个情况,那么我们在面试之前就该想想该说点啥才能突出自己的一个优势,最好可以自己心里默念一下先,流利一点的自我介绍总是好的~
自信
然后就是要自信,做到这点其实不简单,我这里给出一个小建议,就是当你自己已经入职了(🐶盖被子),然后当这场面试只是和前辈在做技术交流,这对我来说确实挺管用的hh,然后面试官肯定会问到你不熟悉的方面(大神忽略),告诉自己没关系的,不懂就虚心请教~
交流
这就说回我那句话了技术面试远远不只是技术,这其实可以说是我通过这几场面试得出最重要的一个点,在之前,我一直认为技术面试和其他的面试不一样,应该就是和做试卷一样,面试官问,我把答案说出来就好了,只有客观的对与错,但是我突然发现我错了,技术面试也是面试,其实和其他面试本质上是没太大区别的,核心其实是“谈论”,这点面试的英文interview就很好的解释了,有inter非常重要,只是技术面试的谈资主要是围绕着你的知识储备进行的,试想你如果是个面试官你会喜欢和一个点读机讲话吗🐶。然鹅,怎么inter呢?举个🌰,比如面试官问你闭包的问题,你在回答完面试官的问题之后,还可以拓展说一下运用到闭包的一些设计模式比如JS经常用的模块模式,然后它可以模拟一下私有变量blabla...,然后就可以拓展到JS的模块化发展blabla,这一套组合拳下去,面试官直说,嚯!小伙子不错的嘛,基础还挺稳的嘛!(开玩笑)。当然,你也不能一直solo让面试官插不上话,你懂我意思吧,就是要把握好尺度,最好是有来有回。
技术准备
这是最最核心的,其实从很多地方都可以知道要各种面试需要掌握的一个知识点,面试前可以看看面经,但是面经只能是一个框架,更多可能还是需要要平时的一些积累,对于语言基础,啃书+手写是最实在,关于JS基础这里推荐一下《JavaScript忍者秘籍》和候策大佬的《前端开发核心知识进阶》我感觉写的真的很好。分享一张学习思维导图,需要完整版的学习成长路线的请点击这里。
我的建议是在自己的项目中使用到这些技术栈,毕竟是学习阶段多学不亏,并且边实践边记录,(这里我就哭了😭后悔一开始做OJ项目的时候没有记录),不然对于前端来说日常可能就是切图调接口罢了,学不到什么东西,凭这在这个卷卷的时代是找不到工作的啊。然后就是刷题,这个看具体的面试官喜好,但是刷好了编程题总是对面试信心有很大的帮助的,这里一个leetcode过题数不超过30的人默默留下了泪水,下次一定。
腾讯面经
技术一面 110mins
这一面面试官是一个很有礼貌的大佬,我中间不小心打断了几次他说话,他都说,没关系的你继续说,而且给了很多项目和学习上的建议,真的很nice,面完也马上给过了~
- 做一个简单的自我介绍吧
- 说一下的你做的项目
- 说一下你每个项目的难点
- 说一下你项目的技术难点如何克服
- 浏览器熟悉吗?
- 说下浏览器是怎么渲染的可以吗,这里问了很深
- 说下opacity和z-index你了解吗,关于图层的问题
- 构建完渲染树页面有东西了吗
- 还有浏览器追问了很多问题我有点忘了😹
- 你对ts熟悉吗,他有什么特别的地方相比js
- sass你喜欢用是吗,它有什么好的,比css好的地方在哪,css可以实现这些功能吗
- React说一下无状态组件,和有状态的区别
- 说一下React之间的通信
- 说下React的生命周期
- 说一下React16的新特性
- 讲一下React的diff策略
- 你有看过React源码吗?
- VD是怎么实现的?
- diff算法是怎么实现的,你自己有实现过吗
- 又转到我的项目,诶你的组件库好像不错哇有没有想过怎么优化
- 你知道防抖吗,能实现一下吗?
- 你知道防抖,那如果我想隔几秒再去发请求我应该怎么改进呢?
- 我说那可以用节流,节流怎么实现的实现一下吧?
- 你Promise用过吗,怎么用的?
- 你知道Promise怎么实现的吗,异步怎么实现,链式调用怎么实现
- 你说你处理Promsie异步问题的时候使用setTimeOut,你知道setTimeOut会不准的吗,你知道setTimeOut底层是怎么实现的吗?
- 你知道xss吗,那要怎么预防呢?
- cookie的了解吗
- cookie和session有什么区别
- 讲一下localstorage和sessionstorage,indexDB
- 请求安全这块说了很久,你们后台的鉴权是怎么做的?
- token?你知道他怎么保证安全吗
- 解释一下使用token鉴权的流程
- csrf知道吗,说下是什么,怎么预防?
- 回流重绘知道吗,说下触发的场景?
- 然后又问到我项目,你这个组件库想过怎么优化吗,除了功能方面,我给个建议哈,可以拓展一下使用的边界,比如WebComponent,你知道AST吧.....
- http1.0,http1.1,http2.0不同点,优化了什么
- 多路复用是什么
- 常见的状态码
- http和https
- 如何加密
- 关于网络请求的一些问题
- 多路复用是什么你知道吗
- 你知道块级作用域吧,块级作用域是怎么实现的吗从es5到es6
- 说一下你对闭包的理解
- 你知道函数执行栈吧,你如果闭包在里面会释放内存吗举了几个例子
- 你知道垃圾回收机制吗,除了标记清除,引用计数你还知道其他的吗
- 最后来个拓展题吧,白屏的优化你说下你的思路,系统一点,从网络请求部分开始讲
- 你平常怎么学习的啊
- 有看什么书吗
- 你是兴趣学的前端吗
- 最近有关注什么新技术吗
反问环节
问了一下部门
然后问了一下要如何成为一个合格的前端工程师
一面好像大概就是这些点久远有些具体的问题忘了
二面 80mins
这次面试也是腾讯会议,但是这次面试官没有露脸,听声音是很有活力的一个小哥哥,几乎全程都在问项目,然后也给了我很多建议(因为太菜了),问的还是很细的,所以大家还是要对自己项目十分熟悉才行啊~~
此外问了
- 你博客写在哪里
- 浏览器缓存
- 如何解决跨域问题
- sso单点登录
- git
好像还问了点啥,我确实忘记了,然后面试官说上个面试官说我基础还不错,然后他觉得我知识广度挺不错的(我有点受宠若惊),给我建议是可以继续深挖
然后他说没啥事了,给我出一道拓展题,设计一个表示腾讯所有员工的树形组件,问节点怎么设计,怎么优化
然后问了下什么时候能来实习
然后我问了一下主要的技术栈以及部门目前在关注的新技术,然后面完就安排hr面了
hr面
- 能实习多久
- 优缺点(举例子)
- 看过源码吗
- 项目的难点
- 技术栈是什么
- 成绩怎么样
- 获过什么奖吗
- 看过源码吗
- vue和angular用过吗,和react比有什么优缺点
- 考研吗,为什么?
- 今后的方向
有没有其他offer
结束
一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,免费分享给小伙伴们,有没有需要的小伙伴们都去领取!以备不需之时,前端面试题领取直达车:【往这里看,往这里点】
虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!