本篇文章,献给我家女朋友,祝她在杭州找一个965的好公司!
题外话:关于中级 -> 高级的进阶,我也写了一篇文章,希望对你有帮助: 写给初中级前端的高级进阶指南 HTML篇 HTML5语义化 html5语义化标签 百度ife的h5语义化文章,讲得很好,很多不错的公司都会问语义化的问题。
CSS基础有的公司很重视,在面试前还是需要好好复习一遍的。undefined
Flex布局是高频考点,而且是平常开发中最常用的布局方式之一,一定要熟悉。
关于bfc,可以看看三元大佬总结的文章 这篇文章里,顺便也把外边距重叠的问题讲了一下。
最新的 ECMAScript 标准定义了 8种数据类型:
developer.mozilla.org/en-US/docs/… 讲讲Map和Set?
WeakMap只能以复杂数据类型作为key,并且key值是弱引用,对于垃圾回收更加友好。
关于原型链,虽然现在用的不太多了,但是proto和prototype之间的关系,以及对于属性的向上查找这些还是一定要清楚的,其余不用看的太细。
var a = { count: 1, deep: { count: 2 } }
var b = Object.assign({}, a)
// 或者
var b = {...a}
var deepCopy = (obj) => {
var ret = {}
for (var key in obj) {
var value = obj[key]
ret[key] = typeof value === 'object' ? deepCopy(value) : value
}
return ret
}
复制代码
对于同一个用例来说
// 浅拷贝
var a = { count: 1, deep: { count: 2 } }
var b = {...a}
a.deep.count = 5
b.deep.count // 5
var a = { count: 1, deep: { count: 2 } }
var b = deepCopy(a)
a.deep.count = 5
b.deep.count // 2
React需要尽可能的保证熟练。因为作为中级工程师来说,公司可能不会让你去写框架,调性能优化,但是一定是会让你保质保量的完成开发任务的,这需要你能熟练掌握框架。
这些题可以先过一下,如果暂时不能理解的就先跳过,不需要死磕。 有没有使用过 React Hooks?
其实关于Hook的问题,把Dan的博文稍微过一遍,基本上就可以和面试官谈笑风生了。
这篇文章从mixin到HOC到Hook,详细的讲解了React在组件复用中做的一些探索和发展,能把这个好好讲明白,面试官也会对你的React实力刮目相看。 另外这篇文章中的
高阶组件
和Hook
本身也是高频考点。
这个系列从基础到优化都有,可以自己选择深入
这个很长,很细节,一样不要死磕其中的某一个点,对于你大概知道的点再巩固一下印象就ok。 webpack代码分割是怎么做的? webpack的代码分割(路由懒加载同理) 路由懒加载和webpack异步加载模块都是这个import()语法,值得仔细看看。
这篇文章可以主要讲chrome80新增的cookie的SameSite属性,另外对于cookie整体也可以复习和回顾一遍,非常棒~
https也是一个高频考点,需要过一遍https的加密原理。
安全问题也是很多公司必问的,毕竟谁也不希望自己的前端写的网站漏洞百出嘛。
浏览器缓存基本上是必问的,这篇文章非常值得一看。
如何模拟实现一个new的效果?
如何模拟实现一个 bind 的效果?
如何实现一个 call/apply 函数?
说实话我不太喜欢手写代码的面试题,但是很多公司喜欢考这个,有余力的话还是过一遍吧。
精力有限的情况下,就先别背A+规范的promise手写了,但是如果有时间的话,可以大概过一遍文章,然后如果面试的时候考到了,再用简短的方式写出来。