-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2020年中大厂前端面试总结 #156
Labels
Comments
m |
Mark |
Mark👍 |
Mark |
👍 |
Mark |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
前言
本次面试面试了很多家公司,包括 360,美团,猿辅导,小米,腾讯地图,头条,新东方,快手,知乎等几家公司,刚开始去面试的时候那段时间状态不是很好(基本每天都加班到很晚,周六日也没有休息的那种,而且当时心态真的是差到爆,很多平时自己很会的东西,被问到居然答不上来),基本一面就挂的那种(360,美团,猿辅导),越面越失望,后来就直接不面试了,调整自己的状态,请假休息,好好睡了两天两夜之后,调整自己的心态,开始准备面试,接下来的面试就顺利的很多。
本篇面试题总结并没有按照公司那样分类而是按照知识点进行简单分类,很多面试题问的频率非常高,所以面试的时候如果第一次问完,没回答上来或者回答的不太好,一定要在面完的第一时间记录下来并且查找资料,否则就忘记了,或者之后再看就没有了当时迫切想知道具体答案的那种心情了(有迫切的想知道某些知识的心情的时候目标很明确,学东西也会印象深刻记得牢)。
下面题目中标记有 【高频】 的至少被问过两次,标记有 【超高频】 的基本面试的每家公司都问到了。
笔试题
可以使用 正则的捕获组来实现
【高频】 实现Promise.all, Promise.allSettled
获取一段DOM节点中标签个数最多的标签
可以参考 usePrevious 这个的实现
笔试题中的算法题
区间用长度为2的数字数组表示,如 [2, 5] 表示区间 2 到 5 (包括2和5);
区间不限定方向,如[5, 2]等同于 [2, 5];
实现
getIntersection
,可接收多个区间,并返回所有区间的交集(用区间表示),如空集用 null 表示解法
webpack 和babel相关的问题
HTTP
【高频】 HTTP2, HTTP2的性能优化方面,真的优化很多么?
【高频】 简单请求和复杂请求
怎么用get实现post,就是使用get方法但是参数放到request body中
TCP和UDP的区别
CSS
【超高频】 flex相关的问题
相关文章:Flex 布局教程:语法篇
CSS实现换肤的几种方案,提到了css自定义变量 var,接着又被问到 css自定义变量 var的兼容性,以及如何解决的
CSS的实现
【高频】 实现固定宽高比(width: height = 4: 3)的div,怎么设置
JavaScript
单例的应用
【超高频】 什么是闭包,闭包的应用场景
如何判断 当前浏览器是否支持webp
Vue3.0和Vue2.0 实现双向绑定的区别是什么,提到到proxy, 然后又接着让写出分别使用
Object.defineProperty()
和proxy
写一个简单的双向绑定,最后问了一下 proxy除了拦截它的getter和setter外,还能做什么说说你对同步阻塞,异步非阻塞的理解
【超高频】 浏览器渲染(从输入url到页面渲染的完成过程)
【超高频】 首屏加载优化, 通过哪些指标去衡量性能优化的
canvas和svg分别是干什么的
document.hidden
,监听docuemnt.vibibleChange
事件【超高频】 实现复杂数据(去重元素是对象,数组)的数组去重
基本数据类型有哪些, 为什么symbol是一个函数, BigInt为什么可以用来存储大整数
什么是依赖注入
JS类型转换
String([])
为’‘
,String({})
结果是什么什么? 答案是:'[object object]'
富文本编辑器相关的js知识
Vue
React
创建ref的几种方法
context怎么使用,内部原理怎么做到的
【超高频】 React新的生命周期,为什么 getDrivedStatefromProps是静态的
其实就是想了解一下对TS的使用熟练程度,现在基本项目中开发都使用了TS,所以要赶紧学习起来才行,推荐几篇我认为不错的文章:
【高频】 diff算法
【高频】 key的作用
面试结果
大概说一下本人的大概情况,本科三年左右工作经验,非计算机专业,大三下学习决定转行学习前端,过程反正挺艰辛的,一直到现在还在恶补计算机的一些知识。毕业半年左右,一个偶然的机会,进入阿里文娱(哈哈,当时面试的时候也写过面经,感兴趣的可以看一下 当时写的面经 2017面末面试总结),现在因为个人原因,决定考虑新的机会。
面试差不多最开始是中3月中旬开始准备的,中间停了差不多小一个月又开始重新面试的,到最后拿到offer差不多5月底左右,历时近3个月吧,最近抽时间把这些题目总结了一下,算是给自己一个交代吧,上面很多题目自己回答的其实很多都不是很全面,标有 【高频】 及 【超高频】 刚开始回答的不好,后来认真学习总结了一下,之后再被问到,基本都回答得差不多
一般提到面试,肯定都会想问一下面试结果,我就大概的说一下面试结果,哈哈,其实不太想说,因为挺惨的,并没有像很多大佬一样已拿字节阿里腾讯各大厂offer”,但是毕竟是自己的经历,无论结果如何都要坦然接受,之前没好好学习,那之后多学习就是。360,美团,猿辅导最开始的一面挂,小米二面的时候面试官告知说要求招5年以上工作经验的,所以就直接告知不符合(哈哈,可能就是跟小米没有缘分吧,刚毕业的时候面试,终面被拒说要3年以上工作经验的,现在够3年工作经验了,却又要求5年工作年限),腾讯地图和头条都是hr直接找过来的,自己并没有投递,就顺便面了一下,二面面完之后,以为挂了,后来过了一周多(可能是作为备胎把),又打电话过来约面试,其实之前面试大概了解了一下部门相关的情况,感觉不是自己想去的,并不是说部门不好,可能做的事情跟现在的情况太像了,所以想做出一些改变。当时家里面又有好多事情处理,也没有太多的时间,就直接拒绝了,这件事儿也给自己以后提个醒,投简历之前要先想明白自己想要什么样的,可以列一些目标,而不是因为急于找工作,猎头和hr直接打电话过来就直接面试。
心得
面试公司的选择
本次面试有几家公司(腾讯地图,头条,360教育,新东方等)全部都是猎头和hr直接打电话过来让面试的,当时就抱着试试的态度,就直接面试了,面试的过程中感觉可能都不太合适(面试的时候问了一下公司部门的具体工作内容),换工作的时候尽量找相关部门的人内推,首先内推的部门你肯定会提前有所了解,而且帮忙内推的人还可以帮忙看看进度啥的,面试过了说不定还能成为好朋友,哈哈(所以平时要多结交一些大佬,一般大佬的人脉都很广泛,而且他们很可以给你内推,甚至可以把他们自己的经验分享给你)。
总之要想好自己现在出现什么问题了,为什么打算离职,下一份工作想要什么样儿的,毕竟一份工作要干很长时间。
面试准备
推荐一些很好的文章:
好文章真的太多了,哈哈,这里就不全部放出来了,关于面试,我也准备做了一些总结,可以查看 个人博客
算法
基本每家公司多多少少都会问很多算法题,算法题对于我这种基本没什么基础的人来说,碰到了就很恐惧,但是没有其他的办法,就是两个字 “多练”,这里推荐我看过的几篇文章:
其他的一些想法,之前也写了一篇文章 关于面试的一点心得,感兴趣的也可以看一下。也非常欢迎大家关注我的公众号 【牧码的星星】以及加我微信进行交流。
The text was updated successfully, but these errors were encountered: