记录平安前端工程师面试

原创 hwt_yellow 随笔 面试 960阅读 2018-05-23 09:59:00 举报

1. 如何判断一个变量是否是数组

一、Array.isArray(obj) 调用数组的isArray方法

二、obj instanceof Array 判断对象是否是Array的实例

三、Object.prototype.toString.call(obj) ===‘[object Array]’
Object.prototype.toString方法会取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于[object Array]的字符串作为结果,call用来改变toString的this指向为待检测的对象

四、判断对象是否有push等数组的一些方法。(这个方法有兼容问题,但也是一个简单易用的方法)

五、obj.constructor===Array //true

2. 谈一谈如何提高用户体验

3. js单线程异步机制

一、首先理解一下什么是异步:异步就是把事情交给别人(浏览器)去做,所以自己(js执行线程)不会阻塞。别人什么时候做什么时候做完我是不关心的。

二、js在浏览器中怎么执行:js执行线程在执行某一js语句的时候会给浏览器发送请求并告知回调函数,然后js执行线程又继续执行其他语句了。等请求完成后浏览器会将回调函数放入执行队列的队尾等待执行。

三、异步是如何实现的:异步是靠浏览器的两个或者两个以上的常驻线程来完成的,第一个就是js的执行线程,第二个就是事件触发线程,js执行线程发出异步请求给浏览器,浏览器开一个新的请求线程来处理,js执行线程继续执行其他任务。那么事件触发线程呢?他就监听这个请求,如果这个请求完成了,就将该事件插入到JS执行队列的尾部等待JS处理。

4. 谈一下js面向对象编程的理解

继承、封装、多态

5. ES6中的class相当于ES5中什么

6. ES6中的const在ES5中怎么实现

-----------------------------分割线,以下是React相关问题-----------------------------

7. 讲一下React的生命周期和如何重新渲染

8. 如何获取React的虚拟DOM元素

9. 如何判断children是否是一个组件

10. 对于React Redux的理解

11. 对于React Router的理解

12. React的优势

评论 ( 3 )
最新评论