仅题目清单,用于快速自查与面试准备。
一、TypeScript
- TypeScript 除了 interface 还用什么?
- 了解继承吗?(TS / JS)
- TS 了解吗?讲一讲在项目里的具体使用(类型声明、泛型、类型守卫、工具类型)
二、JavaScript / ES6
- ES6 常用特性 / 新特性
- JavaScript 数据类型有哪些?基本类型和引用类型怎么区分
- Promise
- async/await 跟 Promise 区别
- 讲一下防抖和节流
- 防抖和节流的区别、实现思路与常见应用场景
- 数组去重有哪些方式?各自复杂度和适用场景是什么
- 你对es6了解多少
- var let const区别
- map,set,array
- js的各种作用域和作用域链
- 讲一下作用域、作用域链和词法作用域
- 暂时性死区
- 什么是变量提升?
var、函数声明、let/const的提升行为有什么区别 - 函数定义的方式
- 事件绑定的方式
- for (var i = 0; i < 3; i++) { setTimeout(() => console.log(i), 0) } 这个代码输出什么?如何修改正确输出?为什么?
- 你对闭包的理解
- 闭包是什么?为什么函数可以访问外部变量
- 闭包有哪些具体应用?为什么防抖和节流本质上都用到了闭包
- 一个等于号,两个等于号,三个等于号
- 两个等号如何进行类型转换
- 事件冒泡是什么,怎么解决
- 除了标签a可以实现跳转,js是怎么实现跳转的
- 你用没用过promise,他是干什么的
- 前后端数据通信
- 事件循环
- this指向问题
- 箭头函数
- 单引号,双引号,反引号是干什么的
- 模板字符串 + 解构 + 箭头函数 = 现代前端最常见三件套
- 闭包的作用是什么?有哪些常见问题(内存泄漏、变量引用)?
- 深拷贝和浅拷贝的区别是什么
- 深拷贝有哪些实现方式?各自边界和适用场景是什么
- sessionStorage 和 localStorage 的区别
- sessionStorage 和 cookie 的区别
- cookie、localStorage、sessionStorage 三者的区别与选型
- 前端如何实现“记住我登录”(自动登录)?token 和过期策略怎么设计
- 前端如何处理二进制文件(Blob / ArrayBuffer / FileReader)
- 前端向后端传图片的完整步骤是什么(选择文件、预处理、上传、服务端存储)
三、HTML
- 常用的html标签有哪些
- html 5中画一个三角形
- js可以放到header里面吗为啥不行,css为啥放到header里面在html加载前面也可以
- 行内元素和块级元素的区别是什么?如何互相转换
- 行内元素、块级元素、行内块元素的区别与典型使用场景
四、CSS
- CSS 至少两种水平垂直居中的方式
- CSS 水平居中至少两种方式(块级元素、行内元素场景)
- 水平垂直居中的几种方式有哪些?各自适用场景是什么
- 盒子模型是什么?标准盒模型和 IE 盒模型有什么区别
- Flex 布局
- 弹性盒子(Flex)核心概念是什么?常用属性有哪些
- 实现水平垂直居中的方式有哪些
- CSS 选择器有哪些?优先级怎么计算
- 什么是外边距塌陷?常见解决方式有哪些
- 伪类和伪元素有什么区别(:hover 和 ::before 的区别)
- flex:1的意思是什么
- 文本溢出,显示省略号
- css是怎么布局的
- position的类型
- transfrom,calc
- span如何设置宽高,span里面能放p标签不
- z-index
五、Vue
- Vue 底层实现原理
- Vue 2 和 Vue 3 的区别
- Vue 和 React 的主要区别是什么?各自适合什么场景
- Vue 常用指令有哪些?分别用于什么场景
- Vue2 里数组和对象监听不到的问题怎么处理?
- 区分一下const,let,var这几个关键字
- 你是怎么区分后端的数据类型的?从前端的角度回答
- 前后端是怎么连接的
- 展开运算符
- vue3的生命周期
- vuex是什么
- 父子组件通信
- Element Plus 如果想修改组件样式,你会怎么做
六、React
- React 类组件和函数组件
- React 离屏渲染是什么?通常解决什么问题
七、数据库
- MongoDB 了解吗?
- MongoDB 和 MySQL 区别
八、工程化与 Git
- git rebase 和 git merge 的区别
- 项目性能优化一般怎么做(指标、定位、验证、回归)
- 你在项目里做过哪些性能优化?如何用数据证明优化有效
九、网络与浏览器
- URL 输入浏览器发生什么
- SSE 和 WebSocket 的区别,各自适用场景
- HTTP/1.0 可以使用 fetch 吗,为什么
- HTTP/1.1 和 HTTP/2 的主要区别
- HTTP/1.0 和 HTTP/1.1 有哪些区别
- GET 和 POST 的区别(幂等性、缓存、参数位置、安全性、长度限制)
- POST 和 PUT 的区别(创建与更新、幂等性)
- 常见的 HTTP 请求头和响应头有哪些
- 常见 Content-Type 有哪些(
application/json、multipart/form-data等) - HTTP 状态码 304 的含义是什么?在缓存协商中起什么作用
- 常见 HTTP 请求方法有哪些,各自适用场景是什么
- OPTIONS 请求是什么?为什么在 CORS 预检里会出现
- HTTP 和 HTTPS 的区别(加密、证书、端口、性能)
- GET 方法 URL 长度限制的原因是什么
- 跨域是什么,常见解决方案有哪些
- 浏览器建立连接的过程是什么
- TCP 建立连接的具体步骤是什么(三次握手)
- TCP 为什么是三次握手?四次挥手分别解决了什么问题
- WebSocket 开销为什么会大,主要开销点在哪里
十、计算机基础
- 好的,你学习过数据结构和计算机组成原理,计算机网络和操作系统,你认为这些课程和前端有什么关系呢
十一、服务端与中间层
- 为什么要用 BFF 层?
- 请求拦截器和响应拦截器分别做什么?
- 大文件上传流程