一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的 (2)

JavaScript中的节流和防抖
防抖的原理为触发事件的n时间后才执行,如果n时间内事件再次被触发,则以新触发的时间为标准,然后n事件后再执行

一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的


节流的原理为在持续触发事件时候,每隔一段时间执行一次。我们可以使用time line或者定时器来实现,或者二者结合实现。

一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的

JavaScript中的事件你了解哪些
这种题目一般为开放性的题目,首先我们可以从事件的阶段来回答,事件冒泡、事件捕获、以及目标阶段。同时我们可以说明下事件委托的使用方式以及浏览器兼容性的问题。

setTimeout设置为0发生了什么
这主要考察js的执行机制,可以从event loop来回答,包括js的单线程以及task queue microtask queue等。

原生ajax请求了解么

一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的

js判断数据类型的几种方法
1、最常见的typeof,返回的String格式。能够判断function,但是判断Object比较烦。2、判断已知数据类型可以用instanceof,注意instanceof后面一定是对象类型,并且大小写不能错。3.constructor方式。但是在实现继承的时候回出现错误,需要手动修改。4.通用但是很繁琐的方法为prototype:Object.prototype.toString.call(a)

this指向问题
1、常规为题,从默认绑定、隐含绑定、明确绑定以及new绑定来回答。2、扩展es6中的箭头函数,以及call、apply和bind的区别。

你如何看待JavaScript这门语言
开放新问题,可以从参考《JavaScript语言精粹》,谈谈自己开发中遇到的各种问题,最重要的不是吐槽而是对鸡肋的解决办法,比如继承的实现、块级作用域、变量提升等。

es6用过么?说说promise的实现
关于es6的知识点这里不再赘述。Promise的实现主要是pub-sub模式。状态和行为相分离的难点。

一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的


一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的

React部分

react组件的生命周期相关
react组件生命周期最好的提现是使用es5 的编码方式,其中生命线大概分为两条路线,分别为getDefaultProps、getInitialState、componentWillMount、render、componentDidMount、(Running),然后分为两路,componentWillReceiveProps、shouldComponentUpdate、componentWillUpdate、render、componentDidUpdate以及componentWillUumount。我们一般在getInitialState中初始化组件的状态数据,在componentDidMount或者componentWillMount中进行获取API请求操作等,在shouldComponentUpdate中进行组件的优化。其中可以展开如何优化以及官方推荐的PureRenderMixin等实现方式。以及别的方面扩展结合自己的开发经验。

setState是同步的还是异步的
通常我们的写法都是异步的,但是真正想要我们回答的是当给setState传入函数的时候,其实表现的为同步的。

子组件的componentDidMount和父组件的componentDidMount哪一个先执行?
必然是子组件的componentDidMount限制性,可以从react组件的生命周期进行分析扩展。

react的DIFF算法和virtual dom了解多少?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzpjg.html