完美世界 前端 一面
- 项目难点
- (刚才提到了 Blink)说一下 Blink 是干什么的(答的是 Chrome 浏览器内核),Chrome 浏览器除了 Blink 还用了什么(没太听懂,答的是之前用 Webkit 内核)
- ES6 新特性
- Map 和 Object 的区别
- WeakMap 了解过吗(×)
- 箭头函数的特点
- generator 了解过吗(×),yield 后面跟一个异步任务会怎么样(×)
- 说一下构造函数和原型有什么关系
- new 一个对象的时候如果构造函数有返回值那么 new 出来的对象和这个返回值有什么关系
- 说一下 Promise,什么情况下用到,解决了什么问题
- Promise 内部具体实现原理是怎样的,then 是如何实现链式调用的(×)
- 有没有更简洁的异步方案(async/await),它们是如何实现像同步一样调用异步任务的
- 异步题,判断输出顺序
- 事件循环
- 垃圾回收(计数、标记),V8 如何做的(×)
- TypeScript 用过哪些特性
- interface 和 type 有什么区别
- enum 在编译后转化成什么(×)
- Vue 的响应式原理
- (深挖 Vue 的响应式原理)defineProperty 具体怎么做到响应式的(答的是劫持 getter、setter),具体在 getter、setter 中是如何做的(×_× 没看过源码彻底懵逼...)
- computed 计算属性的实现原理(x)
- pinia 与 Vuex 的区别
- http2 和 http1.1 有什么区别,如果有一段数据丢了会怎样(×)
- Webpack 和 Vite 用过吗(有),它们有什么特点,Vite 为什么快
- Electron 了解过吗(有),它是如何实现跨端的,还了解过其他跨端框架吗(Tauri、uniapp、Flutter),能具体说说 Flutter 是怎么实现的吗(x,不过应该只是随口问的...)
- (刚才说到 Tauri 提到了 WebView)WebView 原理(x),它和 Electron 有什么区别
- nodejs 用过吗,如何操作数据库
- 算法:删除链表倒数第 n 个元素、斐波那契数列、不使用临时变量交换两个变量的值
- 平时如何学习前端的
- 反问
已挂
总结:菜,就多练✋✋
#面经##前端##完美世界#