面试题汇总

Javascript与CSS

原型、原型链?
constructor、__proto__和prototype
实现继承的方式?
原型链能够实现所谓的继承的本质原因是什么?
说一下Javascript的执行流程?
执行上下文和执行栈?
说一下 let、const 的实现?
如何判断数据类型?
==的逻辑是什么?
new Object()和Object.create()的区别?
“一切皆对象”怎么理解?number也是对象吗?字符串也是对象么?
作用域、作用域链?
作用域的本质,闭包和作用域的关系?
对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景?
this的指向?
箭头函数是用来解决什么问题?
普通函数和箭头函数的区别?
Symbol和bigInt使用场景
使用Symbol函数都有哪些要注意的点?
如何判断一个对象是数组?
如何实现深拷贝?
JSON.stringify方法处理深克隆会有什么问题?
递归实现深克隆会有什么问题?如何解决?
lodash是怎么实现深克隆的
如何克隆一个function?需要考虑什么问题?
说一说事件循环?Node与浏览器事件循环的差异?
说一说 promise?
async/await 和 Promise 的关系?
setTimeout 设定的时间,函数能准确按时执行吗?setTimeout 怎么能做到准时?
盒子模型
BFC
居中
Flex
雪碧图的实现原理及优缺点?
postCss、Sass、less的异同?
CSS模块化方案、如何配置按需加载、如何防止CSS阻塞渲染?

浏览器与Node

script 标签中 defer 和 async 的区别?
如果要检测自己本身是否在iframe下,怎么检测?
多窗口通信,跨页面通信有哪些实现方式
进程和线程的区别
浏览器渲染原理
自适应与响应式
重绘与重排
垃圾回收机制
标记清除和引用计数区别?
内存泄漏
跨域的原因及解决方案?
表单可以跨域吗?
localStorage、sessionStorage、cookie区别?
如何实现移动端 1px 边框?
rem和vw方案的异同?
从URL输入到页面展示,发生了什么?
在Chrome中如何支持小于12px文字?

React与Vue

说一下虚拟DOM?
虚拟DOM有什么好的地方? 框架为什么要设计虚拟DOM?
说一下React类组件和函数组件的区别?
React 16+和React15的区别?
对函数式编程的理解?
对高阶组件(HOC)的理解?
React key的作用?
useState的原理?
useCallback和useMemo的区别?
useEffect和useLayoutEffect的区别?
useState和useRef的区别?
useEffect 依赖为空数组与 componentDidMount 区别?
为什么React useState要使用数组而不是对象? 
React Hooks 的 useState 相对于有状态组件state区别是什么?
能介绍一下 Hook 吗?Hook原理?
为什么不能在条件语句中写Hook?
研究过 React 的运行时吗?
有了解过React的fiber?
能简单介绍一下React执行过程吗?
说一下React的事件机制?16和17有什么区别?
如何解析JSX?
React路由的实现?
React的优化方法?
Redux和React-Redux的实现原理?
Vue数据绑定原理?
Vue $set原理?
new Vue()发生了什么?
说一下Vue组件的data为什么是一个函数而不是一个对象?
v-model的实现以及它的实现原理吗?
nextTick的实现原理?
vnode的理解,compiler和patch的过程?
keep-alive的实现原理?
Vuex实现原理?
vue-router实现原理?
做过哪些Vue性能优化?
你知道Vue3有哪些新特性吗?它们会带来什么影响?
实现双向绑定 Proxy 与 Object.defineProperty 相比优劣如何?
Vue和React的对比?
Vuex 和 Redux 之间的区别?
说一下SPA单页面有什么优缺点?

Webpack与Babel

Webpack原理?
Webpack tree-shaking原理?
Webpack提高构建速度的方式?
Webpack动态加载的原理?
Webpack热更新原理?
如何对bundle体积进行监控和分析?
文件监听原理?
了解 webpack-dev-server 的 HMR 实现原理吗?
source-map是什么?
loader输入什么产出什么?
在实际工程中,配置文件上百行乃是常事,如何保证各个loader按照预想方式工作?
如何优化 Webpack 的构建速度?
代码分割的原理及意义?
写过loader或者plugin吗?
loader和plugin的区别?
Babel原理?
怎么写Babel 插件?
讲一讲你写过的Babel插件?
AST 的应用?
知道怎么转化成AST的吗?
如何解析一个html文本?

网络与安全

说一下什么是HTTP协议无状态?怎么解决HTTP协议无状态?
HTTP特性及状态码?
HTTP和HTTPS的不同?
HTTPS的工作流程?
HTTPS的加密原理,如何开启HTTPS,如何劫持HTTPS请求
说一下HTTP的缓存策略,有什么区别,分别解决了什么问题?
HTTP2.0的特点?
HTTP1.0和HTTP2.0的区别?
GET和POST的区别?何时使用POST?
Get请求传参长度存在限制,是HTTP协议限制的吗?
TCP和UDP的区别?什么时候用TCP,什么时候适合UDP?
TCP的三次握手和四次挥手?
解释一下为什么要有三次握手和四次挥手?
HTTP3.0为什么要用UDP?
HTTP 与 TCP 的关系?
TCP 可以建立多个连接吗?
DNS解析流程?
CDN作用与原理?
CDN应用场景?CDN缓存失效怎么办?
Websocket协议的底层实现原理,与Http的区别?
了解 WebSocket 吗?WebSocket 是如何进行握手的?
说一下你了解的Websocket鉴权方案?  
Websocket和Ajax的区别?
jsonp的实现原理?
Axios的实现原理?
XSS原理?如何防范?
CSRF原理?如何防范?
中间人攻击的原理?如何防范?

工程化与项目

说一下你的项目有哪些复杂的点,以及怎么解决的?
你们的业务组件库有多少个,是什么样的组件?
权限组件是怎么设计的?
项目里如何做的性能优化?
如何处理一个重大事故 bug?
如果让你将一些错误信息都收集,你怎么做?
前端错误如何捕获,promise的错误是如何捕获的?
node如何做错误监控?如何生成日志?日志等级如何划分?
虚拟 dom 有什么好的地方? 框架为什么要设计虚拟 dom?
webpack 的缺点,让你设计一个新的构建打包工具,你会怎么设计?
在线文档编辑,如何处理两人的冲突,如何展示,考虑各种场景?
excel 文档冲突高级处理,文章冲突呢?是上个问题的深化?
那些操作会造成内存泄漏?
如何优化网页加载速度?
React 项目中有哪些细节可以优化?实际开发中都做过哪些性能优化?
前端性能指标有哪些,如何做采集?
虚拟列表是什么?说一下它的实现原理?
posted @ 2022-03-16 21:45  mingL  阅读(94)  评论(0编辑  收藏  举报