全部面试题汇总
- 写一个 mySetInterVal(fn, a, b),每次间隔 a,a b,a 2b 的时间,然后写一个 myClear,停止上面的 mySetInterVal
- 合并二维有序数组成一维有序数组,归并排序的思路
- 斐波那契数列
- 字符串出现的不重复最长长度
- 介绍chrome 浏览器的几个版本
- React 项目中有哪些细节可以优化?实际开发中都做过哪些性能优化
- react 最新版本解决了什么问题 加了哪些东西
- 说一下 Http 缓存策略,有什么区别,分别解决了什么问题
- 介绍防抖节流原理、区别以及应用,并用JavaScript进行实现
- 前端安全、中间人攻击
- 对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
- css 伪类与伪元素区别
- 有一堆整数,请把他们分成三份,确保每一份和尽量相等(11,42,23,4,5,6 4 5 6 11 23 42 56 78 90)
- 实现 lodash 的_.get
- 实现 add(1)(2)(3)
- 实现链式调用
- React 事件绑定原理
- 类数组和数组的区别,dom 的类数组如何转换成数组
- webpack 做过哪些优化,开发效率方面、打包策略方面等等
- 说一下事件循环机制(node、浏览器)
- 如何封装 node 中间件
- node 中间层怎样做的请求合并转发
- 介绍下 promise 的特性、优缺点,内部是如何实现的,动手实现 Promise
- 实现 Promise.all
- React 组件通信方式
- redux-saga 和 mobx 的比较
- 说一下 react-fiber
- 手写发布订阅
- 手写数组转树
- 手写用 ES6proxy 如何实现 arr[-1] 的访问
- 手写实现 Array.flat()
- react 实现一个全局的 dialog
- [实操题]输入一条 polyline,输出 polyline 的中点
- Umi 和 dva 分别是干嘛用的?为什么会有 umi dva 的出现?使用起来有什么不方便的地方吗?
- React 数据持久化有什么实践吗?
- 使用过 mobox 吗?mobox 和 redux 有什么区别?
- 文件上传如何做断点续传
- 大数计算如何实现
- 请用算法实现,从给定的无序、不重复的数组data中,取出n个数,使其相加和为sum。并给出算法的时间/空间复杂度。(不需要找到所有的解,找到一个解即可)
- 什么是深拷贝,和浅拷贝有什么区别,动手实现一个深拷贝
- 实现一个方法判断 html 中的标签是否闭合
- mysql 和 mongodb 区别
- V8 机制讲解
- 说一下盒子模型,以及标准情况和 IE 下的区别
- 箭头函数和普通函数的区别
- 说下 webpack 的 loader 和 plugin 的区别,都使用过哪些 loader 和 plugin
- Css 如何画出一个扇形,动手实现下
- 介绍下 webpack,并说下 Webpack 的构建流程
- 说下 tree-shaking 的原理
- Webp 格式的图片怎么生成,使用有什么兼容性问题,如何怎么解决
- React 高阶组件 renderprops hooks 有什么区别,为什么要不断迭代
- 说一下 React setState 原理
- 说一下 React diff 算法
- 说一下 React 生命周期,以及都有哪些改变,为什么去掉了那几个旧的生命周期
- React key 是干嘛用的 为什么要加?key 主要是解决哪一类问题的
- Redux 中异步的请求怎么处理
- CDN 是什么?描述下 CDN 原理?为什么要用 CDN?
- PWA 是什么?对 PWA 有什么了解
- 讲一下 webpack 原理, loader 和 plugin,你知道哪些模块化标准,说下 cjs 和 esmodule 的区别
- es5 实现 isInteger
- 单向链表实现队列
- 写出输出结果
- 将给定的数组从顶级分类递归查找子分类,最终构建一个树状数组
- 手写 dom 操作,翻转 li 标签,如何处理更优
- 怎样判断一个对象是否是数组,如何处理类数组对象
- 是否熟悉 Node,主要做过哪些业务,平时用过什么包?
- 是否了解 glob,glob 是如何处理文件的,业界是否还有其它解决方案
- 说一下 Vue 的 keep-alive 是如何实现的,具体缓存的是什么?
- Redux 和 Vuex 有什么区别,说下一它们的共同思想
- 谈一下微信小程序的架构以及为什么要用到双线程
- 随便打开一个网页,用 JavaScript 打印所有以 s 和 h 开头的标签,并计算出标签的种类
- 1000*1000 的画布,上面有飞机、子弹,如何划分区域能够更有效的做碰撞检测,类似划分区域大小与碰撞检测效率的算法,说一下大致的思路
- 移动设备安卓与 iOS 的软键盘弹出的处理方式有什么不同
- iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决
- iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决
- iPhone 里面 Safari 上如果一个输入框 fixed 绝对定位在底部,当软键盘弹出的时候会有什么问题,如何解决
- 给定一个数组,按找到每个元素右侧第一个比它大的数字,没有的话返回-1 规则返回一个数组
- 说一说 promise,有几个状态,通过 catch 捕获到 reject 之后,在 catch 后面还能继续执行 then 方法嘛,如果能执行执行的是第几个回调函数
- var、let、const 的区别
- 说一下 GC
- BFC 是什么?触发 BFC 的条件是什么?有哪些应用场景?
- 说一下浏览器解析 Html 文件的过程
- 说一下什么是重绘重排,哪些操作会造成重绘重排
- 什么情况会出现浏览器分层
- 通过 link 进来的 css 会阻塞页面渲染嘛,Js 会阻塞吗,如果会如何解决?
- 如何实现按需加载
- 讲一下 import 的原理,与 require 有什么不同
- 为什么 useState 要使用数组而不是对象
- 从输入 URL 到页面加载全过程
- 请实现如下的函数
- DNS 解析的具体过程
- 常见的 http 请求头都有哪些,以及它们的作用
- encoding 头都有哪些编码方式
- utf-8 和 asc 码有什么区别
- tcp 和 udp 有什么区别?tcp 怎样确保数据正确性?tcp 头包含什么?tcp 属于那一层?
- 传输层和网络层分别负责什么,端口在什么层标记
- 介绍下 Https,和 http 的区别是什么?https 为什么比 http 安全?如何进行配置?
- 说一下加密握手的过程
- 对称加密和非对称加密的区别和用处
- 是否用过 restful 接口,和其他风格的有什么区别
- 说一下 get、post、put 的区别
- 说一下对面向对象的理解,面向对象有什么好处
- 类设计:使用面相对象设计一个停车场管理系
- 实现输出一个十六进制的随机颜色(#af0128a)
- justify-content:space-between around 有什么区别
- 手写代码实现kuai-shou-front-end=>KuaiShouFrontEnd
- 浏览器都有哪些进程,渲染进程中都有什么线程
- 说说浏览器渲染流程,分层之后在什么时候合成,什么是重排、重绘,怎样避免
- 什么是同源策略?什么是跨域?都有哪些方式会造成跨域?解决跨域都有什么手段?
- 什么是 CORS,CORS 需要前端配置还是后端配置?
- 设计一个 Student 组件,实现输入姓名性别成绩(这三个必填),还有几个不是必填的属性,要设置默认值,点击弹出成绩
- 设计一个函数,奇数次执行的时候打印 1,偶数次执行的时候打印 2
- 实现 Promise.then
- 平时在项目开发中都做过哪些前端性能优化
- 给定起止日期,返回中间的所有月份
- 输入两个字符串,输出他们中间的月份
- 实现一个将 52 张牌随机均等的分给四个人,比如输入 [0,1,2,3....51] ,输出[[1,2,16...],[4,3,6..],[....],[....]]
- 用尽量短的代码实现一个 arrary 的链式操作,将数组中的大于 10 的值进行一个累加
- 简单封装一个异步 fecth,使用 async await 的方式来使用
- 怎么理解 to B 和 to C 的业务
- 如果有一个项目,随着业务的增长越来越大,怎么办,如何来进行一个拆分或者处理
- 请写一个函数,输出出多级嵌套结构的 Object 的所有 key 值
- 使用 Css 实现一个水波纹效果
- position 定位都有什么属性(不仅仅是绝对定位和相对定位/fix 定位)
- 写出打印结果,并解释为什么
- 动手实现一个 repeat 方法
- setTimeout 有什么缺点,和 requestAnimationFrame 有什么区别
- versions 是一个项目的版本号列表,因多人维护,不规则,动手实现一个版本号处理函数
- 怎样用 css 实现一个弹幕的效果,动手实现一下
- 实现一个多并发的请求
- 说一下 Css 预处理器,Less 带来的好处?
- 写出代码执行结果
- 按要求实现一个 sum 函数
- 按要求实现 rightView 函数
- meta 元素都有什么
- Css 选择器都有什么,权重是怎么计算的
- 布局都有什么方式,float 和 position 有什么区别
- Http1 和 Http2 有什么区别,和 http1.1 相比,http2 都有什么特性
- Import 和 CommonJS 在 webpack 打包过程中有什么不同
- 说一下 base64 的编码方式
- 说一下单向数据流有什么好处
- nth-child和nth-of-type 有什么区别
- <img>是什么元素
- flex 布局,如何实现把八个元素分两行摆放
- 改变 this 指向的方式都有哪些?
- 说一下 etag 和 lastmodify 的区别
- 强缓存都有哪些方法来控制
- 协商缓存都有哪些参数
- 说一下module.exports和exports的区别,export和export default的区别
- 说一下 webpack 中 css-loader 和 style-loader 的区别,file-loader 和 url-loader 的区别
- number 为什么会出现精度损失,怎样避免
- 说一下对 React 和 Vue 的理解,它们的异同
- 二叉树序列化反序列化
- 输入一个数字,找到对应的字母
- Given an int n, output Mausoleum Array solutions.
- 实现一个函数将中文数字转成数字
- 节流
- 请求是异步的为什么会造成阻塞
- 脚手架具体都做了哪些事,webpack 具体做了什么配置,怎样优化的打包大小
- 介绍下 Webpack 的整个生命周期
- 如何实现 5 秒自动刷新一次页面(具体都有什么方法 reload 之类的)
- 都了解哪些 ES6、ES7 的新特性,箭头函数可以被 new 吗
- 说一下 JavaScript 继承都有哪些方法
- Css 方式实现一个不知道宽高的 div 居中都有哪几种方法
- 给一个字符串比如'abca',返回第一个不重复的字母
- 已知函数 A,要求构造⼀个函数 B 继承 A
- 数组和对象转换为字符串结果
- 请写出以下代码的打印结果
- 请写出以下代码的打印结果
- 要求⽤不同⽅式对 A 进⾏改造实现 A.name 发⽣变化时⽴即执⾏ A.getName
- 修改以下代码,使得最后⼀⾏代码能够输出数字 0-9(最好能给多种答案)
- 给定⼀个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.
- CDN 有哪些优化静态资源加载速度的机制
- 请给出识别 Email 的正则表达式
- 设计 AutoComplete 组件(又叫搜索组件、自动补全组件等)时,需要考虑什么问题?
- 实现函数接受任意二叉树,求二叉树所有根到叶子路径组成的数字之和
- webpack 离线缓存静态资源如何做用 localStore
- 手动实现一个函数,给定一个数组[1,0,2,3,4,-1,-3],输出任意两个值和为 0 的下标
- 请写出一下代码的打印结果
- Promise 链式调用如何实现
- 说一下对BigInt的理解,在什么场景下会使用
- null 是不是一个对象,如果是,如何判断一个对象是 null,不使用 JavaScript 提供的 api 如何进行判断
- gitlab 分支管理,线上如果发生 bug 怎么解决?
- 说一下对于堆栈的理解
- 介绍排序算法和快排原理
- [] == ![]为什么
- 说一下 React.Component 和 Ract.PureComponent 的区别
- 说一下对 React Hook 的理解,它的实现原理,和生命周期有哪些区别?
- 如何把真实 dom 转变为虚拟 dom,代码实现一下
- 说一下错误监控的实现,错误监控的正确使用方式,日志如何分等级
- 说一下 Vue3 与 Vue2 的对比
- vue 对数组的方法做了重写的操作,如何实现对 vue2 中对数组操作的 push()方法
- 手动实现一个 Promisify 函数
- 说一下 React 有状态组件与无状态组件区别,以及为什么要用,它的优缺点
- 说一下 Nginx 的缓存策略,强缓存与弱缓存的区别,二者的使用场景
- 请写出以下代码执行结果
- 请写出以下代码执行结果
- 请写出以下代码执行结果
- 请写出以下代码执行结果
- 请写出以下代码执行结果
- 请写出以下代码执行结果
- 请写出以下代码执行结果
- 以下 css 最后是什么颜色
- 说一下什么是死锁
- 实现以下代码
- 请实现一个 cacheRequest 方法,保证发出多次同一个 ajax 请求时都能拿到数据,而实际上只发出一次请求
- 实现一个函数柯里化
- 一个人每次只能走一层楼梯或者两层楼梯,问走到第 80 层楼梯一共有多少种方法
- 简述 Vue 的基本原理
- 简述 Vue 的生命周期以及每个阶段做的事
- 说一下 Vue 组件的通信方式都有哪些?(父子组件,兄弟组件,多级嵌套组件等等)
- 说一下 Vuex 的原理以及自己的理解
- Vue v-model 是如何实现的,语法糖实际是什么
- 说一下对 React context 的理解
- 说一下对 React-redux 的理解以及它的原理,主要解决什么问题
- 说一下 Redux 的原理,介绍下整体的一个工作流程
- React 如何避免 renderd 的触发
- 说一下 Vue dom diff 算法
- 说一下对 vnode 的理解,vnode 的引入与直接操作原生 dom 相比,哪一个相率更高,为什么
- 说一下对原型链的理解,画一个经典的原型链图示
- 简述 Grid 布局
- 说一下 ajax/axios/fetch 的区别
- 用 Promise 封装一个 ajax
- 动手实现一个左右固定100px,中间自适应的三列布局?(至少三种)
- 请描述 CSRF、XSS 的基本概念、攻击原理和防御措施?
- 请描述提升页面性能的方式有哪些,如何进行首页加载优化
- 描述 DOM 事件捕获的具体流程
- Http 报文的请求会有几个部分?请写出 HTTP 报文的组成部分
- 301,302,304 的区别
- 请实现$on,$emit
- 实现 bind 方法,不能使用 call、apply、bind
- 手写实现 sleep 函数
- 介绍一下 node 核心模块(主要是 stream)
- 说一下 webpack 与 gulp 的区别(源码角度)
- 请写出原生 js 如何设置元素高度
- 说一下 Vue 的$nextTick 原理
- 说一下 vue-router 的原理
- node 如何做错误监控(运行时与其他)如何生成日志,日志等级
- Node 的适用场景以及优缺点是什么?
- Vue 是如何收集依赖的
- 用原生 js 实现自定义事件
- 换行字符串格式化
- 屏幕占满和未占满的情况下,使 footer 固定在底部,尽量多种方法
- 输入一个日期 返回几秒前、几小时前、几天前、几月前
- 将 153812.7 转化为 153,812.7
- 给定一个数组,形如 [1, 1, 2 , 3, 3, 3, 3, 4, 6, 6],给定一个数 n,例如 3,找出给定的数 n 在数组内出现的次数,要求时间复杂度小于 O(n)
- 说一下 https 获取加密秘钥的过程
- Css 画一个三角形
- 说一下 Vue 单页与多页的区别
- 说一下 Vue 路由实现原理
- 数组有哪些方法 讲讲区别跟使用场景
- localstorage、sessionStorage、indexDB 和 cookie 的区别
- 讲一下函数式编程
- promise 跟 async await 的区别,使用场景
- async、await 如何进行错误捕获
- Css 超出省略怎么写,三行超出省略怎么写
- Css inherit、initial、unset 三者的区别
- 介绍下 Flex 布局,属性都有哪些,都是干啥的
- 点击一个按钮,浏览器会做些什么
- script 的 async 跟 defer 的区别?
- React15/16.x 的区别
- weak-Set、weak-Map 和 Set、Map 区别
- mvvm 模型和 mvc 模型区别
- 如何实现一个 mvvm 模型
- Vue3.0 为什么要用 proxy?是怎么用 proxy 实现数据监听的?
- valueOf 与 toString 的区别
- TCP 三次握手
- koa2 和 express 区别
- 怎么判断是一个空对象
- 请写出下面代码的执行结果
- 请写出下面代码的执行结果
- 现在有随机整数数组,例如[2,11,20,160,3,1...],请挑出数组内,三个随机整数和为 100 的所有数据。
- 请只用数组方法和 Math.random()在一条语句的情况下,实现生成给定位数的随机数组,例如生成 10 位随机数组[1.1,102.1,2,3,8,4,90,123,11,123],数组内数字随机生成。
- 实现一个 setter 方法
- LocalStorage 加密原理
- setTimeout 与 setInterval 区别
- 说一下常见的状态码
- 项目中如何应用数据结构
- 304 页面的原理
- RN、Weex、Dart 的优缺点
- 知道语义化吗?说说你理解的语义化,如果是你,平时会怎么做来保证语义化?说说你了解的 HTML5 语义化标签?
- 闭包的核心是什么
- 响应式布局用到的技术,移动端需要注意什么
- 写出代码输出结果
- 实现一个功能,发送请求 5s 时间后,如果没有数据返回,中断请求,提示错误
- 什么是作用域链
- 介绍事件冒泡、事件代理、事件捕获,以及它们的关系
- for..of 和 for...in 是否可以直接遍历对象,为什么
- 在 map 中和 for 中调用异步函数的区别
- gennerator yield 的作用
- promise 的状态有哪些
- 在 ES6 中有哪些解决异步的方法
- es6 类继承中 super 的作用
- cros 的简单请求和复杂请求的区别
- 统计一组整形数组的最大差值?
- addEventListener 的第三个参数的作用
- 上传文件的 Content_Type 什么,node 如何拿到上传的文件内容(不适用第三方插件)?文件内容是一次行传输过去的么
- 获取 id 为 netease 节点下所有的 checkbox 子元素(不用框架,注意兼容)
- 使用原型链如何实现继承
- 如何获取一个对象的深度
- reduce 函数的功能,如何实现的,动手实现一下
- 说一下 splice 和 slice 的功能用法
- 面向对象的三要素是啥?都是啥意思?
- 函数中的 this 有几种
- 如何同时获取 html 中的 h1,h2,h3,h4,h5,h6 中的内容
- JavaScript 的执行流程
- Promise.resolve(obj),obj 有几种可能
- 写出代码执行结果
- nextTick 是在本次循环执行,还是在下次,setTimeout(() => {}, 0)呢?
- A、B 两个条件组件,如何做到 webpack 只打包条件为 true 的组件,false 的组件不打包
- 说一下对 vue3.0 的了解,vue3.0 为什么要用代理
- 子组件可以直接改变父组件的数据么,说明原因
- webpack 怎么处理内联 css 的
- webpack 如何做异步加载
- 客户端缓存有几种方式?浏览器出现 from disk、from memory 的策略是啥
- 什么是 http?什么是 http2?说下 http 与 http2 的工作流程
- 客户端如何发送 http 请求
- 使用正则去掉 Dom 中的内联样式
- 写一个匹配 ip 地址的正则
- 写一个匹配 Html 标签的正则
- 使用 typescript 的装饰器能否实现函数调用前出现加载动画,调用后关闭,如果能,这个加载动画的控制代码是放在哪种装饰器上呢
- unicode 和 utf8 的关系
- 介绍下 pm2,pm2 依据什么重启服务
- 什么是微服务,微服务跟单体应用的区别是啥,用微服务有啥好处?
- IOC 是啥,应用场景是啥?
- 是否了解 docker,介绍一下
- 写出代码执行的打印结果
- 实现函数
- 使用过的 koa2 中间件,中间价的原理是什么
- koa-body 原理
- 有没有写过中间件,介绍下自己写过的中间件
- 有没有涉及到 Cluster,说一下你的理解
- master 挂了的话 pm2 怎么处理
- Node 如何和 MySQL 进行通信
- 如何配置 React-Router 实现路由切换
- 服务端渲染 SSR
- 介绍 Redux 数据流的流程
- Redux 如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理
- React 路由的动态加载模块
- 多个组件之间如何拆分各自的 state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,这如何思考
- 使用过的 Redux 中间件
- redux 的设计思想
- 移动端适配 1px 的问题
- 居中为什么要使用 transform(为什么不使用 marginLeft/marginTop)
- Webpack 里面的插件时怎么实现的
- dev-server 是怎么跑起来的
- Webpack 抽取公共文件是怎么配置的
- 项目中如何处理安全问题
- 怎么实现 this 对象的深拷贝
- 使用 canvas 绘图时如何组织成通用组件
- 表单可以跨域吗
- 搜索请求如何处理?搜索请求中文如何请求?
- 介绍观察者模式
- 介绍中介者模式
- 观察者和订阅-发布的区别,各自用在哪里
- 通过什么做到并发请求
- http1.1 时如何复用 tcp 连接
- 介绍 service worker
- 介绍 css3 中 position:sticky
- redux 请求中间件如何处理并发
- 介绍浏览器事件流向
- 介绍事件代理以及优缺点,主要解决什么问题
- React 组件中怎么做事件代理?它的原理是什么?
- 介绍下 this 的各种情况
- 前端如何控制管理路由
- 使用路由时出现问题如何解决
- React 怎么做数据的检查和变化
- react-router 里的 Link 标签和 a 标签有什么区别
- a 标签默认事件禁掉之后做了什么才实现了跳转
- 整个前端性能提升大致分几类
- import { Button } from 'antd',打包的时候只打包 button,分模块加载,是怎么做到的
- 使用 import 时,webpack 对 node_modules 里的依赖会做什么
- JavaScript 异步解决方案的发展历程以及优缺点
- cookie 放哪里,cookie 能做的事情和存在的价值
- cookie 和 token 都存放在 header 里面,为什么只劫持前者
- 以下 axios 的特点正确的有哪些?(多选题)
- React 中 Dom 结构发生变化后内部经历了哪些变化
- React 挂载的时候有 3 个组件,textComponent、composeComponent、domComponent,区别和关系,Dom 结构发生变化时怎么区分 data 的变化,怎么更新,更新怎么调度,如果更新的时候还有其他任务存在怎么处理
- React 子父组件之间如何传值
- Redux 中间件是什么东西?接受几个参数?柯里化函数两端的参数具体是什么东西?
- Redux 中间件· 中间件是怎么拿到 store 和 action?然后怎么处理?
- state 是怎么注入到组件的,从 reducer 到组件经历了什么样的过程
- koa 中 response.send、response.rounded、response.json 发生了什么事,浏览器为什么能识别到它是一个 json 结构或是 html
- koa-bodyparser 如何解析 request
- 介绍 AST(Abstract Syntax Tree)抽象语法树
- 安卓 Activity 之间数据是怎么传递的
- 安卓 4.0 到 6.0 过程中 WebView 对 js 兼容性的变化
- WebView 和原生是如何通信
- 对 async、await 的理解,内部原理是怎样的?
- 清除浮动的方式
- 接入 Redux 过程?绑定 connect 的过程?connect 的原理
- == 和 ===的区别,什么情况下用相等==
- bind、call、apply 的区别
- 介绍下原型链
- Linux 754 介绍
- 介绍冒泡排序、选择排序,说说冒泡排序如何优化
- transform 动画和直接使用 left、top 改变位置有什么优缺点
- 如何判断链表是否有环
- 介绍二叉搜索树的特点
- 介绍暂时性死区
- ES6 中的 map 和原生的对象有什么区别
- RN 如何调用原生的一些功能、如何和原生进行通信
- react 异步渲染的概念,介绍 Time Slicing 和 Suspense
- 16.X 中 props 改变后在哪个生命周期中处理
- 对纯函数的理解
- 介绍 JSX
- 如何做 RN 在安卓和 IOS 端的适配
- RN 为什么能在原生中绘制成原生组件
- 对虚拟 DOM 的理解?虚拟 DOM 主要做了什么?虚拟 DOM 本身是什么?
- cookie 的引用为了解决什么问题
- 如何设计一个 localStorage,保证数据的实效性
- 介绍下 React 高阶组件,和普通组件有什么区别,适用什么场景
- 实现 sum 方法,使 sum(x)(y),sum(x,y)返回的结果相同
- 两个对象如何比较
- 说一下变量的作用域链
- 介绍 dom 树对比
- 如何设计状态树
- native 提供了什么能力给 RN
- 如何做工程上的优化
- shouldComponentUpdate 是为了解决什么问题
- 如何解决 props 层级过深的问题
- 前端怎么做单元测试
- pm2 怎么做进程管理,进程挂掉怎么处理
- 不用 pm2 怎么做进程管理
- jsonp 方案需要服务端怎么配合
- Ajax 发生跨域要设置什么(前端)
- 加上 CORS 之后从发起到请求正式成功的过程
- Async 里面有多个 await 请求,可以怎么优化
- React 遇到性能问题一般在哪个生命周期里解决
- Vue 中一次性 200 条弹幕怎么处理
- React/Redux 中哪些功能用到了哪些设计模式
- JavaScript 变量类型分为几种,区别是什么
- JavaScript 里垃圾回收机制是什么,常用的是哪种,怎么处理的
- 一般怎么组织 CSS(Webpack)
- 一个对象数组,每个子对象包含一个 id 和 name,React 如何渲染出全部的 name?在哪个生命周期里写?其中有几个 name 不存在,通过异步接口获取,如何做?渲染的时候 key 给什么值?可以使用 index 吗?用 id 好还是 index 好?
- webpack 如何配 sass,需要配哪些 loader,配 css 需要哪些 loader
- 如何配置把 js、css、html 单独打包成一个文件
- 上下固定,中间滚动布局如何实现
- ES5 和 ES6 有什么区别
- 取数组的最大值(ES5、ES6)
- some、every、find、filter、map、forEach 有什么区别
- 页面上生成一万个 button,并且绑定事件,如何做(JS 原生操作 DOM)?循环绑定时的 index 是多少,为什么,怎么解决?
- 页面上有一个 input,还有一个 p 标签,改变 input 后 p 标签就跟着变化,如何处理?监听 input 的哪个事件,在什么时候触发?
- 手写数组去重函数(至少三种以上,说明时间复杂度)
- Promise 和 async/await,和 Callback 有什么区别
- componentWillReceiveProps 的触发条件是什么
- Redux 怎么实现属性传递,介绍下原理
- 网站 SEO 怎么处理
- 403、301、302 是什么
- HTTPS 怎么建立安全通道,Https 的加密过程
- 项目中对于用户体验做过什么优化
- 介绍下数字签名的原理
- 前后端通信使用什么方案
- RESTful 常用的 Method
- Access-Control-Allow-Origin 在服务端哪里配置
- 前端和后端怎么联调
- 如何实现高度自适应
- prototype 和proto区别
- new 的实现原理,动手实现一个 new
- 如何实现 H5 手机端的适配
- em 和 px 的区别
- Redux 状态管理器和变量挂载到 window 中有什么区别
- webpack 和 gulp 的优缺点
- 如何去除 url 中的#号
- 如何实现分模块打包(多入口)
- base64 为什么能提升性能,缺点
- 介绍 webp 这个图片文件格式
- 介绍 koa2,原理是什么?
- 异步请求,低版本 fetch 如何低版本适配
- ajax 如何处理跨域?CORSr 如何设置?
- jsonp 为什么不支持 post 方法
- 介绍 Immuable
- 介绍 JS 全部数据类型,基本数据类型和引用数据类型的区别
- Array 是 Object 类型吗
- 说一下栈和堆的区别,垃圾回收时栈和堆的区别
- 数组里面有 10 万个数据,取第一个元素和第 10 万个元素的时间相差多少
- Async/Await 怎么实现
- JavaScript 为什么要区分微任务和宏任务
- Promise 构造函数是同步还是异步执行,then 呢
- JavaScript 执行过程分为哪些阶段
- 词法作用域和 this 的区别
- loadsh 深拷贝实现原理
- ES6 中 let 块作用域是怎么实现的
- React 中 setState 后发生了什么?setState 为什么默认是异步?setState 什么时候是同步?
- 为什么 3 大框架出现以后就出现很多 native(RN)框架(虚拟 DOM)
- Webpack 打包时 Hash 码是怎么生成的?随机值存在一样的情况,如何避免?
- Webpack 做了什么?使用 webpack 构建时有无做一些自定义操作?
- node 接口转发有无做什么优化?node 起服务如何保证稳定性,平缓降级,重启等
- RN 有没有做热加载?RN 遇到的兼容性问题?
- RN 如何实现一个原生的组件?
- RN 混原生和原生混 RN 有什么不同?
- 介绍单页应用和多页应用?
- RN 的原理,为什么可以同时在安卓和 IOS 端运行
- 介绍一下网络的五层模型
- 介绍 SSL 与 TLS
- formData 和原生的 ajax 有什么区别
- 介绍下表单提交,和 formData 有什么关系
- rudux 和全局管理有什么区别
- 介绍 MVP 怎么组织
- promise 如何实现 then 处理,动手实现 then
- 服务端怎么做统一的状态处理
- 如何对相对路径引用进行优化
- 介绍 node 文件查找优先级
- npm2 和 npm3 有什么区别
- 如何处理异常捕获
- 项目如何管理模块
- 尽可能多的写出判断数组的方法
- 介绍 localstorage 的 api
- html 标签 b 和 strong 的区别
- 使用原型最大的好处
- 介绍 React 设计思路,它的理念是什么?
- 单例、工厂、观察者项目中实际场景
- 添加原生事件不移除为什么会内存泄露,还有哪些地方会存在内存泄漏
- setInterval 需要注意的点
- 定时器为什么是不精确的
- setTimeout(1)和 setTimeout(2)之间的区别
- 介绍宏任务和微任务
- promise 里面和 then 里面执行有什么区别
- props 和 state 的区别
- 介绍 class 和 ES5 的类以及区别
- 介绍 defineProperty 方法,什么时候需要用到
- for..in 和 object.keys 的区别
- 使用闭包特权函数的使用场景
- 哪些方法会触发 react 重新渲染?重新渲染 render 会做些什么?
- state 和 props 触发更新的生命周期分别有什么区别?
- React setState 是同步还是异步?
- 对无状态组件的理解
- 介绍箭头函数的 this
- 找到前 K 个最大的元素
- 对 React 的看法,它的优缺点,使用过程中遇到的问题,如何解决的
- JavaScript 是什么范式语言
- Promise 有没有解决异步的问题
- Promise 和 setTimeout 的区别
- 进程和线程的区别
- 介绍下 DFS 深度优先
- 按照调用实例,实现下面的 Person 方法
- 请写出正确的执行结果
- 请写出正确的执行结果
- 请写出正确的执行结果
- 请写出正确的执行结果
- 请写出正确的执行结果
- 请写出正确的执行结果
- 请写出代码正确执行结果,并解释原因
- 请写出正确的执行结果
- 请写出正确的执行结果
- 按要求完成代码
- 请写出正确的执行结果
- 请写出正确的执行结果
- 请修改代码能跳出死循环
- 修改代码不造成死循环
- 请写出代码正确执行结果
- 请写出代码正确执行结果
- 计算以上字节每位 ✈️ 的起码点,并描述这些字节的起码点代表什么
- 请写出代码正确执行结果,并解释原因
- 请写出代码正确执行结果
- 请写出代码正确执行结果,并解释原因
- 请写出代码正确执行结果
- 请写出代码正确执行结果,并解释原因
- 请问当前 textarea 文本框展示的内容是什么?
- 请写出代码正确执行结果
- 请写出代码正确执行结果
- 请写出代码正确执行结果,并解释为什么
- 请手写实现一个拖拽
- 请手动实现一个浅拷贝
- 介绍 instanceof 原理,并手动实现
- 请实现一个 JSON.stringfy
- 请实现一个 JSON.parse
- 说一下减少 dom 数量的办法?一次性给你大量的 dom 怎么优化?
- vue hooks 有哪些
- 介绍 Vue template 到 render 的过程
- 为什么用 gulp 打包 node
- Node 不支持哪些 ES6 语法
- Webpack 为什么慢,如何进行优化
- 请写出代码正确执行结果,并解释原因?
- 请写出代码正确执行结果,并解释原因?
- 请写出代码正确执行结果,并解释原因?
- 请写出代码正确执行结果,并解释原因?
- 请写出代码正确执行结果,并解释原因?
- 请写出代码的正确执行结果,并解释原因?
- 以下选项为 css 盒模型属性有哪些?(多选题)
- 递归公式的时间复杂度为?(单选题)
- 以下说法中对协议描述不正确的是?(单选题)
- 以下哪些是 HTTP 请求中浏览器缓存机制会用到的协议头?(单选题)
- 怎么定义 vue-router 的动态路由?怎么获取传过来的动态参数?
- JavaScript 中如何模拟实现方法的重载
- 请解释 JSONP 的工作原理
- 用 html、css、js 模拟实现一个下拉框,使得下拉框在各个浏览器下的样式和行为完全一致,说出你的设计方案,并且重点说明功能设计时要考虑的因素。
- 用 JavaScript 实现一个标准的排序算法(快排、冒泡、选择排序),对某个数字数组进行由低到高的排序。
- 实现一个打点计时器
- 下面关于 Vue 说法正确的是?(单选题)
- JavaScript 写一个单例模式,可以具体到某一个场景
- JavaScript 基本数据类型都有哪些?用 typeOf 判断分别显示什么?
- 怎么判断引用类型数据,兼容判断原始类型数据呢?
- 请写下你对协商缓存和强缓存的理解?
- git pull -rebase 和 git pull 的区别是什么?
- 说下盒模型的区别?介绍一下标准的 CSS 盒模型?border-box 和 content-box 有什么区别?
- 给出页面的加载顺序
- Html5 有哪些新特性?如何处理 Html5 新标签的浏览器兼容问题?如何区分 Html 和 Html5?
- 找出“aaaabbcccdddd”字符串中出现最多的字母?
- 概述异步编程模型
- 在一个 ul 里有 10 个 li,实现点击对应的 li,输出对应的下标
- 分别对以下数组进行去重,1:[1,'1',2,'2',3],2:[1,[1,2,3['1','2','3'],4],5,6]
- 简述 JavaScript 中的函数的几种调用方式
- 编写一个 Person 类,并创建两个不同的 Person 对象
- 详细描述一个 http 请求从发起请求到收到响应的全部过程(越细越好)
- 简述静态链接和动态链接的区别,并举例说明
- 求 n 以内的所有素数,并说明时间复杂度
- 手写实现 call
- 手写实现 apply
- 一个 dom 必须要操作几百次,该如何解决,如何优化?
- 为什么要用 Vuex 或者 Redux,不要说为了保存状态
- 为什么 Vue data 必须是函数
- 页面埋点怎么实现
- 除了 jsonp、postmessage 后端控制,怎么实现跨页面通讯
- Vue data 中某一个属性的值发生改变后,视图会立即同步执行重新渲染吗?
- Webpack 打包出来的体积太大,如何优化体积?
- 缓存有哪些?前端缓存有哪些?怎么用?如何和后台配合
- 说一下 let、const 的实现,动手实现一下
- 简述 mixin、extends 的覆盖逻辑
- Vue 子组件和父组件执行顺序
- Dom tree 和 cssdom 是如何合并成 render tree 的
- addEventListener 再 removeListener 会不会造成内存泄漏
- scrollview 如何进行又能优化(例如 page=100 时,往上滚动)
- 原生 JavaScript 获取 ul 中的第二个 li 里边的 p 标签的内容
- 说下 offsetWith 和 clientWidth、offsetHeight 和 clientHeight 的区别,说说 offsetTop,offsetLeft,scrollWidth、scrollHeight 属性都是干啥的
- Css 单位都有哪些?
- Css 实现多列等高布局,要求元素实际占用的高度以多列中较高的为准
- 一个标签的 class 样式的渲染顺序,id、class、标签、伪类的优先级
- 写一个函数打乱一个数组,传入一个数组,返回一个打乱的新数组
- 数组截取插入 splice,push 返回值,数组的栈方法、队列方法、排序方法、操作方法、迭代方法说一下
- 判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型
- 判断一个变量的类型,写个方法用 Object.prototype.toString 判断传入数据的类型?Object.prototype.toString.call(Symbol) 返回什么?
- 对作用域和闭包的理解,解释下 let 和 const 的块级作用域
- 以下代码输出什么?
- switch case,case 具体是怎么比较的,哪些情况下会走到 default
- 说下 typeof()各种类型的返回值?instanceof 呢?
- if([] == 0), [1,2] == "1,2", if([]), [] == 0 具体是怎么对比的
- 如何加快页面渲染速度,都有哪些方式
- genertor 的实现原理
- cdn 分布式部署,如果处理用户请求最近的资源
- 说一下缓存有哪几种,具体都是怎么实现和比较的,缓存优先级,相互之间的对比
- 使用 typescript 的优势有哪些
- 说下你对浏览器缓存理解
- css 如何实现动画
- 判断是否是数组的方法
- 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点
- 给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和
- 手写 EventEmitter 实现
- Http 连接是如何复用的
- 给出的两行代码为什么这么输出
- 动画性能如何检测
- 谈下淘宝和京东页面的实现
- 平时都用到了哪些设计模式
- 如何监控 MySql、Redis 性能
- 对 service worker 的理解
- Webpack 热更新的原理
- Css 如何实现一个半圆
- 一个活动项目里包含多个活动,Webpack 如何实现单独打包某个活动?
- 单点登录实现原理
- 尾递归实现
- 有 1000 个 dom,需要更新其中的 100 个,如何操作才能减少 dom 的操作?
- 商城的列表页跳转到商品的详情页,详情页数据接口很慢,前端可以怎么优化用户体验?
- 多个 tab 只对应一个内容框,点击每个 tab 都会请求接口并渲染到内容框,怎么确保频繁点击 tab 但能够确保数据正常显示?
- 301、302 的 https 被挟持怎么办?
- 介绍 Http2 特性,Http2 怎么确保文件同时传输不会报错
- 请实现鼠标点击页面中的任意标签,alert 该标签的名称(注意兼容性)
- 完成一个表达式,验证用户输入是否是电子邮箱
- 原生实现 ES5 的 Object.create()方法
- 列举并解释一下 http 的所有请求方法,
- 如何记录前端再用户浏览器上发生的错误并汇报给服务器?
- 有哪几种方式可以解决跨域问题?(描述对应的原理)
- 按要求完成题目
- 你是如何组织 JavaScript 代码的?(可以从模块、组件、模式、编程思想等方面回答)
- 移动 web 开发时如何调试?了解哪些多屏适配方案?
- 算法考察:Next Permutation
- 填充代码实现 template 方法
- 请说明 Html 布局元素的分类有哪些?并描述每种布局元素的应用场景
- 列举出在浏览器中,页面加载过程中发出了哪些事件?并画出这些事件的执行顺序?
- 请描述下为什么页面需要做优化?并写出常用的页面优化实现方案?
- 请画出 css 盒模型,基于盒模型的原理,说明相对定位、绝对定位、浮动实现样式是如何实现的?
- 列举出 css 选择器有哪些分类,并至少写出三个 css 选择器之间的区别,适用场景
- 请列出至少 5 个 JavaScript 常用的内置对象,说明用途
- 请描述下 JavaScript 中 Scope、Closure、Prototype 概念,并说明 JavaScript 封装、继承实现原理。
- 请列出目前主流的 JavaScript 模块化实现的技术有哪些?说出它们的区别?
- 请列出 HTTP/1.1 协议 Response 状态码:20x、30x、40x、50x 等各区间的含义,并说明 Action 在 Restful API 中分别使用哪些 Http 副词(action)表现出 CRUD?
- 请说明 JavaScript 进行压缩、合并、打包实现的原理是什么?为什么需要压缩、合并、打包?分别列出一种常用工具或插件
- 请说出前端框架设计模式(MVVM 或 MVP 又或 MVC)的含义以及原理
- 请用 JavaScript 代码实现事件代理
- 实现格式化输出,比如输入 999999999,输出 999,999,999
- 使用 JavaScript 实现 cookie 的设置、读取、删除
- 请编写一个 JavaScript 函数 parseQueryString,它的用途是把 URL 参数解析为一个对象,url="http://iauto360.cn/index.php?key0=0&key1=1&key2=2"
- node 如何进行跨域通信
- Vuex 和 localStorage 的区别
- 如何实现 a,b 两个变量的交换
- Vue 双向绑定原理
- 开发环境热更新的优化方式
- 给 JavaScript 的 String 原生对象添加一个名为 trim 的原型方法,用于截取字符串前后的空白字符
- 按要求实现代码
- 说一下路由钩子在 Vue 生命周期的体现?
- 计算属性和普通属性的区别
- 描述下自定义指令(你是怎么用自定义指令的)
- 说一下 Vue 中所有带$的方法
- catch-control 有哪些设定值
- AMD 和 CMD 有哪些区别?
- 微任务和宏任务的区别
- 你是怎么配置开发环境的?
- 列举 3 种强制类型转换和 2 种隐式类型转换
- 小程序里面打开页面最多多少,生命周期、常用的 api 列举几个?
- Vue-router 除了 router-link 怎么实现跳转
- 原生 JavaScript 实现图片懒加载的思路
- 回调函数和任务队列的区别
- 如何实现 webpack 持久化缓存
- 找出两个数组的交集元素
- Css 实现 div 宽度自适应,宽高保持等比缩放
- ul 内部除最后一个 li 以外设置右边框效果
- flex:1 的完整写法是?分别是什么意思?
- 写出下面代码的输出结果
- 用 typescript 实现函数 caller,接收一个函数作为第一个参数,其返回参数类型由接收的函数参数决定
- 有这样一个函数 A,要求在不改变原有函数 A 功能以及调用方式的情况下,使得每次调用该函数都能在控制台打印出“HelloWorld”
- 在浏览器执行以下代码,写出打印结果
- 输入一个整数,输出该数二进制表示中 1 的个数
- 行内元素和块级元素有什么区别
- link 和@inmport 区别
- ⽤ js 实现随机选取 10–100 之间的 10 个且不重复的数字,存⼊⼀个数组,还要排序
- 请写出弹出值,并解释为什么?
- 写出输出值,并解释为什么
- 请写出代码执⾏结果,并解释为什么
- 请写出代码执⾏结果,并解释为什么
- 给定⼀个⼤⼩为 n 的数组,找到其中的众数。众数是指在数组中出现次数⼤于 ⌊⌊ n/2 ⌋⌋ 的元素
- HTTP2.0的多路复⽤和HTTP1.X中的⻓连接复⽤有什么区别?
- HTTP2.0多路复⽤有多好?
- React兄弟组件的通信方式?(需回答两种以上)
- Fiber算法原理,相比之前的stack算法哪些方面做了优化?
- 如何实现双向绑定,并抽象成公共组件
- 原生实现addClass,用多种方法
- 实现一个倒计时,setInterval实现的话,如何消除时间误差
- React SSR实现过程?原理是什么?有什么注意事项?
- Node性能如何进监控以及优化?
- http请求由什么组成?
- 屏幕正中间有个元素A,元素A中有文字A,随着屏幕宽度的增加,始终需要满足下列条件
- 函数中的arguments是数组吗?若不是,如何将它转化为真正的数组?
- 请写出以下代码的打印结果
- 以最小的改动解决以下代码的错误(可以使用ES6)
- 实现Function 原型的bind方法,使得以下程序最后能输出“success”