js题目
- JS为什么单线程设计目的?(避免资源竞争,防止出发竞态条件)
- 开发中如果有复杂任务如何解决单线程拥堵问题?(webworker,宏任务,微任务)
- 介绍一下浏览器事件循环?(宏任务,微任务执行顺序)
- 如果使用webworker是否可以在新的线程中进行http请求?(尽量不要,webworker开辟新的进程是为了处理长时间任务,http请求为异步,不符合设计理念)
- 介绍一下webassmbly,为什么要使用webassmbly?(将其他语言转换成二进制供前端调用,c++, go, Python等,二进制执行时间更快)
- 介绍一下闭包,闭包的作用是什么,为什么要使用闭包?(引用另一个函数作用域中的变量函数,通常个在嵌套函数中出现, 实现类似面向对象中的私有属性, 延长变量周期)
- 什么是内存泄漏?(变量不及时销毁导致,闭包,或者console输出都可能导致内存泄漏)
- 正式环境如何清除多余console,以vue项目为例?(1.规范开发代码,及时review。2.使用vue插件。3.vite配置。4.自己使用编写相关插件AST)
- 介绍下抽象语法树AST,开发中是否自己处理过相关插件。
- 介绍下JS中数组的方法(push,pop,shift,unshift,splice, sort, reverse, fill, concat, slice, forEach, map, filter, reduce, find,indexof, includes, flat 等)
- 数组如何去重(1.使用es6 的set, 2.使用reduce, 3,foreach等遍历)
- 介绍下事件冒泡,vue项目中如何避免事件冒泡,原生js如何解决?(元素先执行本身事件,再依次向父类延伸。 vue中使用.stop阻止事件冒泡,原生js中使用stopPropagation阻止向上传播)
- 介绍promise,以及promise的三个状态是什么?(promise是处理异步的一种模式和对象,避免回调地域。 pending(进行中),rejected(失败),fulfiled(成功))
- promise.race的使用场景?(有效CDN)
- 介绍下原型和原型链?
- 介绍下箭头函数,以及和普通函数区别?(无this指向,避免二义性)
- websocket推送大量数据如何处理,如果数据丢失如何处理?(分块)
vue题目
- vue2和vue3的响应实现原理,以及区别?(2使用object.defineproperty, 3使用es6的proxy)
- vue3中响应数据都是使用的proxy吗,如果不是请说明?(ref使用的object,reactive使用的proxy)
- 介绍一下vue的生命周期?
- vue中组件通讯方式?(1.emit,2.vuex/pinia,3.创建一个新的vue实例绑定到原来的vue的原形作为bus来使用)
- watch中 deep和immdiate?(深度监听,和数据初始化就监听一次)
- vue的nextTick如何实现的?(promise,微任务)
- vue中的data为什么是函数?(每个组件单独适应,避免全局变量同名等)
webGis题目
- cesium中如何绘制点线面
- cesium中primitive和entity的区别
- gltf和3dtiles有什么区别和联系
- 如何实现一个区域的颜色渐变,给出思路?
- 如何判断一个点三角形内部
- 向量的点成和叉乘的区别以及意义?
- cesium中如何计算地球某一点的垂直法向量
- 简单介绍gpu的渲染流程
- 自己实现lod应该如何去处理
posted on
2025-07-19 12:06
张小饭啊
阅读(
13)
评论()
收藏
举报