点此进入在线阅读 文章目录 文章链接: HTML部分: HTML5 与 HTML4 有哪些不同? meta标签属性有哪些? src与href的区别 script标签中defer和async的区别是什么? CSS 部分: 让一个元素水平垂直居中,到底有多少种方案? 浮动布局的优点?有什么缺点?清除浮动有哪些方式? 使用display:inline-block会产生什么问题?解决方法? 布局题:div垂直居中,左右10px,高度始终为宽度一半 CSS如何进行品字布局? CSS如何进行圣杯布局 CSS如何实现双飞翼布局? 什么是BFC?什么条件下会触发?应用场景有哪些? JS 进阶: 数据类型 JS数据类型之问——概念篇 JS数据类型之问——检测篇 JS数据类型之问——转换篇 高级特性 谈谈你对闭包的理解 谈谈你对原型链的理解 JS如何实现继承?(es6的extends除外) 谈谈你对BigInt的理解。 深入数组 JS数组的高阶函数——基础篇 函数的arguments为什么不是数组?如何转化成数组? forEach中return有效果吗?如何中断forEach循环? JS判断数组中是否包含某个值 JS中flat---数组扁平化 手写数组的 map 方法 ? 手写数组的 reduce 方法 ? 手写数组的 splice 方法 ? 手写数组的 filter 方法 ? 手写数组的 push、pop 方法 ? 手写数组的 sort 方法 ? api原理 如何模拟实现一个new的效果? 如何模拟实现一个 bind 的效果? 如何实现一个 call/apply 函数? JS中浅拷贝的手段有哪些? 如何写一个完整的深拷贝? 谈谈你对JS中this的理解。 V8工作原理 JavaScript内存机制之问——数据是如何存储的? V8 引擎如何进行垃圾内存的回收? 描述一下 V8 执行一段JS代码的过程? 如何理解EventLoop——宏任务和微任务篇 如何理解EventLoop——浏览器篇 如何理解EventLoop——nodejs篇 异步 I/O 及异步编程 nodejs中的异步、非阻塞I/O是如何实现的? JS异步编程有哪些方案?为什么会出现这些方案? 能不能简单实现一下 node 中回调函数的机制? Promise之问(一)——Promise 凭借什么消灭了回调地狱? Promise之问(二)——为什么Promise要引入微任务? Promise之问(三)——Promise 如何实现链式调用? Promise之问(四)——实现Promise的 resolve、reject 和 finally Promise之问(五)——实现Promise的 all 和 race 谈谈你对生成器以及协程的理解。 如何让 Generator 的异步代码按顺序执行完毕? 解释一下async/await的运行机制。 forEach 中用 await 会产生什么问题?怎么解决这个问题?