综合面试题
异步线程池
前端开发中遇到的困难和挑战
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 模型