前端—每天5道面试题(4)

简介: 前端—每天5道面试题(4)

前端—每天5道面试题(4)

每天背5道前端面试题,希望我可以在远方的终点见到你

1、写 React / Vue 项目时为什么要在列表组件中写 key, 其作用是什么?

key 是给每一个 vnode 的唯一 id,可以依靠 key,更准确,更快的拿到 oldVnode 中对 应的 vnode 节点。

2、介绍下 Set、Map、WeakSet 和 WeakMap 的区别?

  • Set——对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
  • WeakSet——成员都是对象;成员都是弱引用,可以被垃圾回收机制回收,可以 用来保存 DOM 节点,不容易造成内存泄漏。
  • Map——本质上是键值对的集合,类似集合;可以遍历,方法很多,可以跟各 种数据格式转换。
  • WeakMap——只接受对象最为键名(null 除外),不接受其他类型的值作为键
    名;键名是弱引用,键值可以是任意的,键名所指向的对象可以被垃圾回收, 此时键名是无效的;不能遍历,方法有 get、set、has、delete。

3、请分别用深度优先思想和广度优先思想实现一个拷贝函数?

4、Async/Await 如何通过同步的方式实现异步的?

  • async 起什么作用——输出的是一个 Promise 对象

5、简述一下JS 异步解决方案的发展历程以及优缺点

1、回调函数(callback) 优点:解决了同步的问题(只要有一个任务耗时很长,后面的任务都必须排队 等着,会拖延整个程序的执行。) 缺点:回调地狱,不能用 try catch 捕获错误,不能 return 。

2、Promise 优点:解决了回调地狱的问题 缺点:无法取消 Promise ,错误需要通过回调函数来捕获。

3、Generator 特点:可以控制函数的执行,可以配合 co 函数库使用 。

4、Async/await 优点:代码清晰,不用像 Promise 写一大堆 then 链,处理了回调地狱的问题 缺点:await 将异步代码改造成同步代码,如果多个异步操作没有依赖性而使 用 await 会导致性能上的降低。


相关文章
|
3月前
|
缓存 前端开发 中间件
[go 面试] 前端请求到后端API的中间件流程解析
[go 面试] 前端请求到后端API的中间件流程解析
|
17天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
51 1
|
2月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
3月前
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
28天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
3月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
【8月更文挑战第18天】
51 2
|
3月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
38 0
|
3月前
|
存储 前端开发 JavaScript
44 个 React 前端面试问题
44 个 React 前端面试问题
|
3月前
|
存储 JavaScript 前端开发
|
3月前
|
Web App开发 存储 缓存