全部题目

共 154 道前端面试题,按分类和难度筛选

Array Duplicate Remove
Array Intersection
Bubble Sort
Dfs Bfs
Flatten Array
Linked List
List To Tree
Move Zeroes
Palindrome Numbers
Rotate Array
Two Sum
简单算法
根据以下要求,写一个数组去重函数
数组去重Set
简单算法
给定两个数组,写一个方法来计算它们的交集
数组交集
简单算法
冒泡排序如何实现,时间复杂度是多少,还可以如何改进?
冒泡排序算法
中等算法
介绍下深度优先遍历和广度优先遍历,如何实现?
DFSBFS遍历
中等算法
使用迭代的方式实现 flatten 函数
数组扁平化迭代
中等算法
写一个单向链数据结构的 js 实现并标注复杂度
链表数据结构
中等算法
实现 convert 方法,把原始 list 转换成树形结构,要求尽可能降低时间复杂度
转换
简单算法
周一算法题之「移动零」
移动零双指针
简单算法
打印出 1 - 10000 之间的所有对称数
回文对称数
中等算法
算法题「旋转数组」
旋转数组数组
简单算法
周一算法题之「两数之和」
两数之和哈希表
Bfc
Bfc Ifc Gfc Ffc
Center Div
Display None Visibility Hidden Opacity
Text Ellipsis
中等CSS
介绍下 BFC 及其应用
BFC布局
中等CSS
介绍下 BFC、IFC、GFC 和 FFC
BFCIFCGFC
简单CSS
怎么让一个 div 水平垂直居中
居中CSSflex
简单CSS
分析比较 opacity: 0、visibility: hidden、display: none 优劣和适用场景
opacityvisibilitydisplay
简单CSS
如何用 css 或 js 实现多行文本溢出省略效果
文本溢出省略号CSS
Module Evolution
Npm Install Mechanism
Redux Vuex Design
Webpack Hmr
简单工程化
介绍模块化发展历程
模块化CommonJSES Module
中等工程化
介绍下 npm 模块安装机制,为什么输入 npm install 就可以自动安装对应的模块?
npm模块安装
中等工程化
聊聊 Redux 和 Vuex 的设计思想
ReduxVuex状态管理
困难工程化
介绍下 webpack 热更新原理,是如何做到在不刷新浏览器的前提下更新页面的
webpackHMR热更新
Array Check Methods
Arrow Function Vs Regular
Async Await Sync
Call Apply Difference
Const Let Global
Debounce Throttle
Deep Clone Symbol
Dot Vs Bracket Performance
Es5 Es6 Extend
Event Loop Browser Node
For Vs Foreach
Implement New
Keyword Highlight
Lazy Man
Map Parseint
Observer Pubsub
Polyfill Promise All
Promise All Implement
Promise Finally
Promise Race
Promise Sync Or Async
Proxy Data Binding
Set Map Weakset Weakmap
Settimeout Promise Async
Settimeout Setinterval
Sleep Function
Sort Numeric
Url Validation
Var Let Const
简单JavaScript
有以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣
Array类型判断
简单JavaScript
箭头函数与普通函数的区别是什么?构造函数可以使用 new 生成实例,那么箭头函数可以吗?为什么?
箭头函数thisnew
困难JavaScript
Async/Await 如何通过同步的方式实现异步
async/await异步
简单JavaScript
call 和 apply 的区别是什么,哪个性能更好一些
callapplythis
中等JavaScript
全局作用域中,用 const 和 let 声明的变量不在 window 上,那到底在哪里?如何去获取?
constlet作用域
中等JavaScript
什么是防抖和节流?有什么区别?如何实现?
防抖节流性能优化
困难JavaScript
模拟实现一个深拷贝,并考虑对象相互引用以及 Symbol 拷贝的情况
深拷贝Symbol循环引用
简单JavaScript
a.b.c.d 和 a['b']['c']['d'],哪个性能更高?
属性访问性能
困难JavaScript
ES5/ES6 的继承除了写法以外还有什么区别?
继承ES5ES6
困难JavaScript
说说浏览器和 Node 事件循环的区别
事件循环Event Loop
中等JavaScript
为什么普通 for 循环的性能远远高于 forEach 的性能
for循环forEach性能
中等JavaScript
如何实现一个 new
new原型链
简单JavaScript
实现模糊搜索结果的关键词高亮显示
高亮搜索
困难JavaScript
要求设计 LazyMan 类,实现以下功能
LazyMan链式调用设计
简单JavaScript
['1', '2', '3'].map(parseInt) 输出什么?
mapparseInt
中等JavaScript
介绍下观察者模式和订阅-发布模式的区别,各自适用于什么场景
设计模式观察者发布订阅
中等JavaScript
介绍下 Promise.all 使用、原理实现及错误处理
Promise.all并发错误处理
中等JavaScript
介绍下 Promise.all 使用、原理实现及错误处理
Promise.all并发
中等JavaScript
模拟实现一个 Promise.finally
Promisefinally实现
中等JavaScript
设计并实现 Promise.race()
Promise.race实现
中等JavaScript
Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?
Promise事件循环
中等JavaScript
使用 JavaScript Proxy 实现简单的数据绑定
Proxy数据绑定响应式
中等JavaScript
介绍下 Set、Map、WeakSet 和 WeakMap 的区别?
SetMapWeakSet
中等JavaScript
setTimeout、Promise、Async/Await 的区别
异步Promiseasync/await
简单JavaScript
用 setTimeout 实现 setInterval,阐述实现的效果与 setInterval 的差异
setTimeoutsetInterval实现
简单JavaScript
实现一个 sleep 函数
sleep异步Promise
简单JavaScript
使用 sort() 对数组 [3, 15, 8, 29, 102, 22] 进行排序,输出结果
sort排序
简单JavaScript
在输入框中如何判断输入的是一个正确的网址
URL正则验证
中等JavaScript
var、let 和 const 区别的实现原理是什么
varletconst
Api Rate Limit
Browser Cache Rules
Cookie Token Security
Gif Beacon
Http Versions
Http2 Multiplexing
Https Cert Verify
Https Handshake
Https Mitm
Seo 301 302
Tcp Handshake
Token Encryption
中等网络
接口如何防刷
防刷限流安全
中等网络
浏览器缓存读取规则
缓存强缓存协商缓存
中等网络
cookie 和 token 都存放在 header 中,为什么不会劫持 token?
cookietoken安全
简单网络
为什么通常在发送数据埋点请求的时候使用的是 1x1 像素的透明 gif 图片?
埋点GIF性能
中等网络
介绍下 http1.0、1.1、2.0 协议的区别?
HTTPHTTP1.0HTTP1.1
中等网络
简单讲解一下 http2 的多路复用
HTTP2多路复用
困难网络
HTTPS 握手过程中,客户端如何验证证书的合法性
HTTPS证书验证CA
困难网络
介绍 HTTPS 握手过程
HTTPSSSL/TLS握手
中等网络
介绍下 HTTPS 中间人攻击
HTTPSMITM中间人攻击
简单网络
永久性重定向(301)和临时性重定向(302)对 SEO 有什么影响
301302SEO
中等网络
谈谈你对 TCP 三次握手和四次挥手的理解
TCP三次握手四次挥手
中等网络
介绍下如何实现 token 加密
tokenJWT加密
For Nest Performance
Reflow Repaint
Skeleton Screen
中等性能优化
为什么 for 循环嵌套顺序会影响性能?
for循环嵌套性能
中等性能优化
介绍下重绘和回流(Repaint & Reflow),以及如何进行优化
重绘回流性能优化
中等性能优化
如何实现骨架屏,说说你的思路
骨架屏加载体验
Diff Complexity
Link Vs A
React Setstate Sync Async
Reducer Pure Function
Virtual Dom Performance
困难React
React 和 Vue 的 diff 时间复杂度为什么从 O(n^3) 优化到 O(n)
diffVirtual DOM复杂度
简单React
react-router 里的 <Link> 标签和 <a> 标签有什么区别
React RouterLink
中等React
React 中 setState 什么时候是同步的,什么时候是异步的?
setStateReact
中等React
redux 为什么要把 reducer 设计成纯函数
Reduxreducer纯函数
中等React
Virtual DOM 真的比操作原生 DOM 快吗?谈谈你的想法。
Virtual DOM性能
Defineproperty Flaw
Vue Event Delegation
Vue Large Data
Vue Lifecycle Order
Vue Prop Immutable
Vue Two Way Binding
Vue White Screen
Vuex Mutation Sync
中等Vue.js
Vue 的响应式原理中 Object.defineProperty 有什么缺陷?
Object.defineProperty响应式Proxy
简单Vue.js
vue 在 v-for 时给每项元素绑定事件需要用事件代理吗?为什么?
Vue事件代理v-for
中等Vue.js
vue 渲染大量数据时应该怎么优化?
Vue性能优化大数据
简单Vue.js
Vue 的父组件和子组件生命周期钩子执行顺序是什么
Vue生命周期
简单Vue.js
在 Vue 中,子组件为何不可以修改父组件传递的 Prop
VueProp单向数据流
中等Vue.js
聊聊 Vue 的双向数据绑定,Model 如何改变 View,View 又是如何改变 Model 的
Vue双向绑定响应式
中等Vue.js
vue 如何优化首页的加载速度?vue 首页白屏是什么问题引起的?如何解决呢?
Vue白屏首屏优化
中等Vue.js
为什么 Vuex 的 mutation 和 Redux 的 reducer 中不能做异步操作?
Vuexmutation同步