大厂面试题

 

js:
怎么实现this对象的深拷贝
文件上传如何作到断点续传
表单能够跨域吗
promise,async有什么区别
搜索请求如何处理(防抖)
搜索请求中文如何请求
介绍观察者模式
介绍中介者模式
观察者和订阅发布的区别,各自用在哪里
介绍service worker
介绍promise,异常捕获
浏览器事件流向
介绍事件代理及其优缺点
介绍this各类状况
前端怎么控制管理路由
使用路由时出现问题如何解决
js异步解决方案的发展历程以及优缺点
对async,await的理解,内部原理
介绍下promise,内部实现
bind,call,apply的区别
动画的了解
介绍下原型链(解决的是继承问题吗)
对跨域的了解
介绍暂时性死区
es6中map和原生的对象有什么区别
如何设计promise.all()
sum(2,3)实现sum(2)(3)的效果
两个对象如何比较
js原型
变量做用域链
防抖和节流的区别
介绍各类异步方案
介绍Fiber
介绍dom树对比
项目中如何应用数据结构
设计模式-前端开发中用到哪些设计模式
[1,2,3,4,5]变成[1,2,3,a,b,5]
取数组最大值(es5,es6)
es5和es6有什么区别
some,every,find,filter,map,forEach有什么区别
页面上有一万个button如何绑定事件
如何判断是button
页面上生成一万个button,而且绑定事件,如何作(js原生操做dom)
循环绑定时的index是多少,为何,怎么解决
页面上有一个input,还有一个p标签,改变input后p标签就跟着变化,如何处理
监听input哪一个事件,在何时触发
对闭包见解,为何要使用闭包,闭包为何没清除,使用场景
手写去重函数
手写数组扁平化函数
介绍promise用途和性质,promise有几个状态
promise的精髓,以及优缺点
promise和callback有什么区别
es6新特性
对PWA有什么了解
介绍下数字签名的原理
先后端通讯使用什么方案
restful经常使用method
access-control-allow-origin在服务端哪里配置
csrf跨站攻击如何解决
先后端怎么联调
prototype和_proto_的区别
_construct是什么
new是怎么实现的
原型链与继承
介绍js数据类型,基本数据类型和引用数据类型的区别
Array是Object类型吗
数据类型分别存在哪里
var a = {name:"前端开发"}; var b = a; a = null; 那么b输出什么?
var a = {b:1}存放在哪里
var a = {b:{c:1}}存放在哪里
栈和堆的区别
垃圾回收时栈和堆的区别
数组里面有10万个数据,取第一个元素和第10万个元素的时间相差多少?
堆和栈具体怎么存储
js怎么实现异步
异步整个执行周期
promise三种状态
async/await怎么实现
promise和setTimeout执行前后的区别
js为何要分微任务和宏任务
promise构造函数是同步仍是异步执行,then呢
js执行过程当中分为哪些阶段
词法做用域和this的区别
日常是怎么作继承
深拷贝和浅拷贝
loadash深拷贝实现原理
ES6中let块做用域是怎么实现的
a,b两个按钮,点击aba,返回顺序多是baa,如何保证是aba(Promise.then)
node接口转发有没有作什么优化
node起服务如何保证稳定性,平缓降级,重启等
遇到的复杂业务场景
promise.all()实现原理
formData和原生ajax区别
介绍下表单提交,和formData有什么关系
如何处理异常捕获
项目如何管理模块
判断数组
交换a和b变量
类数组和数组的区别
dom的类数组如何转成数组
this
使用原型的最大好处
单例,工厂,观察者模式项目中实际场景
项目中树的使用场景及了解
工做收获
setInterval须要注意的点
定时器为何是不精确的
setTimeout(1)和setTimeout(2)之间的区别
介绍宏任务和微任务
promise里面和then里面执行有什么区别
介绍class和ES5的类及区别
介绍箭头函数和普通函数的区别
介绍defineProperty方法,何时用到
for...in和object.keys的区别
js是什么范式语言(面向对象仍是函数式编程)
promise有没有解决异步的问题
promise和setTimeout的区别(event loop)
进程和线程的区别(一个node实例就是一个进程,node是单线程,经过事件循环来实现异步)
介绍下DFS深度优先
观察者模式里面使用的数据结构(不具有顺序,是一个list)css

 


基础:
==和===的区别,什么状况下用相等==html


存储:
cookie放哪里,cookie能作的事情和存在的价值
cookie和token都存放在header里面,为何只劫持前者
cookie和session有什么区别
如何设计一个localStorage,保证数据的实效性
http缓存控制
cookie和localStorage有什么区别前端


算法:
介绍冒泡排序,选择排序,冒泡排序如何优化
如何判断链表是否有环
介绍二叉搜索树的特色
快速排序
前K个最大的元素node

 

 

react相关:
react设计思路
react生命周期及本身的理解,对应的生命周期作什么事
遇到性能问题通常在哪一个生命周期解决
服务器渲染ssr
介绍react优化
react组件中事件代理(原理,怎么作,解决什么问题)
react组件中怎么作事件代理
react组件事件代理的原理
react中dom结构发生变化后内部经历了哪些变化
react挂载的时候有3个组件,textComponent,composeComponent,domComponent,区别和关系,dom结构发生变化时怎么区分data的变化,怎么更新,更新怎么调整,若是更新的时候还有其余任务存在怎么处理
key主要解决哪一类问题,为何不建议用索引index(重绘)
react怎么作数据的检查和变化
react层面的性能优化(异步加载组件。。)
写react有哪些细节能够优化
react事件机制(绑定一个事件到一个组件上)
react异步渲染的概念,介绍time slicing 和 suspense
X声明周期的改变
X中props改变后在哪一个生命周期中处理
介绍纯函数
pureComponent和functionComponent区别
介绍JSX
如何作RN在安卓和IOS端的适配
介绍虚拟DOM,为何虚拟dom比真实dom性能好
react常见通讯方式
介绍高阶组件
react中key的做用
如何设计状态树
shouldComponentUpdate是为了解决什么问题
如何解决props层级过深的问题
react/redux中哪些功能用到了哪些设计模式
js变量类型分为几种,区别是什么
js里垃圾回收机制是什么,经常使用的是哪一种,怎么处理的
Emit事件怎么发,须要引入什么
对react见解,有没有遇到一些坑
componentWillReceiveProps的触发条件是什么
介绍下react的Filber架构
画Filber渲染树
react使用过的一些组件
介绍immuable
react中setState后发生了什么
setState为何默认异步
setState何时是同步的
虚拟dom主要作了什么
虚拟dom自己是什么(js对象)
添加原生事件不移除为何会内存泄漏,还有哪些地方会内存泄漏
介绍pureComponent
介绍function Component
react数据流
props和state的区别
介绍react context
从新渲染render会作什么
哪些方法会触发react从新渲染
state和props触发更新的生命周期分别有什么区别
对无状态组件的理解
使用中遇到哪些问题,如何解决的
react的理念是什么(拿函数式编程来作页面渲染)mysql

 

 

介绍redux,主要解决什么问题
redux总体工做流程
redux和全局对象之间的区别
redux数据回溯设计思路react

redux请求中间件如何处理并发
使用过的redux中间件
介绍redux数据流的流程
redux如何实现多个组件之间的通讯,多个组件使用相同状态如何进行管理
多个组件之间如何拆分各自的state,每块小的组件有本身的状态,它们之间还有一些公共的状态须要维护,如何思考这块
redux中异步请求怎么处理
redux中间件是什么东西,接受几个参数(两端的柯里化函数)
柯里化函数两端的参数具体是什么东西
中间件是怎么拿到store和action,而后怎么处理
state是怎么注入到组件的,从reduce人到组件经历了什么样的过程
redux的设计思想
接入redux的过程
connect原理
redux在状态管理方面解决了react自己不能解决的问题
redux有没有作过封装
react父子组件之间如何传值
介绍下react高阶组件,和普通组件有什么区别
一个对象数组,每一个子对象包含一个id和name,react如何渲染出所有的name,在哪一个生命周期里写,其中有几个name不存在,经过异步接口获取,如何作
渲染的时候key给什么值,可使用index吗,用id仍是index好
redux怎么实现属性传递,介绍下原理
redux状态管理和变量挂载到window中有什么区别
介绍下redux整个流程原理
介绍redux接入流程
redux和全局管理有什么区别(数据可控,数据响应)webpack

 

 

如何配置react-router
路由的动态加载模块
介绍路由的history
react-router怎么实现路由切换
react-router里的<Link>标签和<a>标签有什么区别
<a>标签模式事件禁掉以后作了什么才实现了跳转css3


nodejs相关:
使用过的koa2中间件
koa原理,和express对比
koa-body原理
介绍本身写过的中间件
有么有涉及到Cluster
介绍pm2
master挂了的话pm2怎么处理
如何和mysql进行通讯
koa中response.send,response.rounded,response.json发生了什么事,浏览器为何能识别到它是一个json结构或是HTML
koa-bodyparser怎么来解析request
koa2中间件原理
经常使用中间件
服务端怎么作统一的状态管理
如何对相对路径引用进行优化
node文件查找优先级
npm2和npm3+有什么区别es6

 

 

工具相关:
使用过webpack里面哪些plugin和loader
webpack里面的插件是怎么实现的
dev-server是怎么跑起来的
项目优化
抽取公共文件是怎么配置的
import {Button} from 'antd-design',打包的时候只打包button,分模块加载,是怎么作到的
使用import时,webpack对node_modules里的依赖会作什么
webpack整个生命周期,loader和plugin有什么区别
webpack介绍
webpack生命周期
webpack打包的整个过程
经常使用的plugins
pm2怎么作进程管理,进程挂掉怎么处理
不用pm2怎么作进程管理
通常怎么组织css(webpack)
webpack如何配sass,须要配哪些loader
配css须要哪些loader
如何配置把js,css,html单独打包成一个文件
如何实现分模块打包(多入口)
打包时hash码是怎么生成的
随机值存在同样的状况,如何避免
使用webpack构建时有没有作一些自定义操做
webpack作了什么web

 

 

 

http、浏览器相关:
介绍下浏览器跨域
如何解决跨域的问题
jsonp方案须要服务端怎么配合
ajax发生跨域要设置什么(前端)
加上CORS后从发起到请求正式成功的过程
xsrf跨域攻击的安全性问题怎么防范
使用async会注意哪些东西
async里面有多个await请求,能够怎么优化(请求是否有依赖)
promise和async处理失败的时候有什么区别
表单能够跨域吗
常见http请求头
介绍http2.0
经过什么作到并发请求
http1.1如何服用tcp链接
http报文请求有几个部分
跨域怎么解决,有没有使用过Apache等方案
从输入URL到页面加载全过程
tcp三次握手
tcp属于哪一层(传输层)
介绍下http状态码
403,301,302,304是什么
缓存相关的http请求头
介绍https
https怎么创建安全通道
如何去除URL中的#号
并发请求资源数上限(6个)
cors如何设置
jsonp为何不支持post方法
介绍同源策略
网络的五层模型
https加密过程
介绍SSL和TLS
介绍DNS解析

 

 

 


移动端:
移动端适配1px的问题
webView和原生是如何通讯
安卓4.0到6.0过程当中webview对js兼容性的变化
安卓activity之间数据是怎么传递的
介绍AST抽象语法树
如何实现H5手机端的适配
rem、flex的区别(root em)
em和px的区别

 


css:
介绍flex布局
其余css方式设置垂直居中
居中为何要使用transform(为何不使用margin-left/top)
介绍css3中的position:sticky
清楚浮动
定位问题
transform动画和直接使用left,top改变位置有什么优缺点
两个元素块,一左一右,中间相距10像素,上下固定,中间滚动布局如何实现
css选择器有哪些
盒子模型,标准状况和IE下的区别
如何实现高度自适应

 

前端安全:
项目中如何处理安全问题


前端性能:
整个前端性能提高大体分几类
如何作工程上的优化
性能优化(js,css,图片,缓存预加载,SSR,多域名加载,负载均衡)
base64为何能提高性能,缺点
介绍webp这个图片文件格式

 

测试:前端怎么作单元测试

相关文章
相关标签/搜索