前端面试题汇总(阿里、网易、今日头条、滴滴)

在各公众号、博客中收集了部分公司19年常见的前端面试题

阿里

  • 使用过的koa2中间件
  • koa-body原理
  • 介绍自己写过的中间件
  • 有没有涉及到Cluster
  • 介绍pm2
  • master挂了的话pm2怎么处理
  • 如何和MySQL进行通信
  • React声明周期及自己的理解
  • 如何配置React-Router
  • 路由的动态加载模块
  • 服务端渲染SSR
  • 介绍路由的history
  • 介绍Redux数据流的流程
  • Redux如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理
  • 多个组件之间如何拆分各自的state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,如何思考这块
  • 使用过的Redux中间件
  • 如何解决跨域的问题
  • 常见Http请求头
  • 移动端适配1px的问题
  • 介绍flex布局
  • 其他css方式设置垂直居中
  • 居中为什么要使用transform(为什么不使用marginLeft/Top)
  • 使用过webpack里面哪些plugin和loader
  • webpack里面的插件是怎么实现的
  • dev-server是怎么跑起来

网易

  • 介绍redux,主要解决什么问题
  • 文件上传如何做断点续传
  • 表单可以跨域吗
  • promise、async有什么区别
  • 搜索请求如何处理(防抖)
  • 搜索请求中文如何请求
  • 介绍观察者模式
  • 介绍中介者模式
  • 观察者和订阅-发布的区别,各自用在哪里
  • 介绍react优化
  • 介绍http2.0
  • 通过什么做到并发请求
  • http1.1时如何复用tcp连接
  • 介绍service worker
  • 介绍css3中position:sticky
  • redux请求中间件如何处理并发
  • 介绍Promise,异常捕获
  • 介绍position属性包括CSS3新增
  • 浏览器事件流向
  • 介绍事件代理以及优缺点
  • React组件中怎么做事件代理
  • React组件事件代理的原理
  • 介绍this各种情况
  • 前端怎么控制管理路由
  • 使用路由时出现问题如何解决
  • React怎么做数据的检查和变化

滴滴

  • react-router怎么实现路由切换
  • react-router里的标签和标签有什么区别
  • 标签默认事件禁掉之后做了什么才实现了跳转
  • React层面的性能优化
  • 整个前端性能提升大致分几类
  • import { Button } from ‘antd’,打包的时候只打包button,分模块加载,是怎么做到的
  • 使用import时,webpack对node_modules里的依赖会做什么
  • JS异步解决方案的发展历程以及优缺点
  • Http报文的请求会有几个部分
  • cookie放哪里,cookie能做的事情和存在的价值
  • cookie和token都存放在header里面,为什么只劫持前者
  • cookie和session有哪些方面的区别
  • React中Dom结构发生变化后内部经历了哪些变化
  • React挂载的时候有3个组件,textComponent、composeComponent、domComponent,区别和关系,Dom结构发生变化时怎* 么区分data的变化,怎么更新,更新怎么调度,如果更新的时候还有其他任务存在怎么处理
  • key主要是解决哪一类的问题,为什么不建议用索引index(重绘)
  • Redux中异步的请求怎么处理
  • Redux中间件是什么东西,接受几个参数(两端的柯里化函数)
  • 柯里化函数两端的参数具体是什么东西
  • 中间件是怎么拿到store和action,然后怎么处理
  • state是怎么注入到组件的,从reducer到组件经历了什么样的过程
  • koa中response.send、response.rounded、response.json发生了什么事,浏览器为什么能识别到它是一个json结构或是html
  • koa-bodyparser怎么来解析request
  • webpack整个生命周期,loader和plugin有什么区别
  • 跨域怎么解决,有没有使用过Apache等方案

今日头条

  • 对async、await的理解,内部原理
  • 介绍下Promise,内部实现
  • 清除浮动
  • 定位问题(绝对定位、相对定位等)
  • 从输入URL到页面加载全过程
  • tcp3次握手
  • tcp属于哪一层(1 物理层 -> 2 数据链路层 -> 3 网络层(ip)-> 4 传输层(tcp) -> 5 应用层(http))
  • redux的设计思想
  • 接入redux的过程
  • 绑定connect的过程
  • connect原理
  • webpack介绍
  • == 和 =的区别,什么情况下用相等
  • bind、call、apply的区别
  • 动画的了解
  • 介绍下原型链(解决的是继承问题吗)
  • 对跨域的了解

你可能感兴趣的:(面试经验)