前段面试题
前端面试题
- 如何理解HTML语义化标签?
- HTML新增标签有哪些?
- SVG、Canvas标签的区别?
- BFC是什么?
- 如何实现垂直居中?
- CSS选择器如何确定?
- 如何清除浮动?
- 两种盒模型【box-sizing】的区别?
- JS的数据类型有哪些?
- 原型连是什么?
- this的指向?
- JS中new做了什么?
- JS的立即执行函数是什么?
- JS的闭包是什么?有什么用?
- JS如何实现类?
- JS如何实现继承?
- 手写防抖、节流?
- 手写发布订阅?
- 手写AJAX?
- 手写promise?
- 手写promise.all
- 手写深拷贝?
- 手写数组去重?
- 请简述DOM事件模型
- 手写事件委托?
- 手写可拖拽div?
- GET和POST的区别有哪些?
- HTTP缓存有哪些方案?
- HTTP和HTTPS的区别有哪些?
- HTTP/1.1 和 HTTP/2 的区别有哪些?
- TCP 三次握手和四次挥手是什么?
- 说说同源策略和跨域
- Session、Cookie、LocalStorage、SessionStorage 的区别
- TS 和 JS 的区别是什么?有什么优势?
- any、unknown、never 的区别是什么?
- type 和 interface 的区别是什么?
- TS 工具类型 Partial、Required 等的作用和实现?
- Vue 2 的生命周期钩子有哪些?数据请求放在哪个钩子?
- Vue 2 组件间通信方式有哪些?
- Vuex 用过吗?怎么理解?
- VueRouter 用过吗?怎么理解?
- Vue 2 是如何实现双向绑定的?
- Vue 3 为什么使用 Proxy?
- Vue 3 为什么使用 Composition API?
- Vue 3 对比 Vue 2 做了哪些改动?
- 虚拟 DOM 的原理是什么?
- React 或 Vue 的 DOM diff 算法是怎样的?
- 补充:React DOM diff 和 Vue DOM diff 的区别?
- React 有哪些生命周期钩子函数?数据请求放在哪个钩子里?
- React 如何实现组件间通信
- 你如何理解 Redux?
- 什么是高阶组件 HOC?
- React Hooks 如何模拟组件生命周期?
- Node.js 的 EventLoop 是什么?
- 浏览器里的微任务和任务是什么?
- express.js 和 koa.js 的区别是什么?
- 常见 loader 和 plugin 有哪些?二者区别是什么?
- webpack 如何解决开发时的跨域问题?
- 如何实现 tree-shaking?
- 如何提高 webpack 构建速度?
- webpack 与 vite 的区别是什么?
- webpack 怎么配置多页应用?
- swc、esbuild 是什么?
- 大数相加
- 两数之和
- 无重复最长子串的长度
- 你为什么从上一家公司离职?
- 你的缺点是什么?
- 你的薪资要求是多少?
- 何时可以到岗?
- 你对加班的看法?
- 你遇到最难的 bug 是什么?