前端面试题集

2021/07/29

# 如何进行对象复制?算法

# 如何去除一个给定数组中的重复元素?算法

# 常用的查找算法有哪些?算法

# 常用的排序算法有哪些?算法

# React Router 的实现原理?React

# 在 React 中组件间如何通信?React

# 聊聊 React 组件的生命周期方法React

# Vue Router 的实现原理?Vue

# 在 Vue 中组件间如何通信?Vue

# 聊聊 Vue 组件的生命周期钩子Vue

# TypeScript 是如何进行类型推断的?TS

# 如何防范「跨站请求伪造(CSRF)」攻击?安全

# 如何进行大文件上传?JS

# 什么是「三次握手」和「四次挥手」?TCP

# 「前后端分离」是什么?如何实施?工程

# 如何进行性能优化?优化

# 如何进行首屏优化?优化

# 前端模块化方案有哪些?有何区别?JS

# 「Flux」与「Redux」有什么区别?JS

# 什么是「Fork-Join 模型」?如何实现?设计模式

# 常见的设计模式有哪些?设计模式

# DOM 事件的相关机制是怎样的?浏览器

# 离线存储方案有哪些?浏览器

# 浏览器是如何进行缓存的?浏览器

# JS 代码是如何执行的?JS

# 如何进行「跨域」?浏览器

# 什么是「事件循环」?JS

# 「MV*」模式之间有何区别?架构

# 浏览器内存增长的影响因素是什么?性能

# 浏览器的渲染流程是怎样的?浏览器

# 高清屏 1px 边框问题如何解决?CSS

# 如何实现支持多设备的 web 页面?浏览器

HTML, CSS, JavaScript

# 如何进行异步编程?JS

# .call()、.apply() 和 .bind() 三者之间有何异同点?JS

# 箭头函数有什么特点?JS

# 如何判断一个属性属不属于某个对象?JS

# 在 JS 中实现继承的方式有哪些?JS

# 什么是「原型链」?JS

# JS 的数据类型有哪些?如何判断一个变量的类型?JS

# 什么是「元编程」?编程范式

# 「面向对象编程」与「函数式编程」各自的优缺点是什么?编程范式

# 「命令式编程」与「声明式编程」的区别是?编程范式

# 聊聊对「中间件」的理解?JS

# 说说「saga」和「thunk」分别是什么?JS

# 聊聊 CSS 中的「层叠」与「继承」CSS

# 「格式化上下文」的定义及其影响因素是什么?CSS

# 讲讲「定位」与「浮动」?CSS

# 「盒模型」是什么?CSS

# script 标签的 defer 和 async 属性有什么区别?HTML

# 怎样进行 SEO?HTML

# 如何编写有语义的页面?HTML

# 在 CSS 中如何实现绝对居中?CSS

# 「回流」与「重绘」有何区别?性能

DOM

# 谈谈你对「闭包」的理解 JS

# 聊聊你对「单页面应用」的理解 JS

# 说说 Vue 中数据绑定的特点及实现方式 Vue

# 如何防范「跨站脚本(XSS)」攻击?安全

上次更新: 2021/8/7 上午3:33:06