十道前端面试题第【08】篇

2021-05-25  本文已影响0人  夏海峰

摘要:本篇分享了10道面试题——进程与线程、垃圾回收机制、浏览器生命周期、Iterator遍历器、Generator函数、JS六种继承、手写Storage、手写Map、DOM事件级别等。



面试题

1、什么是进程?什么是线程?

进程是资源分配的最小单位,线程是CPU调度的最小单位。形象类比,进程是火车,线程是车厢。

2、浅谈垃圾回收机制

3、简述浏览器页面的生命周期阶段

HTML 页面的 页面生命周期 包含三个重要事件:

4、谈一谈对 Iterator遍历器的理解

Iterator的三个作用:

什么是Iterator遍历器? Iterator是怎么工作的?原哪些原生数据结构,可以使用Iterator进行遍历?如何判断一个变量能不能使用Iterator进行遍历?

5、谈一谈对 Generator 函数的理解

Generator 函数是 ES6 提供的一种异步编程解决方案。从语法上讲,可以把Generator 函数理解成是一个状态机,它封装了多个内部状态。执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Generator 函数内部的每一个状态。

function* hwGenerator() {
    yield 'hello';
    yield 'world';
    return 'ending';
}

6、罗列 JavaScript 实现继承的方式(至少6种)

7、封装 MyStorage 类,实现如下三个方法:

8、自定义 MyMap 类,实现get/set/has/delete等方法。

9、DOM事件级别

<button id="elem" onclick="alert('Click!');">Autoclick</button>

<script>
  let event = new Event("click");
  elem.dispatchEvent(event);
</script>

10、定义一个变量a,要求(a==1 && a==2) === true

let i = 1;
var a = new Proxy({},{
     get:function () {
         return ()=>i++
     }
 })

本篇结束,感谢点赞!!!
上一篇下一篇

猜你喜欢

热点阅读