深浅色
前端高频题单
来源:
febobo/web-interview(未声明)共 235 篇 完整答案在6.interviews/参考/web-interview/docs/,按目录分类,每个 md 的标题就是题目。
JS 基础(35 篇)
- == 和 ===区别,分别在什么情况使用
- ajax原理是什么?如何实现?
- 数组的常用方法有哪些?
- bind、call、apply 区别?如何实现一个bind?
- 说说你对BOM的理解,常见的BOM对象你了解哪些?
- Javascript本地存储的方式有哪些?区别及应用场景?
- 说说你对闭包的理解?闭包使用场景
- JavaScript中执行上下文和执行栈是什么?
- 大文件上传如何做断点续传?
- 深拷贝浅拷贝的区别?如何实现一个深拷贝?
- 说说JavaScript中的数据类型?存储上的差别?
- 什么是防抖和节流?有什么区别?如何实现?
- DOM常见的操作有哪些?
- 解释下什么是事件代理?应用场景?
- 说说你对事件循环的理解
- 说说JavaScript中的事件模型
- Javascript中如何实现函数缓存?函数缓存有哪些应用场景?
- 说说你对函数式编程的理解?优缺点?
- Javascript如何实现继承?
- 说说你了解的js数据结构?
- 说说 Javascript 数字精度丢失的问题,如何解决?
- 说说 JavaScript 中内存泄漏的几种情况?
- 说说new操作符具体干了什么?
- JavaScript原型,原型链 ? 有什么特点?
- 如何实现上拉加载,下拉刷新?
- 说说你对正则表达式的理解?应用场景?
- 说说你对作用域链的理解
- web常见的攻击方式有哪些?如何防御?
- 什么是单点登录?如何实现?
- JavaScript字符串的常用方法有哪些?
- 举例说明你对尾递归的理解,有哪些应用场景
- 谈谈this对象的理解
- 谈谈 JavaScript 中的类型转换机制
- typeof 与 instanceof 区别
- 如何判断一个元素是否在可视区域中?
ES6+(10 篇)
- ES6中数组新增了哪些扩展?
- 你是怎么理解ES6中 Decorator 的?使用场景?
- 对象新增了哪些扩展?
- 你是怎么理解ES6中 Generator的?使用场景?
- 你是怎么理解ES6中Module的?使用场景?
- 对象新增了哪些扩展?
- 你是怎么理解ES6中 Promise的?使用场景?
- 你是怎么理解ES6中Proxy的?使用场景?
- 你是怎么理解ES6新增Set、Map两种数据结构的?
- 说说var、let、const之间的区别
TypeScript(12 篇)
- 说说你对 TypeScript 中类的理解?应用场景?
- 说说 typescript 的数据类型有哪些?
- 说说你对 TypeScript 装饰器的理解?应用场景?
- 说说你对 TypeScript 中枚举类型的理解?应用场景?
- 说说你对 TypeScript 中函数的理解?与 JavaScript 函数的区别?
- 说说你对 TypeScript 中泛型的理解?应用场景?
- 说说你对 TypeScript 中高级类型的理解?有哪些?
- 说说你对 TypeScript 中接口的理解?应用场景?
- 说说对 TypeScript 中命名空间与模块的理解?区别?
- 说说如何在 React 项目中应用 TypeScript?
- 说说你对 TypeScript 的理解?与 JavaScript 的区别?
- 说说如何在Vue项目中应用TypeScript?
React(33 篇)
- 在react中组件间过渡动画如何实现?
- React事件绑定的方式有哪些?区别?
- React构建组件的方式有哪些?区别?
- 说说你在React项目是如何捕获错误的?
- 说说对React中类组件和函数组件的理解?有什么区别?
- React中组件之间如何通信?
- 说说对受控组件和非受控组件的理解?应用场景?
- 说说React diff的原理是什么?
- 说说对Fiber架构的理解?解决了什么问题?
- 说说对高阶组件的理解?应用场景?
- 你在React项目中是如何使用Redux的? 项目结构是如何划分的?
- 说说你对immutable的理解?如何应用在react项目中?
- 说说react中引入css的方式有哪几种?区别?
- 说说 React 性能优化的手段有哪些?
- 说说你是如何提高组件的渲染效率的?在React中如何避免不必要的render?
- 说说React Jsx转换成真实DOM过程?
- React中的key有什么作用?
- 说说 React 生命周期有哪些不同阶段?每个阶段对应的方法是?
- 说说对React Hooks的理解?解决了什么问题?
- 说说对React refs 的理解?应用场景?
- 说说React Router有几种模式?实现原理?
- 说说你对React Router的理解?常用的Router组件有哪些?
- 说说对 React 的理解?有哪些特性?
- 说说 Real DOM 和 Virtual DOM 的区别?优缺点?
- 说说对Redux中间件的理解?常用的中间件有哪些?实现原理?
- 说说你对Redux的理解?其工作原理?
- 说说React render方法的原理?在什么时候会被触发?
- 说说React服务端渲染怎么做?原理是什么?
- 说说 React中的setState执行机制
- state 和 props 有什么区别?
- 说说你在使用React 过程中遇到的常见问题?如何解决?
- super() 和 super(props) 有什么区别?
- 说说React的事件机制?
Vue 2(32 篇)
- vue项目本地开发完成后部署到服务器后报404是什么原因呢?
- Vue项目中有封装过axios吗?主要是封装哪方面的?
- 你了解axios的原理吗?有看过它的源码吗?
- 双向数据绑定是什么
- Vue组件之间的通信方式都有哪些?
- Vue中组件和插件有什么区别?
- Vue项目中你是如何解决跨域的呢?
- 动态给vue的data添加一个新的属性时会发生什么?怎样解决?
- 为什么data属性是一个函数而不是一个对象?
- 你了解vue的diff算法吗?说说看
- 你有写过自定义指令吗?自定义指令的应用场景有哪些?
- 你是怎么处理vue项目中的错误的?
- Vue中的过滤器了解吗?过滤器的应用场景有哪些?
- SPA首屏加载速度慢的怎么解决?
- v-if和v-for的优先级是什么?
- 说说你对keep-alive的理解是什么?
- 你知道vue中key的原理吗?说说你对它的理解
- 请描述下你对vue生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?
- 说说你对vue的mixin的理解,有什么应用场景?
- Vue常用的修饰符有哪些有什么应用场景
- Vue实例挂载的过程
- Vue中的$nextTick有什么作用?
- Vue.observable你有了解过吗?说说看
- vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
- v-show和v-if有什么区别?使用场景分别是什么?
- 说说你对slot的理解?slot使用场景有哪些?
- 你对SPA单页面的理解,它的优缺点分别是什么?如何实现SPA应用呢
- SSR解决了什么问题?有做过SSR吗?你是怎么做的?
- 说下你的vue项目的目录结构,如果是大型项目你该怎么划分结构和划分组件呢?
- 什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路
- 有使用过vue吗?说说你对vue的理解
- vue3有了解过吗?能说说跟vue2的区别吗?
Vue 3(6 篇)
- Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?
- Vue3.0的设计目标是什么?做了哪些优化
- 用Vue3.0 写过组件吗?如果想实现一个 Modal你会怎么设计?
- Vue3.0性能提升主要是通过哪几方面体现的?
- Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?
- 说说Vue 3.0中Treeshaking特性?举例说明一下?
CSS(20 篇)
- css3动画有哪些?
- 谈谈你对BFC的理解?
- 说说你对盒子模型的理解?
- 元素水平垂直居中的方法有哪些?如果元素不定宽高呢?
- 如何实现两栏布局,右侧自适应?三栏布局中间自适应呢?
- 如果要做优化,CSS提高性能的方法有哪些?
- CSS3新增了哪些新特性?
- 说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?
- 说说em/px/rem/vh/vw区别?
- 说说flexbox(弹性盒布局模型),以及适用场景?
- 介绍一下grid网格布局
- css中,有哪些方式可以隐藏页面元素?区别?
- 怎么理解回流跟重绘?什么场景下会触发?
- 让Chrome支持小于12px 的文字方式有哪些?区别?
- 什么是响应式设计?响应式设计的基本原理是什么?如何做?
- 说说对Css预编语言的理解?有哪些区别?
- css选择器有哪些?优先级?哪些属性可以继承?
- 如何实现单行/多行文本溢出的省略样式?
- CSS如何画一个三角形?原理是什么?
- 如何使用css完成视差滚动效果?
HTTP / 网络(14 篇)
- 说说 HTTP1.0/1.1/2.0 的区别?
- 说说地址栏输入 URL 敲下回车后发生了什么?
- 如何理解CDN?说说实现原理?
- DNS协议 是什么?说说DNS 完整的查询过程?
- 说一下 GET 和 POST 的区别?
- 说说TCP为什么需要三次握手和四次挥手?
- 说说 HTTP 常见的请求头有哪些? 作用?
- 什么是HTTP? HTTP 和 HTTPS 的区别?
- 为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?
- 如何理解OSI七层模型?
- 说说HTTP 常见的状态码有哪些,适用场景?
- 如何理解TCP/IP协议?
- 如何理解UDP 和 TCP? 区别? 应用场景?
- 说说对WebSocket的理解?应用场景?
Node.js(14 篇)
- 说说对 Node 中的 Buffer 的理解?应用场景?
- 说说对Nodejs中的事件循环机制理解?
- 说说Node中的EventEmitter? 如何实现一个EventEmitter?
- 如何实现文件上传?说说你的思路
- 说说对 Node 中的 fs模块的理解? 有哪些常用方法
- 说说 Node. js 有哪些全局对象?
- 如何实现jwt鉴权机制?说说你的思路
- 说说对中间件概念的理解,如何封装 node 中间件?
- 说说你对Node.js 的理解?优缺点?应用场景?
- 如果让你来设计一个分页功能, 你会怎么设计? 前后端如何交互?
- Node性能如何进行监控以及优化?
- 说说对 Node 中的 process 的理解?有哪些常用方法?
- 说说 Node 文件查找的优先级以及 Require 方法的文件查找策略?
- 说说对 Node 中的 Stream 的理解?应用场景?
工程化 / 构建(10 篇)
- 说说webpack的构建流程?
- 说说webpack的热更新是如何做到的?原理是什么?
- 如何提高webpack的构建速度?
- 说说Loader和Plugin的区别?编写Loader,Plugin的思路?
- 说说webpack中常见的Loader?解决了什么问题?
- 说说如何借助webpack来优化前端性能?
- 说说webpack中常见的Plugin?解决了什么问题?
- 说说webpack proxy工作原理?为什么能解决跨域?
- 与webpack类似的工具还有哪些?区别?
- 说说你对webpack的理解?解决了什么问题?
算法与数据结构(18 篇)
- 说说你对算法的理解?应用场景?
- 说说你对二分查找的理解?如何实现?应用场景?
- 说说你对冒泡排序的理解?如何实现?应用场景?
- 说说你对分而治之、动态规划的理解?区别?
- 说说你对贪心算法、回溯算法的理解?应用场景?
- 说说你对图的理解?相关操作有哪些?
- 说说你对堆的理解?如何实现?应用场景?
- 说说你对插入排序的理解?如何实现?应用场景?
- 说说你对链表的理解?常见的操作有哪些?
- 说说你对归并排序的理解?如何实现?应用场景?
- 说说你对快速排序的理解?如何实现?应用场景?
- 说说你对选择排序的理解?如何实现?应用场景?
- 说说你对集合的理解?常见的操作有哪些?
- 说说常见的排序算法有哪些?区别?
- 说说你对栈、队列的理解?应用场景?
- 说说你对数据结构的理解?有哪些?区别?
- 说说你对算法中时间复杂度,空间复杂度的理解?如何计算?
- 说说你对树的理解?相关的操作有哪些?
Git(10 篇)
- 说说Git常用的命令有哪些?
- 说说 git 发生冲突的场景?如何解决?
- 说说Git中 fork, clone,branch这三个概念,有什么区别?
- 说说对git pull 和 git fetch 的理解?有什么区别?
- 说说你对git rebase 和 git merge的理解?区别?
- 说说你对git reset 和 git revert 的理解?区别?
- 说说你对git stash 的理解?应用场景?
- 说说你对Git的理解?
- 说说Git 中 HEAD、工作树和索引之间的区别?
- 说说你对版本管理的理解?常用的版本管理工具有哪些?
Linux(7 篇)
- 说说 linux系统下 文件操作常用的命令有哪些?
- 说说你对 linux 用户管理的理解?相关的命令有哪些?
- 说说你对操作系统的理解?核心概念有哪些?
- 说说你对输入输出重定向和管道的理解?应用场景?
- 说说你对 shell 的理解?常见的命令?
- 说说什么是进程?什么是线程?区别?
- 说说 linux 系统下 文本编辑常用的命令有哪些?
小程序(8 篇)
- 说说你对微信小程序的理解?优缺点?
- 说说微信小程序的生命周期函数有哪些?
- 说说微信小程序的登录流程?
- 说说微信小程序中路由跳转的方式有哪些?区别?
- 说说提高微信小程序的应用速度的手段有哪些?
- 说说微信小程序的发布流程?
- 说说微信小程序的支付流程?
- WebView_jscore
设计模式(6 篇)
- 说说对设计模式的理解?常见的设计模式有哪些?
- 说说你对工厂模式的理解?应用场景?
- 说说你对发布订阅、观察者模式的理解?区别?
- 说说你对代理模式的理解?应用场景?
- 说说你对单例模式的理解?如何实现?
- 说说你对策略模式的理解?应用场景?