tips: 面快手的时候没怎么准备,很久远没用过的手写源码有点生疏了,/(ㄒoㄒ)/~~,话不多说,看题
一面 (视频面 1小时) 2月21日
-
自我介绍
-
css布局方式,清除浮动的方法,BFC是什么,如何触发
-
call、apply、bind区别,能手写一个bind和apply吗
-
手写promise源码, 另外实现promise.all方法和promise.race方法
-
深拷贝和浅拷贝是什么,有什么区别,手写一个深拷贝函数,最好能处理循环引用和Date、Reg的
-
实现js的sort api,具体的排序算法自己决定,这里我选择了快排
-
算法,合并两个有序链表
-
算法,一个有序数组反转后,找到第K大的元素(时间复杂度小于等于nlogn)
-
ES6都有哪些新的api,每一个都详细谈谈
-
vue响应式原理,看过源码吗
-
vue diff算法的原理,这里我谈了vue的diff和react的diff,并且分析了他们相同点和不同点
-
http和https的区别
-
url从输入到页面展示的过程
-
https的握手有了解过吗,详细过程
-
判断数据类型的几种方法,优缺点,实现方式
二面 (视频面 1小时) 2月21日
-
全程问react的知识
-
react中setState以后,是子树渲染还是整颗树渲染还是其他情况?
-
setState是异步的还是同步的,内部采用的是什么机制
-
react事件了解吗? (合成事件) 和普通事件有什么区别,实现原理
-
react Fibber 了解吗? (只答了时间片轮转算法,调度策略)
-
react diff采用的什么原则, (重点 last_index)
-
算法,判断一个字符串是否是回文串
-
算法,最大连续子序列(dp)
-
instanceOf原理,手写一个instanceOf
-
react开发的几种方式
-
react函数式写法和类写法的优缺点
-
react 类组件新增的两个生命周期是哪两个,作用是什么
-
react hook使用过吗? 使用过哪些hook
-
react 高阶组件有哪几种方式,如何写一个高阶组件
-
什么时候使用useRef,可以做到什么事情
-
算法,链表反转
全程压力还是蛮大的,项目组使用的技术栈我是超级喜欢的React+typescript