Skip to content

综合面试题

异步线程池

前端开发中遇到的困难和挑战

git 怎么使用

defineProperties 的其他用处/场景

在项目中初始化 element 组件的默认值, 比如 dialog 的默认宽度, 可以通过 defineProperties 代理 dialog.props 属性, 设置 width 的 value 的 default 默认值为 40% 即可实现默认宽度

如何一次性渲染十万条数据?

怎么做技术调研?

大文件上传实现

前端海量数据持久化存储

可以通过 indexDB 来实现

sso 单点登录怎么实现

JWT 和 token 区别

按钮级别权限控制

路由权限控制怎么做的

项目怎么搭建

项目怎么部署

什么是宏任务,什么是微任务?

Event loop 的执行过程

  • 同步代码,一行一行放在 Call Stack 执行
  • 遇到异步,会先“记录下”,等待时机
  • 时机到了,就移到 Callback Queue
  • 如果 Call Stack 为空(即同步代码执行完)
  • 执行当前微任务队列中的微任务(宏任务和微任务区别后面有讲到)
  • 尝试 DOM 渲染(如果 DOM 结构改变) Event Loop 开始工作
  • 轮询查找 Callback Queue,如果有则移动到 Call Stack 执行
  • 然后继续轮询查找

如何判断页签是否为活跃状态

可有办法判断用户的网络条件, 判断网速快慢,网络状态

在页面关闭时执行方法,该如何做

长文本溢出,展开/收起如何实现

如何实现鼠标拖拽

ResizeObserver 作用是什么

如何实现预览 PDF 文件

如何减少项目里面 if-else

如何实现响应式设计, 自适应和响应式有什么区别

移动端页面,页面的尺寸、宽高怎么去处理

怎么根据设计稿的尺寸计算出 rem

编程里进程和线程的概念

nodejs 相较于其他的服务端,有什么优点吗?

js 运行需要什么

用 nodejs 写过什么吗

写过一个代理工具, 可以代理静态文件, 主要是通过 express 启动一个服务, 通过中间件代理静态资源, 核心的通过 commander 设置命令行交互, 通过用户的选择来配置代理的功能

还写过 vite 插件, 主要是用到了 vite 的热更新钩子和文件相关的 api, 用来自动导入导出

写过 vitepress 插件, 主要是文件 api, 和一个文件路径监听的库, 可以自动根据文件夹和文件名生成路由

用 nest 写过一个记账本的后台, 是自己用的, nest 类似于 java, mvc 模型

Typescript 相较于 JavaScript 有什么优势和劣势?