前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • 面经汇总
    • 有赞一面
      • 说说CSS选择器以及这些选择器的优先级
      • 你知道什么是BFC么
        • 什么是BFC
        • 触发BFC的条件
        • BFC的约束规则
        • BFC可以解决的问题
      • 了解盒模型么
      • 如何实现左侧宽度固定,右侧宽度自适应的布局
        • 利用float + margin实现
        • 利用calc计算宽度
        • 利用float + overflow实现
        • 利用flex实现
      • 了解跨域吗,一般什么情况下会导致跨域
        • 跨域行为
        • JSONP
        • 如何实现一个JSONP
        • JSONP安全性问题
        • CORS(跨域资源共享)
        • JSONP和CORS的对比
        • 其他跨域解决方案
      • HTTP2和HTTP1有什么区别
      • 你能说说缓存么
      • 能说说首屏加载优化有哪些方案么
      • 如何在Node端配置路径别名(类似于Webpack中的alias配置)
      • 谈谈你对作用域链的理解
      • Vue响应式原理
      • 了解Event Loop么
      • 如何避免回流和重绘
    • 有赞二面
      • 项目问答环节
      • 算法题环节
    • 有赞(有赞美业)电话面
      • 浏览器事件循环的方式
      • 宏任务和微任务如何划分
      • 如何判断 js 变量类型
      • 说一下vdom 和 diff
      • diff 算法的时间复杂度
      • hooks 相对于之前的开发方式有什么特点
      • react 开发中有哪些性能优化的方式
      • setState 是异步吗
      • 如何实现批量更新的策略
      • HTTP2 相对于 HTTP1 的优化
    • 滴滴面经1
      • 你知道哪些安全问题,如何避免
      • CSRF/XSRF(跨站请求伪造)
      • 介绍一下Graphql
      • 说说Vue中$nextTick的实现原理
      • 如何实现居中
      • 用过Flex么,能简单介绍一下么
      • bind的源码实现
      • 伪类和伪元素的区别
      • 小结
    • 51信用卡(一面)
      • 在ES5中如何实现继承
      • 绝对定位
      • 消抖和节流
      • Vue中的computed实现原理
    • 阿里部门未知(一面)
      • 说说Webpack的实现原理
      • 首屏优化有哪些解决方案
      • Node.js的加载机制(require和module.exports)
      • 你觉得你最擅长什么
      • React和Vue的区别
    • 阿里CBU技术部(一面)
      • 说说z-index有什么需要注意的地方
      • 熟悉CSS3动画么
      • 有没有做过什么可视化的项目
      • 你觉得你最擅长的是什么
      • Flex实现两列布局
      • 说说DOM事件流
      • 你觉得你有做过推动流程或者改善流程的事件么,举例说明
      • 小结
    • 阿里企业智能事业部(一面)
      • Webpack的loader和plugins的区别
      • HTTP状态码206是干什么的
      • React高阶组件的作用有哪些
      • Service Worker有哪些作用
      • 跨域
    • 阿里企业智能事业部(二面)
      • Vue的整个实现原理
      • Chrome插件如何屏蔽广告
      • 如何判断两个变量相等
      • Vue的数据为什么频繁变化但只会更新一次
      • 绝对定位、固定定位和z-index
      • 阿里企业智能事业部(HR面)
    • 阿里社招面经
      • 笔试
      • 问答题
    • 微信社招面经
      • 笔试
    • 网易面经
      • 第一个场景问题
      • 第二个场景问题
      • 第三个场景问题
      • H5新特性
      • vue组件间通信
      • 遍历对象方法
      • 数组去重
      • 数组的扁平化
      • 深度遍历
      • 链表的相加问题?
      • ES6语法,Promise了解吗
      • 聊一聊map和set
      • 前端性能优化
    • 字节跳动三轮技术+一轮HR
      • 抖音一面(45min):
      • 抖音二面(1个小时)
      • 抖音三面(1个小时)
      • HR 面:(30min)
      • 整体感受
    • 淘宝两轮
      • 淘宝一面
      • 淘宝二面
    • 阿里云五轮
      • 阿里云一面
      • 阿里云二面
      • 阿里云三面
      • 阿里云四面
    • 深圳某做海外加速器公司
      • 1. DIV+CSS布局的好处
      • 2. 如何解决a标点击后hover事件失效的问题?
      • 3. 点击一个input依次触发的事件
      • 4. 响应式的好处
      • 5. Vue的优点及缺点
      • 6. Vue中hash模式和history模式的区别
    • 深圳某电商公司
      • 1. null和undefined
      • 2. 冒泡排序算法和数组去重
    • 深圳某云产品公司
      • 1. 描述一下Promise
      • 2. Promise.all中如果有一个抛出异常了会如何处理
      • 3. Promise为什么能链式调用
      • 4. 描述一下EventLoop的执行过程
      • 5. docoment,window,html,body的层级关系
      • 6. addEventListener函数的第三个参数
      • 7. 有写过原生的自定义事件吗
      • 8. 冒泡和捕获的具体过程
      • 9. 所有的事件都有冒泡吗?
      • 11. 手写new
      • 12. typeof和instanceof的区别
      • 13. typeof为什么对null错误的显示
      • 14. 详细说下instanceof
      • 15. 一句话描述一下this
      • 16. 函数内的this是在什么时候确定的?
      • 17. webpack中的loader和plugin有什么区别
      • 18. HTTP和TCP的不同
      • 19. TCP和UDP的区别
      • 20. 介绍一下虚拟DOM
    • 深圳某房地产公司
      • 1. JSONP的原理以及手写一个实现
      • 2. 浏览器为什么要跨域?如果是因为安全的话那小程序或者其他的为什么没有跨域?
      • 3. CORS跨域的原理
      • 4. 在深圳的网页上输入百度,是怎么把这个请求发到北京的
    • 深圳某海外直播公司
      • 1. CommonJS和ES6模块的区别
      • 2. 模块的异步加载
      • 3. 开发一个模块要考虑哪些问题?
      • 4. 实现一个一组异步请求按顺序执行你有哪些方法?
      • 5. Promise.all()是并发的还是串行的?
      • 6. 平时写过哪些正则表达式
      • 7. 正则里的非如何实现的
      • 8. webpack几种hash的实现原理
      • 9. webpack如果使用了hash命名,那是每次都会重写生成hash吗
      • 10. webpack中如何处理图片的?
      • 11. 说一下回流和重绘
      • 12. 盒模型及如何转换
      • 13. 实现水平垂直居中的几种方式
      • 14. flex的兼容性怎样
      • 15. 你知道到哪里查看兼容性吗
      • 16. 移动端中css你是使用什么单位
      • 17. rem和em的区别
      • 18. 在移动端中怎样初始化根元素的字体大小
      • 19. 移动端中不同手机html默认的字体大小都是一样的吗
      • 20. 你做过哪些动画效果
      • 21. 如果让你实现一个一直旋转的动画你会如何做
      • 22. animation介绍一下
      • 23. animation有一个steps()功能符知道吗
      • 24. 用过哪些移动端的调试工具
      • 25. 说一下原型链
      • 26. 详细说一下instanceof
      • 27. V8的垃圾回收是发生在什么时候?
      • 28. 具体说一下垃圾回收机制
      • 29. 在项目中如何把http的请求换成https
      • 30. 知道meta标签有把http换成https的功能吗?
      • 31. http请求可以怎么拦截
      • 32. https的加密方式
      • 33. 混合加密的好处
      • 34. 浏览器如何验证服务器的身份
      • 35. ETag首部字段说一下
      • 36. 你们的token一般是存放在哪里的
      • 37. token会不会被伪造?
      • 38. redis中一般用来存什么
      • 39. 前后端如何验证一个用户是否下线了
      • 40. CSP白名单知道吗?
      • 41. nginx有配置过吗?
      • 42. 反向代理知道吗?
      • 43. 有用过抓包工具吗?
      • 44. 你平常用的电脑是Mac吗?
      • 45. Fiddler有用过吗?
      • 46. Vue的diff算法
      • 47. Vue中computed和methods的区别
      • 48. 例如要获取当前时间你会放到computed还是methods里?
      • 49. 你们的权限功能是怎么做的?
      • 50. 那你在判断权限的时候是用的字符串匹配还是位运算?
    • 深圳某国内直播公司
      • 1. 输入URL到页面呈现
      • 2. 为什么说script标签建议放在body下面?
      • 3. 为什么说script标签会阻塞页面的渲染呢?渲染线程和js引擎线程不是分开的吗?
      • 4. 协商缓存说一下
      • 5. HTTP中的Keep-Alive有了解过吗?
      • 6. 跨域有了解吗?如何解决跨域?
      • 7. WebSocket有了解过吗?它也可以跨域的
      • 8. 前端安全方面?XSS?CSRF?
      • 9. setTimeout的执行原理(EventLoop)
      • 10. requestAnimationFrame有了解过吗?
      • 11. requestAnimationFrame和setTimeout的区别?
      • 12. 平常工作中ES6+主要用到了哪些?
      • 13. 如何在前端实现一个图片压缩
      • 14. 你上家公司主要是做什么的?
      • 15. 团队多少人呢?
      • 16. 项目中有碰到什么难的问题吗?如何解决的?
      • 17. 期望薪资多少?
      • 18. 还有什么想要问我的吗?
    • 明源云(一面)
      • css 选择器的排序
      • css 相同等级的样式匹配的顺序
      • webpack 打包出来的 html 为什么 style 放在头部,script 放在底部
      • 某些脚本资源无法放在底部,如何解决
      • defer 和 async 的区别
      • webpack 配置如何实现开发环境不使用 cdn、生产环境使用 cdn
      • 你在项目中做过的首屏加载的优化
      • 懒加载的实现
      • 防抖节流的概念
      • 你们对于 webpack 如何配置
      • react 的一些优化
      • 迁移 ts 的理由
      • hooks 的收益
      • graphql 对比 restful
      • 算法优化
      • mobx 对比 redux
      • 迁移 mobx 的原因
      • 针对自己简历上项目的讲解
    • 明源云(二面)
      • 介绍项目
      • 介绍一下为什么用 graphql
      • 为什么要使用语雀来做富文本编辑器
      • 如何处理语雀的防盗链
      • 介绍一下公司的组件库
      • 介绍一下迁移 ts 的过程
      • 介绍一下 ts 的 eslint
      • 为什么需要从 redux 迁移到 mobx
      • 什么情况下需要用到状态库
      • 业务开发中如何进行组件的拆分
      • 说一下和后端接口交互那一块,在开发中如何进行规划
      • 写组件的时候使用类组件还是函数组件更多,为什么
      • 聊一下笔试题中 LazyMan 的实现思路
      • 离职之后,你在做什么,在思考什么,有没有关注前端新闻,职业规划
    • cvte(一面)
      • 自我介绍
      • 在维护组件库的过程中,有什么难点
      • 说一下原型链
      • 继承的优缺点
      • 说一下输入 url 到页面渲染的全过程
      • 首屏优化
      • ts 的编译原理
      • 实现一个 ts 工具函数,获取 Promise 中的泛型
      • React 中性能优化的做法
      • PureComponent 中如何对比两个对象
      • node 的事件循环
    • 中信银行信用卡中心(一面)
      • 自我介绍
      • 介绍一下你们组件库
      • 介绍一下redux迁移到mobx的目的
      • 官网重构中使用了graphql,这是怎么回事?
      • hashMap 和 Object 的区别
      • 解释一下 React 中元素和组件的区别
      • 在 React 中如何销毁页面里面的定时器
      • 介绍一下 React 中的 Fiber 架构
        • React 如何知道下一次执行该从哪个节点开始重新执行
        • 它使用了那种遍历方式遍历树
      • 介绍一下 webpack4 中的 tree-shaking
        • 介绍一下它的工作流程
        • CSS 可以做摇树吗
      • 实践题
        • 后续发现是 CDN 有问题,图片根本加载不出来,有没有其他办法绘制一个图形替换
      • 实践题
      • 实践题
        • 如果需求的场景不符合每一条数据固定高度?
      • 算法
        • 二叉树有哪种遍历方式
        • 跳跃游戏(贪心算法)
    • 招创礼记(一面)
      • 自我介绍
      • 水平垂直居中
      • defer 、async 区别,作用
      • 输入url的全过程
      • 深拷贝和浅拷贝的区别
      • 数据类型(基本类型、引用类型)
      • 如何判断类型
      • js 装箱加载
      • js 运行机制(事件循环)
      • 笔试题
      • webpack loader 介绍一下
      • hooks 作用
      • hooks 和 hoc 的区别
      • ts interface 和 type 的区别
      • mobx 使用过程介绍一下
      • git 说一下
      • 首屏优化说一下
      • 项目中比较难的困难
    • 铱云科技(一面)
      • 自我介绍
      • 在团队中的角色
      • 技术选型的考虑(redux 迁移到 mobx 的原因)
      • rxjs 和 mobx 思想上的区别
      • mobx 使用上有没有遇到问题,是不是mutable
      • js 设计模式
      • 发布订阅和观察者模式的联系与区别
      • 弹窗嵌套弹窗的设计思路
      • 如果需要关闭指定的弹窗,如何设计
      • 多个弹窗需要注意什么
      • 多种层级如何进行管理
      • OOP 的特性
      • ts 中泛型的作用
      • 软件开发原则性的理解
      • 在开发组件、编写函数这方面会注意什么问题
      • 如果需要对已有模块进行扩展,如何进行开发保证调用方不受影响
      • 有接触过服务端的知识吗
      • 性能优化
      • 原生和 webview 之间如何通信
      • jsBridge
      • 技术和产品之间的关系
    • 平行空间(一面)
      • 自我介绍
      • css 水平垂直居中
      • 保持盒子的宽高按屏幕大小等比例缩放
      • 浏览器的渲染机制
      • 跨域
      • 原型链的原理
      • 文本超出显示 …
      • 合并数组、对象的方式
      • export 和 export default 的区别
      • 事件队列(事件循环)
      • react 生命周期
      • redux、mobx 的区别
      • hooks 和 hoc 的对比
    • 平行空间(二面)
      • 自我介绍
      • react、angular 的比较
      • 对 vue 的看法
      • 工作两年中解决的难题,能体现自己能力的项目
      • 迁移 ts 的原因
      • 简单介绍一下 react 的生态
      • 手写代码,数字加逗号
    • 科创先锋(一面)
      • 自我介绍
      • 组件库介绍
      • lerna 说一下
      • yarn workspace 了解吗
      • 代码评审的原则
      • ts 迁移的原因
      • Mobx 原理
      • angular 和 react 对比
      • 盒模型说一下
      • 给一个 div 设置一个100px,解释一下
      • position 说一下
      • 设置 left top 会对兄弟节点有影响吗
      • 需求题
    • 兔展(一面)
      • 自我介绍
      • 缓存分类
      • 跨域
      • 前端安全和攻击
      • 内容安全策略(CSP)
      • cookie、session|insert(题目没听清楚)
      • var let 区别
      • 有哪几种作用域
      • 闭包的理解
      • 异步的理解(事件循环)
      • async/await、Promise、generator 的区别
      • class 的理解
      • new 的实现机制
      • webpack 打包原理
      • 首屏渲染优化的理解
      • seo 有什么理解
      • 服务端渲染的原理
      • react 某些生命周期被废弃的理由
      • fiber reconciler 和 stack reconciler 的区别
      • useState 和 useRef 的区别
      • hooks如何清除副作用
      • ts 的 type 和 interface 的区别
    • 兔展(二面)
      • fiber 架构是什么
      • diff 算法实现思路
      • key 在 diff 算法中的作用
      • diff 算法时间复杂度
      • diff 为什么这么高
      • fiber 节点是一个什么数据结构
      • 开发组件基于什么原则
      • 迁移 ts 的过程
      • 迁移过程中遇到的问题
      • ts 的 type 和 interface 的区别
      • ts 里面如何声明函数的重载
      • ts 元组和数组的区别
      • ts 元组的使用场景
      • esm 和 cjs 的模块化的区别
      • pc 端上常见的性能优化手段
      • HTTP 缓存机制
    • 顺德美云智数(电话)
      • 做过的项目
      • 项目中遇到的问题
      • 了解过 webpack 源码,写过 webpack 插件吗
      • es next 了解过吗,通过什么途径
      • 浏览器的兼容有什么经验
      • 讲一下 react 的主要思想,和 ng 的对比
      • 深拷贝、浅拷贝讲一下
      • setInterval、setTimeout 时间是有误差的,为什么
      • 做一个连续的动画,实现方案
      • 水平垂直居中
      • 两栏布局
      • 有些页面需要嵌入第三方页面(iframe),如何进行通信
      • 具体跨域解决实现
      • 前端缓存
      • 代码管理工具是用什么
      • 有用过子模块吗
      • 有用过 rebase 吗
    • 酷家乐(一面)
      • 项目中的性能优化
      • 项目中有什么值得说的
      • ts 有什么优势
      • type 和 interface 的区别
      • React 的事件机制
      • 聊聊 React 的 diff
      • React 优化
      • 如何理解闭包
      • 节流的实现
      • es5 继承
    • 酷家乐(二面)
      • React 基本原理
      • React 的性能优化
      • Redux 重点概念
      • 聊一下 React 的生命周期
      • Hooks 如何处理生命周期
      • 考察盒子模型和 box-sizing 属性,判断元素的尺寸和颜色。
      • 实现一个 fill 函数,不能用循环
      • 用 ES5 实现私有变量
    • 酷家乐(三面)
      • 性能优化
      • class组件如何做性能优化
      • 实现一个 TypeScript 里面的 Pick
      • 手写 Promise.all
      • 手写并发限制器
      • 算法题,判断单链表相交
      • 算法题,如何找到第一个相交的点
    • 酷家乐(四面)
      • 如何实现水平垂直居中
      • 看过开源库的源码吗
      • 聊聊 React 的源码
      • FiberNode 有哪些属性
      • stateNode 有什么作用
    • 拼多多(一面)
      • React 16 生命周期的变化
      • 详细介绍一下 getDerivedStateFromProps
      • flex: 0 1 auto 具体表示什么含义
      • less 的 & 代表什么
      • 算法题:求字符串最大公共前缀
      • interface 和 type 的区别
      • 状态管理工具
      • 有用过 ssr 吗
      • node 熟悉吗
    • 拼多多(二面)
    • 拼多多(三面)
    • 拼多多(一面)
      • redux 理念
      • react-redux 中 connect 怎么实现
      • mixin、hoc、继承的区别、优缺点
      • react diff 实现
      • react 旧版的diff用深度优先还是广度优先。为什么用深度优先,广度优先能实现吗
      • diff的时间复杂度?为什么?
      • react-router 实现原理
      • 客户端路由 hash/history 实现的区别、原理
      • 有哪些常见的 http 头
      • websocket 轮询的好处缺点
      • websocket 握手的过程
      • tcp 握手过程
      • tcp/udp 的区别
      • 尽可能多实现pdd app 导航布局实现(4等分div并列排布)
      • 如何清除浮动
      • BFC 实现原理
      • 开放题:pdd 假设没有首页优化,尽可能想办法优化
    • 拼多多(二面)
      • css盒子模型(content-box、border-box)
      • 实现动画有哪些方法
      • react mixin hoc 以及 hook 之间的区别和优缺点
      • 浏览器渲染出一个页面的过程
      • vue/react 技术选型
      • 项目相关,重构开发如何并行
      • 项目中工程化进行了哪些优化
      • 项目中进行优化会从哪方面去做
      • nodejs 性能优化
      • linux 文件权限
      • 前端监控怎么实现
    • 金山软件
      • DNS 解析(浏览器输入 url 全过程)
      • 前端缓存
      • HTTPS 原理
      • HTTP 长连接实现原理
      • 事件循环
      • 事件调用栈
      • Next.js 如何实现服务端渲染
    • 金山(wps+)一面
      • CSS选择器及优先级
      • CSS有什么布局方式
      • 各种布局之间有什么优缺点
      • 你用过什么CSS预编译器
      • less 有什么缺点
      • 有遇到过1px的问题?知道如何解决吗?
      • js里面有什么数据类型
      • 有哪些判断方法可以判断类型?
      • es6中let、const和var有什么区别
      • const声明的变量怎么修改
      • 箭头函数和普通函数的区别
      • 事件代理
      • 数组有什么方法
      • 如何往数组中插入一个值
      • 浏览器cookie、localStorage、sessionStorage的区别
      • 除此之外,前端还有什么存储方案
      • 对前端的安全有什么理解
      • 对闭包的理解
      • 简单的实现一个闭包
    • 金山(wps+)二面
      • 项目中有redux迁移mobx,详细说一下原因。这二者有什么区别
      • 介绍一下高版本React和低版本React之间的api废除的理由
      • setState 是同步还是异步
      • 在setTimeout中,是否会进行批量更新
      • 说一下React的合成事件
      • 说一下函数组件和class组件的区别
      • 对比一下hook和hoc的优势
      • 说一下graphql解决的问题
      • 做过的seo优化
      • 说一下JWT机制
      • 实践题
      • 实践题
      • 如何预防网站劫持
      • 实践题
      • 首屏优化
      • 说一下你对前端开发的理解
      • 做过的项目的难点以及如何解决
      • 离开的原因
      • 职业规划
    • 富途证券(架构组)一面
      • 离职原因
      • 想加入什么样的团队
      • 你开发过什么组件?
      • 优化过 webpack 的性能?
      • 做过什么?
      • 讲一下 ts 的重载?以及为什么需要用重载?
      • 组件库在迁移的过程中有什么难搞的问题?
      • 做过移动端的开发吗?
      • 了解移动端的设备适配问题吗?
      • finally 在 IOS 8 用不了的原因是什么?
      • 下面这段代码有什么问题
        • 描述一下原型、构造函数、实例之间的关系
        • 说一下 instanceof 的原理
        • 怎样判断类型
      • 下面代码输出什么
      • 下面代码输出什么
      • 地址栏输入URL到页面渲染发生了什么
      • 介绍一下强缓存和协商缓存
      • HTTPS 能不能做一个中间层,在中间层之间做劫持?有办法避免吗
      • 在 a.com 中能发送一个 ajax 请求到 b.com 吗?
      • 如何避免页面被别人的 iframe 页面嵌套
      • XSS防御
      • 除了 XSS 以外,还有什么安全问题
      • 假设你的页面加载非常慢,你会怎么判断问题出现在哪?如果是普遍的网络问题,怎样解决?如果不是网络问题,怎么解决?
      • 算法题
    • 欢聚时代(总部)一面
      • 离职原因
      • 说一下 Angular 的脏检查
      • 有什么办法优化变更检查
      • 平时工作中如何优化 Angular 变更检查的性能
      • 说一下 React 的 diff 算法
      • 说一下 Angular 和 React 的事件机制
      • 大概说一下 setState 时,React 中 render 时如何工作的
      • 有没有遇到过重新绑定实例的情况(不知道他问的是啥)
      • 为什么要用 graphql
      • 项目中 pc 端兼容的浏览器版本
      • 如何用 css grid 做九宫格
      • 说一下 vertical-aligen 的属性
      • 如何用 css 写一个三角形
      • 有没有用过 es next 的最新语法
      • Promise 的 finally 如何实现
      • 有用过迭代器吗
      • 有用过异步循环吗
      • css 中继承的属性,什么时候会用到
      • 你们的项目如何从构建发布到上线
      • node 项目中如何守护进程
      • 项目中有用过 cdn 进程吗
      • 说一下 cdn 的原理
    • 广州 shein 跨境电商(远程面)
      • 实现一个 Modal 框的思路
      • 实现水平垂直居中
      • 实现上下固定,中间自适应
      • 有没有做过移动端,有没有了解过自适应和响应式
      • 哪些样式会触发重排
      • Webpack 性能优化
      • 有没有写过 Webpack loader
      • 有没有参与组件开发
      • 你们的全键盘是如何实现的
      • 如何让 React 减少重新渲染次数
      • Mobx 如何能让组件触发重新渲染
      • 项目中如何储存用户信息
    • 虾皮(toC group)一面
      • 说出打印结果
      • 手写原型链继承
      • 实例属性和原型属性的区别
      • instancef 的原理
      • 浏览器缓存
      • Service Worker 大小大概是30Gb,如果用户硬盘没有那么大怎么办
      • Service Worker 的大小和强缓存、协商缓存的大小是一起计算的还是分开计算
      • Push Cache 的具体处理方式
      • HTTP2 的优缺点
      • HTTP2 有没有可能比 HTTP1 还要更慢
      • var、let、const 的区别
      • 说出打印结果
      • webpack
      • 常用插件
      • 如果有一个工程打包特别大,如何进行优化
      • cjs 和 esm 模块化的区别
      • es6+ 有哪些新的语法
      • 跨域解决方案
      • 说一下 CORS 中的预请求
      • xss 和 csrf
      • 用户信息存储的方式
      • React 性能优化的方式
      • 实现一个节流函数
    • 虾皮(toC group)二面
      • 有哪个组件最让你印象深刻
      • 这个组件的原理介绍一下
      • 这个组件有做兼容性处理吗
      • 说出以下代码的输出
      • let a = "abc",解释器在解释在这句话的过程中,内存发生的变化,比如内存放在哪里,申请了多大的内存
      • 介绍一下 esm 和 cjs 的差异
      • 介绍一下前端安全问题
      • 假设有一个页面需要实现下拉无限滚动加载,如何实现和优化
      • 笔试题
    • 虾皮(一面)
      • http 302 301 307 的区别
      • 301 和 302 哪个对 seo 更友好(301)
      • 跨域是什么、如何解决
      • jsonp 有什么缺点
      • base64和外链的应用场景,各自的优缺点
      • http缓存机制
      • https 的握手过程
      • set/map 的区别
      • hook 的局限性
      • setState 和 hook 的区别
      • decorator 的作用,编译后是什么样子的
      • symbol 是什么,一般用来做什么
      • csrf 是什么,如何防范
      • sql注入是什么,如何防范
      • react 调用 setState 之后发生什么
      • nodejs 事件循环机制
      • pm2原理,有哪些模式(cluster fork)
      • docker 和 k8s 有了解多少
      • 移动端一个元素的拖动,如何实现和优化(节流,改变位置)
      • for in / for of 看代码输出
      • 描述链表的反转如何实现,复杂度多少
      • 实现 instanceof
      • 实现一个对象被 for of 遍历
      • 实现链表的添加、删除。复杂度是多少
    • 虾皮(二面)
      • 给两段效果上都可以实现继承的代码,说出差异
      • this 输出问题
      • 如何监听 html 外链资源加载失败
      • Mutation Observer、Intersection Observer 使用场景
      • 127.0.0.1 和 0.0.0.0 差别(一个只能通过 localhost ,另一个可以通过本机 ip 或者 localhost 都可以)
      • 利用 Promise js sleep 函数实现
      • jsx 转换后是什么样子的
      • redux compose 函数是做什么的,中间件呢
      • redux-sage 是什么,和 redux-thunk 有什么区别
      • dva 了解吗
      • umi.js 有用过吗
      • req.pipe(res)
      • stream 如何处理数据消费和数据生产的速率不一致问题
      • writeable stream drain 事件是做什么的(这是和一个控制读写速率有关的事件)
    • 虾皮( 一面)
    • 虾皮( 二面)
    • 百度(安全平台)一面
      • 请实现一个通用add方法,add参数为任意数量,如add(1, 2, 3) 输出6。
      • 请实现Promise.all()。
      • 请实现一个双向数据绑定。
      • 算法题
      • ts 和 js 的区别
      • es 和 js 的区别
      • amd 和 esm 的区别
      • 浏览器是否支持 esm
      • webpack怎么进行首屏加载的优化
      • 了解过 tree-shaking 吗
      • 闭包为什么会有内存泄漏问题
      • 了解过 nodejs 吗
      • express 和 koa2、koa3 的区别
      • 了解过 flex 布局吗
      • 有8个子盒子,每个盒子宽100px,父盒子宽700px,那么它是一行显示还是会换行?
      • 我想换行怎么实现?
      • HTTP 和 HTTPS 的区别
      • HTTPS 的加密如何实现
      • 数字证书如何验证合法性
    • 百度(安全平台)二面
      • 输入URL到页面展示中的全过程
      • 在这过程中的话涉及那些网络协议
      • HTTP协议是否包括端口号
      • 端口号是TCP协议的一部分?
      • 为什么需要三次握手?
      • 三次握手的全过程
      • TCP连接如何确认连接方
      • HTTPS的握手过程
      • 证书的作用以及判断过程
      • 建立SSL连接之后,是对称还是非对称加密
      • 为什么会有跨域的问题
      • 跨域的网络情况大概是怎样
      • 除了常规的GET、POST以外,DELETE等请求也是这个流程
      • 解决方案
      • jsonp为什么可以实现跨域呢
      • 除了script标签,还有哪些标签支持跨域请求
      • 直接使用表单提交请求,会有跨域问题吗
      • websocket 建立过程是怎样的
      • 代码题
      • 面向对象编程中的三个特征
      • 面向对象编程中的五个规则
      • 开发过程中的设计模式
    • 微信(一面)
    • 微信(二面)
    • 微信(三面)
    • 腾讯(部门未知)一面(电话面)
      • 什么是事件委托
      • 了解 Promise 吗
      • window 的 onload事件和 domcontentloaded 谁先谁后
      • 有遇到过跨域问题吗?如何解决
    • 腾讯(部门未知)二面(QQ 远程面)
      • 原型链考察
      • new 考察
      • typeof 和 instanceof 的区别
      • 下面代码输出什么
      • new 和 instanceof 源码实现
      • 下面代码输出什么
      • 箭头函数 this 的指向问题
      • for…in 和 for…of 的区别
      • 说说 generator 的了解
      • flex 布局中的 flex-grow 和 flex-shrink 属性的作用
      • 说一下宏任务和微任务,并说出下面代码的运行结果
      • 数组扁平化处理
    • 腾讯(部门未知)三面(电话远程面)
      • 输入 URL 到页面加载发生了什么
      • 缓存知识
      • 描述一下 DNS 解析过程
      • TCP 是如何发起连接和断开连接
      • 你知道有什么状态码
      • 有哪些手段可以优化网页响应速度
      • 5点15分,时针和分针的夹角
      • 算法
    • 腾讯(部门未知)三面(笔试)
      • 原生 js 实现
      • 算法
    • 腾讯(部门未知)四面
      • 你在做这个系统如何确保消息实时推送
      • 消息撤回功能如何实现?
      • WebSocket 有时会出现掉线,如何解决
      • 了解过哪些排序算法,描述一下归并排序的实现
      • 有没有了解过 react 的 diff 算法
      • 讲讲前端安全问题
    • 腾讯(IMWeb)一面
      • 你是怎么接触前端的
      • js new 执行构造函数的的过程
      • js 说一下 this 指向
      • 说一下 bind 函数结构
      • 说一下 js 继承
      • 实现正则表达式
      • 说一下 DOM事件流模型
      • 说一下你知道的 HTTP 状态码
      • 浏览器缓存的过程
      • 说一下 XSS
      • 如何防范
      • 说一下 CSRF
      • 危险网站 B 如何拿到受信任网站 A 的 cookie
      • 危险网站 B 利用哪种 API 受信任网站 A 发送请求
    • 项目经历中有写 SSR,说一下你是怎么实现的
      • 如何保证同构的模块不会挂掉,例如在服务端访问 document
      • ts问题
      • 你觉得 ts 很重吗,如何确保你的同事不写 any
      • ts 给你带来的价值
      • 实现一个 ts 的工具函数
      • 你有维护组件库,说一下如何管理组件
      • 组件质量如何保存
      • 没有测试用例的情况下,组件发布完全靠测试去人工测试?有没有遇到出错的情况。
      • 组件发布的是不是所有依赖这个组件库的项目都需要升级?
      • 发布问题
      • 除了 lerna,还有其他的方式吗
      • 你们组件库,别人如何能知道如何使用
      • 假如现在是下午 5 点 35 分,时针和分针的夹角是多少
    • 腾讯(IMWeb)二面
      • 迁移 ts 的背景和原因
      • 聊到一个服务端渲染的项目,具体聊聊为什么需要使用服务端渲染
      • 这几个项目中,哪几个项目的挑战难度比较大
      • 笔试题
      • 大数相加
      • 最近有没有了解前端最新技术
      • react 17 有了解过吗
      • pwa 有了解吗
      • deno 和 node 的区别
      • 在之前的公司,有没有主动推动一些技术的发展
    • 腾讯(IMWeb)三面
      • 为什么离职
      • 上上家为什么离职
      • 你认为上一家公司对技术有追求吗
      • 如何理解一个出色的系统
      • 你们有多少的客户
      • 客户样本太少,如何解决
      • 哪个功能客户用得最多
      • 整个系统里面一共有多少个订单
      • 为什么要从 redux 从 mobx
      • 你觉得这两个各自在哪个场景下更加合适
      • 系统维护了多久
      • 经手了很多人,维护的难度会不会很大
      • 为什么接入 ts 会延长系统的生命周期
      • 官网重构
      • 怎样优化 seo
      • 怎样进行首屏渲染测速
      • 怎么知道服务端渲染的速度会快呢
      • 是同构吗?是数据同构?是UI同构?
      • 整个服务端渲染的瓶颈在哪里?单机qps是多少?
      • 整个网站有多少用户量?有多少台 node 服务器
      • 用的是 http/1 还是 http/2,用的是 http 还是 https?
      • 你最擅长的是什么
      • 有用 lint 吗
      • 一共有多少条规则
      • ts 除了静态类型检查以外,还有什么优秀的地方
      • 只有 ts 有装饰器吗
      • React 的版本?
      • 计算题
      • 给出的条件中能算出具体值吗?不能的话能算出具体范围吗?
      • 如果团队需要加班到晚上 2-3 点,你觉得合理吗?
    • 腾讯微视(桌面工程师方向)一面
      • 之前做的一家跨境电商的公司,这里面有什么可以说一下的地方
      • 主要写的是第二家,说一下
      • 具体遇到 ts 迁移遇到的问题说一下
      • 什么情况下会遇到这样的问题
      • 为什么是用 babel
      • 相比 babel 编写 es 或者 JavaScript,TypeScript 的优势是什么
      • mongodb 和 typescript 的 orm 是怎么做的
      • grapql 和 restful 的区别和优势
      • angular 和 react 的区别
      • react 的 component 的生命周期是什么样子的
      • 实现一个双向绑定
    • 腾讯面试四问
      • 页面通信
      • B 页面正常关闭
      • B 页面意外崩溃
      • DOM 监听
      • Object.defineProperty 可以监听 DOM 属性吗?
      • 如何监听一个新创建的属性呢?
      • 除了监听滚轮,还有什么懒加载的方法?
    • 头条(一面)
    • 头条(二面)
    • 头条(三面)
    • 头条(四面)
    • 字节跳动
      • 实现一个抓包请求
      • 实现一个防抖功能
      • 实现一个图片懒加载
      • 获取一个异步求和函数
    • 字节跳动(Lark)一面
      • 平时怎么提升自己的前端水平
      • github 上面主要写什么
      • 笔试题
      • 浏览器渲染机制的理解
      • 性能优化方面的理解
    • 字节跳动(Lark)二面
      • 你觉得最有挑战的系统
      • 整个系统中如何解决各个模块之间关联的问题
      • 测试上线流程是怎样
      • 如何保证在改动过程中不影响别的模块
      • 阐述一下在系统中哪个模块比较复杂
      • 了解整个模块是怎么进行设计的吗
      • 如果一个电商的页面,有很多的商品列表,用户在加载这个页面的时候很慢,你会从哪个方面解决问题
      • 假如用户明确反馈在渲染列表的时候明显卡顿,如何解决
      • 你会如何分析具体的问题出现的位置
      • 阐述一下重绘与重排
      • 什么时候需要重排
      • 有一个页面,可以在后台输入商品内容展示给用户查看,你会怎样进行设计
      • 公共组件你会怎么进行设计
      • 算法题
    • 字节(一面)
      • 常用的 http 状态码(101 200 204 301 302 304 307 400 404 500)
      • 301 和 302 的区别(永久/临时)
      • 前端路由如何实现
      • 前端路由刷新404如何处理(404时重定向到index.html)
      • 从前端到后端全链路如何设计一个登录的流程(session 方案、jwt)
      • 什么是跨域,怎样处理
      • 简单请求、复杂请求
      • 浏览器的缓存策略
      • domain 属性解决跨域,几种domain设置对跨域是否生效
      • ts泛型做什么的,infer关键字的作用
      • 实现 typescript 的 Paramters、ReturnType
      • 实现 Promise.all
      • 实现一个并发请求控制函数,限制并发数
    • 字节(二面)
      • jwt 原理
      • xss和csrf防范
      • pureComponent 和 Component 区别(前者 shouldComponentUpdate 默认比较 props)
      • react hook hoc 解决了什么问题
      • 有哪些常用的 hook
      • 项目实现一个中间层的意义(前端全链路日志打通)
      • setState 同步还是异步
      • setState 传递对象和函数有什么区别
      • 合成事件是怎样的,有什么好处
      • 事件冒泡和事件捕获的区别,react中的冒泡和捕获(react 都是合成事件,无论是冒泡还是捕获,都对应原生中的冒泡)
      • 水平垂直居中
      • 手写 bind
      • 实现快排
    • 字节(三面)
      • graphql 相比 restful 的区别,优缺点
      • 为啥选择了redux-saga作为解决方案(解决异步优雅/提供很多工具函数)。redux的异步中间件方案有哪些,对比。saga对比dva?
      • graphql的鉴权在哪里做
      • 协程是什么(语言层面实现的并发),Go/nodeJs怎样去实现协程(Go使用go关键字、node可以使用Generator实现、我理解react16的异步渲染也是协程的实现)
      • react fiber的机制是怎样的
      • 锁机制的作用,node和Go如何处理死锁
      • Go/node实现并发怎么做
      • node和Go的优缺点怎样理解
      • 实现一个 useState
    • 快手( 一面)
      • react 16 新增了那些生命周期函数,有什么作用,为什么去掉某些 15 的生命周期
      • fiber 原理,如何实现异步渲染(链表/可中断)
      • redux 和 redux-saga 的区别和原理
      • 项目中用到的 saga-duck 是什么东西
      • useEffect 的实现原理
      • 异步渲染和旧版的 diff 的区别
      • babel 实现转码的过程(词法、语法分析)
      • 项目技术栈怎么选型
      • 小程序底层实现原理了解多少(双线程模型/预加载Webview)
      • 项目 nodejs 应用异常退出如何处理(pm2/uncaughtException 事件等)、日志上报怎么做(输出重定向到文件,elk服务传到kibana)
      • graphic schema 怎么设计
      • 有哪些技术驱动业务的案例
      • 算法:最大乘积子序列
    • YY
      • 说一下你们项目动态表单的实现
      • 说一下动态表格的实现
      • 你们这个JSON树是在哪里生成的,前端会生成吗?
      • 有了解过微前端吗?
      • 了解浏览器的哪些兼容问题
      • IE有哪些兼容性问题
      • 说一下EventLoop
      • 在项目里有用过node吗
      • 如何实现一个findIndex
      • 移动端布局有哪些方案?
      • 如果一个移动端的项目要显示在PC端上保证结构稳定你会如何做?
      • 你自己的项目里有做过哪些webpack上的优化
      • 具体说一下splitChunksPlugin
      • 有自己写过webpack插件吗
      • HTTP3.0.1和HTTP3.0.2的区别
      • 说一下Vue-Router的实现原理
      • Vue-Router初始化是发生在什么时候
      • 你觉得我还有哪些问题没有问到的,也就是你可以说一下你的加分项
    • CVTE
      • 离职原因
      • 新的一份工作你主要看中的是什么?
      • 先说一下你的期望薪资吧
      • 你为什么觉得你这次跳槽能有这么大的工资涨幅
      • 如果给不到期望薪资你会怎么办
      • 说一下你们项目动态表单的实现
      • 你遍历JSON树的具体过程
      • webpack构建流程
      • webpack插件原理
      • webpack在配置插件的时候是一个数组那它有顺序吗
      • 有用过哪些插件做项目的分析吗
      • 有做过哪些webpack优化吗
      • 有自己写过插件吗
      • 让你从零开始构建一个webpack项目你可以吗
      • 从输入URL到页面呈现的过程
      • 为什么TCP要三次握手而不是两次
      • HTTP和TCP的区别
      • 你们项目一般是如何做缓存的
      • 什么情况会阻塞页面的加载
      • script放在body头部就一定会阻塞吗
      • 添加删除了DOM节点会发生什么?(回流)
      • js中改变transform的left和right对比于css修改transform
      • 什么是GPU加速
      • 进程和线程的区别
      • 做过H5页面没有?你怎样适配移动端的
      • HTTP/2对比HTTP1.1
      • HTTP/2是怎么解决队头阻塞的
      • HTTP/2是如何压缩头部的
      • 为什么说HTTPS比HTTP安全呢
      • 说一下对称加密和非对称加密
      • HTTP请求的什么时候用的对称加密什么时候非对称加密
      • 对称加密的原理
      • 如果让你去实现一个CSRF攻击你会怎做?
      • 还知道其它的攻击方式吗?
      • Vue中key的作用
      • 如果我将key设置为了一个Math.random()可以吗
      • 如果让你设计一个双向绑定你会如何设计
      • 如何实现if(a===1&&a===2&&a===3)
      • 是有看过这道题吗?这么快的就回答上来了
      • 你觉得我还有哪些问题没有问到的,也就是你可以说一下你的加分项
      • 说一下你们权限的控制,路由权限以及按钮权限
      • 按钮权限除了用你现在的方式你还能想到更好的吗?比如封装一个组件
      • 你们的token一般是放在哪里
      • token放在Cookie和放在localStorage、sessionStorage中有什么不同吗
      • Cookie存在哪些安全问题?如何预防?
      • SameSite设置为了lax之后是怎样来控制Cookie的发送的
      • 如果顶级域名不同会发送吗
      • 还有哪些前端安全性问题
      • 如果使用jsonp的话会有什么安全问题吗?
      • 你们有做过单点登陆吗
      • 有用过ngnix吗?用它做过哪些事?
      • 有用过node吗?比如用它写一些中间层
      • 项目里做过哪些优化?
      • 你认为你做的项目最大的亮点在哪里
      • 项目中碰到的技术难点
      • 是什么让你有动力写bpmn.js教材呢
      • 有看过哪些源码呢
      • 有给git上的比较好的项目提过pull吗
      • 如果现在给你一个React的项目你觉得自己能多久上手呢
      • 你的职业规划是怎样呢
      • 说一下你的期望薪资吧?
      • 有对比过深圳和广州这边的薪资吗?
      • 有了解过我们公司吗?
      • 之前不是在深圳吗?为什么打算来广州?
      • 人生中有没有经历过什么对你触动比较大的事情?
      • 父母是如何看待你的工作的?
      • 你现在单身吗?
      • 工作之余的兴趣爱好
      • 期望薪资给不到怎么办
    • 编程猫
      • 动态表单的实现
      • 权限的控制
      • 你们项目一般是如何做缓存的
      • 项目中的环境变量是如何控制的?
      • 假设有两个子项目,他们需要共用同一个用户体系如何保证关掉页面之后打开另一个项目用户还是登录状态?
      • 项目如何优化
      • 首屏加载优化
      • SSR的使用场景
      • EventLoop
      • requestAnimationFrame属于宏任务还是微任务
      • 输入URL到页面的呈现
      • script与css还有页面的渲染顺序
      • script标签的async是什么时候加载的
      • 说一下==数据类型转换吧
      • 说一下Vue的diff算法
      • diff算法的缺点
      • 说下你们项目的亮点
      • 你们的UI组件库怎么实现按需引入的呢?
      • Webpack打包原理
      • Webpack打包有哪些优化
      • HTTP/2对比HTTP/1.1
      • 怎样看待你做的这几个项目呢
      • 项目亮点
      • 你在项目里负责什么
      • 项目难点
      • 你的优点
      • 还有什么想要问的吗?
      • 非技术的自我介绍
      • 住哪里?
      • 工作之余的爱好
    • 滴滴
      • 说一下你们的第一个项目
      • 说一下你们的UI组件库
      • 动态表格的实现
      • 如果有一个组件需要和前面的组件相关联你会怎么做
      • 说一下你们的工作流
      • 说一下你在项目中碰到的难点
      • Vue的双向绑定原理
      • Object.defineProperty()有什么缺点?Vue3为什么用Proxy?
      • nextTick实现原理
      • nextTick中的waiting是什么时候变为true的呢
      • 说一下虚拟DOM的作用以及实现原理
      • Vue3有哪些新的API或者有做哪些优化?
      • 有关HTTP缓存的首部字段说一下
      • HTTP中的keep-alive有了解吗?
      • 在一次传输中它是如何保证每个数据包之间的顺序的?
      • HTTP/2有了解过吗?
      • 具体说一下HTTP/2中的多路复用
      • 你认为你的优点是什么?
    • 阿里
      • position属性有哪些值分别介绍一下
      • relative的定位规则
      • 脱离文档流是会呈现什么样的效果呢?
      • 常规流(文档流)是个怎样的排列关系
      • inline-block的使用场景
      • GET和POST的区别
      • 为什么说GET会留下历史记录?
      • GET可以上传图片吗?
      • GET和POST的安全性问题为什么说POST相对安全一些
      • GET就一定是幂等的吗?
      • 说一下你所知道的缓存方案
      • 你们为什么要做这个动态表单?(业务痛点)
      • 动态表单具体的难点在哪?
      • 有没有了解行业内其它做动态表单这一块的
      • 你还有什么想要问我的吗?
    • 深圳开思
      • 说一说原型链
      • null为什么被typeof错误的判断为了’object’
      • 说一说几种this指向
      • 使用箭头函数时需要注意什么?
      • 说一下JS内置对象
      • 描述一下作用域链
      • 闭包的使用场景
      • 使用闭包需要注意什么
      • EventLoop
      • 用过哪些ES6的功能
      • 谈谈你对模块的理解
    • 头条
      • 格式化发布时间
      • 格式化数字
      • 一面
        • 实现 js ES5 数据类型的深拷贝
      • 二面
        • 实现简易 MVVM
      • 三面
        • 顺序发送4个请求a,b,c,d,要求按顺序输出
    • 美团
      • 二面
        • 用 promise 实现一个请求超时功能
    • 综合面试题
      • [高德一面] 一个 tcp 连接能发几个 http 请求
      • [腾讯一面] V-DOM 的优势
      • [字节跳动] CommonJS 和 es6 模块引用的区别
      • [头条] 如何选择图片格式
      • 首屏和白屏时间如何计算
      • 小程序 和 H5 的区别
      • 如何判断 0.1 + 0.2 与 0.3 相等?
      • [腾讯二面] v8 引擎执行一段 js 代码
    • 中大厂面试总结
      • 笔试题
      • 算法题
      • webpack、babel
      • HTTP
      • CSS
      • js
      • Vue
      • React
完整面试题地址:
作者:程序员poetry
扫码关注作者公众号:「前端进阶之旅」 每天分享技术干货
前端进阶之旅公众号二维码

# 有赞一面

# 说说CSS选择器以及这些选择器的优先级

  • !important
  • 内联样式(1000)
  • ID选择器(0100)
  • 类选择器/属性选择器/伪类选择器(0010)
  • 元素选择器/伪元素选择器(0001)
  • 关系选择器/通配符选择器(0000)

# 你知道什么是BFC么

小提示:这个问题重点是BFC是什么,BFC触发的条件有哪些,BFC可以干什么。这里我试着讲解了一下Boostrap的清除浮动(display:table创建匿名table-cell间接触发BFC),如果有看到别的场景使用或者自身有使用的场景可以尝试讲解一下使用技巧。这样可以让面试官觉得你不仅仅知道他问的东西是什么,你还能很好的使用它。

# 什么是BFC

BFC 全称为块级格式化上下文 (Block Formatting Context) 。BFC是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位以及与其他元素的关系和相互作用,当涉及到可视化布局的时候,Block Formatting Context提供了一个环境,HTML元素在这个环境中按照一定规则进行布局。一个环境中的元素不会影响到其它环境中的布局。比如浮动元素会形成BFC,浮动元素内部子元素的主要受该浮动元素影响,两个浮动元素之间是互不影响的。这里有点类似一个BFC就是一个独立的行政单位的意思。可以说BFC就是一个作用范围,把它理解成是一个独立的容器,并且这个容器里box的布局与这个容器外的box毫不相干。

# 触发BFC的条件

  • 根元素或其它包含它的元素
  • 浮动元素 (元素的 float 不是 none)
  • 绝对定位元素 (元素具有 position 为 absolute 或 fixed)
  • 内联块 (元素具有 display: inline-block)
  • 表格单元格 (元素具有 display: table-cell,HTML表格单元格默认属性)
  • 表格标题 (元素具有 display: table-caption, HTML表格标题默认属性)
  • 具有overflow 且值不是 visible 的块元素
  • 弹性盒(flex或inline-flex)
  • display: flow-root
  • column-span: all

# BFC的约束规则

  • 内部的盒会在垂直方向一个接一个排列(可以看作BFC中有一个的常规流)
  • 处于同一个BFC中的元素相互影响,可能会发生外边距重叠
  • 每个元素的margin box的左边,与容器块border box的左边相接触(对于从左往右的格式化,否则相反),即使存在浮动也是如此
  • BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然
  • 计算BFC的高度时,考虑BFC所包含的所有元素,连浮动元素也参与计算
  • 浮动盒区域不叠加到BFC上

# BFC可以解决的问题

  • 垂直外边距重叠问题
  • 去除浮动
  • 自适用两列布局(float + overflow)

# 了解盒模型么

包括内容区域、内边距区域、边框区域和外边距区域。

box-sizing: content-box(W3C盒子模型):元素的宽高大小表现为内容的大小。 box-sizing: border-box(IE盒子模型):元素的宽高表现为内容 + 内边距 + 边框的大小。背景会延伸到边框的外沿。

IE5.x和IE6在怪异模式中使用非标准的盒子模型,这些浏览器的width属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

# 如何实现左侧宽度固定,右侧宽度自适应的布局

小提示:这个问题面试官会要求说出几种解决方法。

DOM结构

<div class="box">
  <div class="box-left"></div>
  <div class="box-right"></div>
</div>
@前端进阶之旅: 代码已经复制到剪贴板

# 利用float + margin实现

.box {
 height: 200px;
}

.box > div {
  height: 100%;
}

.box-left {
  width: 200px;
  float: left;
  background-color: blue;
}

.box-right {
  margin-left: 200px;
  background-color: red;
}
@前端进阶之旅: 代码已经复制到剪贴板

# 利用calc计算宽度

.box {
 height: 200px;
}

fe
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • 面经汇总
    • 有赞一面
      • 说说CSS选择器以及这些选择器的优先级
      • 你知道什么是BFC么
        • 什么是BFC
        • 触发BFC的条件
        • BFC的约束规则
        • BFC可以解决的问题
      • 了解盒模型么
      • 如何实现左侧宽度固定,右侧宽度自适应的布局
        • 利用float + margin实现
        • 利用calc计算宽度
        • 利用float + overflow实现
        • 利用flex实现
      • 了解跨域吗,一般什么情况下会导致跨域
        • 跨域行为
        • JSONP
        • 如何实现一个JSONP
        • JSONP安全性问题
        • CORS(跨域资源共享)
        • JSONP和CORS的对比
        • 其他跨域解决方案
      • HTTP2和HTTP1有什么区别
      • 你能说说缓存么
      • 能说说首屏加载优化有哪些方案么
      • 如何在Node端配置路径别名(类似于Webpack中的alias配置)
      • 谈谈你对作用域链的理解
      • Vue响应式原理
      • 了解Event Loop么
      • 如何避免回流和重绘
    • 有赞二面
      • 项目问答环节
      • 算法题环节
    • 有赞(有赞美业)电话面
      • 浏览器事件循环的方式
      • 宏任务和微任务如何划分
      • 如何判断 js 变量类型
      • 说一下vdom 和 diff
      • diff 算法的时间复杂度
      • hooks 相对于之前的开发方式有什么特点
      • react 开发中有哪些性能优化的方式
      • setState 是异步吗
      • 如何实现批量更新的策略
      • HTTP2 相对于 HTTP1 的优化
    • 滴滴面经1
      • 你知道哪些安全问题,如何避免
      • CSRF/XSRF(跨站请求伪造)
      • 介绍一下Graphql
      • 说说Vue中$nextTick的实现原理
      • 如何实现居中
      • 用过Flex么,能简单介绍一下么
      • bind的源码实现
      • 伪类和伪元素的区别
      • 小结
    • 51信用卡(一面)
      • 在ES5中如何实现继承
      • 绝对定位
      • 消抖和节流
      • Vue中的computed实现原理
    • 阿里部门未知(一面)
      • 说说Webpack的实现原理
      • 首屏优化有哪些解决方案
      • Node.js的加载机制(require和module.exports)
      • 你觉得你最擅长什么
      • React和Vue的区别
    • 阿里CBU技术部(一面)
      • 说说z-index有什么需要注意的地方
      • 熟悉CSS3动画么
      • 有没有做过什么可视化的项目
      • 你觉得你最擅长的是什么
      • Flex实现两列布局
      • 说说DOM事件流
      • 你觉得你有做过推动流程或者改善流程的事件么,举例说明
      • 小结
    • 阿里企业智能事业部(一面)
      • Webpack的loader和plugins的区别
      • HTTP状态码206是干什么的
      • React高阶组件的作用有哪些
      • Service Worker有哪些作用
      • 跨域
    • 阿里企业智能事业部(二面)
      • Vue的整个实现原理
      • Chrome插件如何屏蔽广告
      • 如何判断两个变量相等
      • Vue的数据为什么频繁变化但只会更新一次
      • 绝对定位、固定定位和z-index
      • 阿里企业智能事业部(HR面)
    • 阿里社招面经
      • 笔试
      • 问答题
    • 微信社招面经
      • 笔试
    • 网易面经
      • 第一个场景问题
      • 第二个场景问题
      • 第三个场景问题
      • H5新特性
      • vue组件间通信
      • 遍历对象方法
      • 数组去重
      • 数组的扁平化
      • 深度遍历
      • 链表的相加问题?
      • ES6语法,Promise了解吗
      • 聊一聊map和set
      • 前端性能优化
    • 字节跳动三轮技术+一轮HR
      • 抖音一面(45min):
      • 抖音二面(1个小时)
      • 抖音三面(1个小时)
      • HR 面:(30min)
      • 整体感受
    • 淘宝两轮
      • 淘宝一面
      • 淘宝二面
    • 阿里云五轮
      • 阿里云一面
      • 阿里云二面
      • 阿里云三面
      • 阿里云四面
    • 深圳某做海外加速器公司
      • 1. DIV+CSS布局的好处
      • 2. 如何解决a标点击后hover事件失效的问题?
      • 3. 点击一个input依次触发的事件
      • 4. 响应式的好处
      • 5. Vue的优点及缺点
      • 6. Vue中hash模式和history模式的区别
    • 深圳某电商公司
      • 1. null和undefined
      • 2. 冒泡排序算法和数组去重
    • 深圳某云产品公司
      • 1. 描述一下Promise
      • 2. Promise.all中如果有一个抛出异常了会如何处理
      • 3. Promise为什么能链式调用
      • 4. 描述一下EventLoop的执行过程
      • 5. docoment,window,html,body的层级关系
      • 6. addEventListener函数的第三个参数
      • 7. 有写过原生的自定义事件吗
      • 8. 冒泡和捕获的具体过程
      • 9. 所有的事件都有冒泡吗?
      • 11. 手写new
      • 12. typeof和instanceof的区别
      • 13. typeof为什么对null错误的显示
      • 14. 详细说下instanceof
      • 15. 一句话描述一下this
      • 16. 函数内的this是在什么时候确定的?
      • 17. webpack中的loader和plugin有什么区别
      • 18. HTTP和TCP的不同
      • 19. TCP和UDP的区别
      • 20. 介绍一下虚拟DOM
    • 深圳某房地产公司
      • 1. JSONP的原理以及手写一个实现
      • 2. 浏览器为什么要跨域?如果是因为安全的话那小程序或者其他的为什么没有跨域?
      • 3. CORS跨域的原理
      • 4. 在深圳的网页上输入百度,是怎么把这个请求发到北京的
    • 深圳某海外直播公司
      • 1. CommonJS和ES6模块的区别
      • 2. 模块的异步加载
      • 3. 开发一个模块要考虑哪些问题?
      • 4. 实现一个一组异步请求按顺序执行你有哪些方法?
      • 5. Promise.all()是并发的还是串行的?
      • 6. 平时写过哪些正则表达式
      • 7. 正则里的非如何实现的
      • 8. webpack几种hash的实现原理
      • 9. webpack如果使用了hash命名,那是每次都会重写生成hash吗
      • 10. webpack中如何处理图片的?
      • 11. 说一下回流和重绘
      • 12. 盒模型及如何转换
      • 13. 实现水平垂直居中的几种方式
      • 14. flex的兼容性怎样
      • 15. 你知道到哪里查看兼容性吗
      • 16. 移动端中css你是使用什么单位
      • 17. rem和em的区别
      • 18. 在移动端中怎样初始化根元素的字体大小
      • 19. 移动端中不同手机html默认的字体大小都是一样的吗
      • 20. 你做过哪些动画效果
      • 21. 如果让你实现一个一直旋转的动画你会如何做
      • 22. animation介绍一下
      • 23. animation有一个steps()功能符知道吗
      • 24. 用过哪些移动端的调试工具
      • 25. 说一下原型链
      • 26. 详细说一下instanceof
      • 27. V8的垃圾回收是发生在什么时候?
      • 28. 具体说一下垃圾回收机制
      • 29. 在项目中如何把http的请求换成https
      • 30. 知道meta标签有把http换成https的功能吗?
      • 31. http请求可以怎么拦截
      • 32. https的加密方式
      • 33. 混合加密的好处
      • 34. 浏览器如何验证服务器的身份
      • 35. ETag首部字段说一下
      • 36. 你们的token一般是存放在哪里的
      • 37. token会不会被伪造?
      • 38. redis中一般用来存什么
      • 39. 前后端如何验证一个用户是否下线了
      • 40. CSP白名单知道吗?
      • 41. nginx有配置过吗?
      • 42. 反向代理知道吗?
      • 43. 有用过抓包工具吗?
      • 44. 你平常用的电脑是Mac吗?
      • 45. Fiddler有用过吗?
      • 46. Vue的diff算法
      • 47. Vue中computed和methods的区别
      • 48. 例如要获取当前时间你会放到computed还是methods里?
      • 49. 你们的权限功能是怎么做的?
      • 50. 那你在判断权限的时候是用的字符串匹配还是位运算?
    • 深圳某国内直播公司
      • 1. 输入URL到页面呈现
      • 2. 为什么说script标签建议放在body下面?
      • 3. 为什么说script标签会阻塞页面的渲染呢?渲染线程和js引擎线程不是分开的吗?
      • 4. 协商缓存说一下
      • 5. HTTP中的Keep-Alive有了解过吗?
      • 6. 跨域有了解吗?如何解决跨域?
      • 7. WebSocket有了解过吗?它也可以跨域的
      • 8. 前端安全方面?XSS?CSRF?
      • 9. setTimeout的执行原理(EventLoop)
      • 10. requestAnimationFrame有了解过吗?
      • 11. requestAnimationFrame和setTimeout的区别?
      • 12. 平常工作中ES6+主要用到了哪些?
      • 13. 如何在前端实现一个图片压缩
      • 14. 你上家公司主要是做什么的?
      • 15. 团队多少人呢?
      • 16. 项目中有碰到什么难的问题吗?如何解决的?
      • 17. 期望薪资多少?
      • 18. 还有什么想要问我的吗?
    • 明源云(一面)
      • css 选择器的排序
      • css 相同等级的样式匹配的顺序
      • webpack 打包出来的 html 为什么 style 放在头部,script 放在底部
      • 某些脚本资源无法放在底部,如何解决
      • defer 和 async 的区别
      • webpack 配置如何实现开发环境不使用 cdn、生产环境使用 cdn
      • 你在项目中做过的首屏加载的优化
      • 懒加载的实现
      • 防抖节流的概念
      • 你们对于 webpack 如何配置
      • react 的一些优化
      • 迁移 ts 的理由
      • hooks 的收益
      • graphql 对比 restful
      • 算法优化
      • mobx 对比 redux
      • 迁移 mobx 的原因
      • 针对自己简历上项目的讲解
    • 明源云(二面)
      • 介绍项目
      • 介绍一下为什么用 graphql
      • 为什么要使用语雀来做富文本编辑器
      • 如何处理语雀的防盗链
      • 介绍一下公司的组件库
      • 介绍一下迁移 ts 的过程
      • 介绍一下 ts 的 eslint
      • 为什么需要从 redux 迁移到 mobx
      • 什么情况下需要用到状态库
      • 业务开发中如何进行组件的拆分
      • 说一下和后端接口交互那一块,在开发中如何进行规划
      • 写组件的时候使用类组件还是函数组件更多,为什么
      • 聊一下笔试题中 LazyMan 的实现思路
      • 离职之后,你在做什么,在思考什么,有没有关注前端新闻,职业规划
    • cvte(一面)
      • 自我介绍
      • 在维护组件库的过程中,有什么难点
      • 说一下原型链
      • 继承的优缺点
      • 说一下输入 url 到页面渲染的全过程
      • 首屏优化
      • ts 的编译原理
      • 实现一个 ts 工具函数,获取 Promise 中的泛型
      • React 中性能优化的做法
      • PureComponent 中如何对比两个对象
      • node 的事件循环
    • 中信银行信用卡中心(一面)
      • 自我介绍
      • 介绍一下你们组件库
      • 介绍一下redux迁移到mobx的目的
      • 官网重构中使用了graphql,这是怎么回事?
      • hashMap 和 Object 的区别
      • 解释一下 React 中元素和组件的区别
      • 在 React 中如何销毁页面里面的定时器
      • 介绍一下 React 中的 Fiber 架构
        • React 如何知道下一次执行该从哪个节点开始重新执行
        • 它使用了那种遍历方式遍历树
      • 介绍一下 webpack4 中的 tree-shaking
        • 介绍一下它的工作流程
        • CSS 可以做摇树吗
      • 实践题
        • 后续发现是 CDN 有问题,图片根本加载不出来,有没有其他办法绘制一个图形替换
      • 实践题
      • 实践题
        • 如果需求的场景不符合每一条数据固定高度?
      • 算法
        • 二叉树有哪种遍历方式
        • 跳跃游戏(贪心算法)
    • 招创礼记(一面)
      • 自我介绍
      • 水平垂直居中
      • defer 、async 区别,作用
      • 输入url的全过程
      • 深拷贝和浅拷贝的区别
      • 数据类型(基本类型、引用类型)
      • 如何判断类型
      • js 装箱加载
      • js 运行机制(事件循环)
      • 笔试题
      • webpack loader 介绍一下
      • hooks 作用
      • hooks 和 hoc 的区别
      • ts interface 和 type 的区别
      • mobx 使用过程介绍一下
      • git 说一下
      • 首屏优化说一下
      • 项目中比较难的困难
    • 铱云科技(一面)
      • 自我介绍
      • 在团队中的角色
      • 技术选型的考虑(redux 迁移到 mobx 的原因)
      • rxjs 和 mobx 思想上的区别
      • mobx 使用上有没有遇到问题,是不是mutable
      • js 设计模式
      • 发布订阅和观察者模式的联系与区别
      • 弹窗嵌套弹窗的设计思路
      • 如果需要关闭指定的弹窗,如何设计
      • 多个弹窗需要注意什么
      • 多种层级如何进行管理
      • OOP 的特性
      • ts 中泛型的作用
      • 软件开发原则性的理解
      • 在开发组件、编写函数这方面会注意什么问题
      • 如果需要对已有模块进行扩展,如何进行开发保证调用方不受影响
      • 有接触过服务端的知识吗
      • 性能优化
      • 原生和 webview 之间如何通信
      • jsBridge
      • 技术和产品之间的关系
    • 平行空间(一面)
      • 自我介绍
      • css 水平垂直居中
      • 保持盒子的宽高按屏幕大小等比例缩放
      • 浏览器的渲染机制
      • 跨域
      • 原型链的原理
      • 文本超出显示 …
      • 合并数组、对象的方式
      • export 和 export default 的区别
      • 事件队列(事件循环)
      • react 生命周期
      • redux、mobx 的区别
      • hooks 和 hoc 的对比
    • 平行空间(二面)
      • 自我介绍
      • react、angular 的比较
      • 对 vue 的看法
      • 工作两年中解决的难题,能体现自己能力的项目
      • 迁移 ts 的原因
      • 简单介绍一下 react 的生态
      • 手写代码,数字加逗号
    • 科创先锋(一面)
      • 自我介绍
      • 组件库介绍
      • lerna 说一下
      • yarn workspace 了解吗
      • 代码评审的原则
      • ts 迁移的原因
      • Mobx 原理
      • angular 和 react 对比
      • 盒模型说一下
      • 给一个 div 设置一个100px,解释一下
      • position 说一下
      • 设置 left top 会对兄弟节点有影响吗
      • 需求题
    • 兔展(一面)
      • 自我介绍
      • 缓存分类
      • 跨域
      • 前端安全和攻击
      • 内容安全策略(CSP)
      • cookie、session|insert(题目没听清楚)
      • var let 区别
      • 有哪几种作用域
      • 闭包的理解
      • 异步的理解(事件循环)
      • async/await、Promise、generator 的区别
      • class 的理解
      • new 的实现机制
      • webpack 打包原理
      • 首屏渲染优化的理解
      • seo 有什么理解
      • 服务端渲染的原理
      • react 某些生命周期被废弃的理由
      • fiber reconciler 和 stack reconciler 的区别
      • useState 和 useRef 的区别
      • hooks如何清除副作用
      • ts 的 type 和 interface 的区别
    • 兔展(二面)
      • fiber 架构是什么
      • diff 算法实现思路
      • key 在 diff 算法中的作用
      • diff 算法时间复杂度
      • diff 为什么这么高
      • fiber 节点是一个什么数据结构
      • 开发组件基于什么原则
      • 迁移 ts 的过程
      • 迁移过程中遇到的问题
      • ts 的 type 和 interface 的区别
      • ts 里面如何声明函数的重载
      • ts 元组和数组的区别
      • ts 元组的使用场景
      • esm 和 cjs 的模块化的区别
      • pc 端上常见的性能优化手段
      • HTTP 缓存机制
    • 顺德美云智数(电话)
      • 做过的项目
      • 项目中遇到的问题
      • 了解过 webpack 源码,写过 webpack 插件吗
      • es next 了解过吗,通过什么途径
      • 浏览器的兼容有什么经验
      • 讲一下 react 的主要思想,和 ng 的对比
      • 深拷贝、浅拷贝讲一下
      • setInterval、setTimeout 时间是有误差的,为什么
      • 做一个连续的动画,实现方案
      • 水平垂直居中
      • 两栏布局
      • 有些页面需要嵌入第三方页面(iframe),如何进行通信
      • 具体跨域解决实现
      • 前端缓存
      • 代码管理工具是用什么
      • 有用过子模块吗
      • 有用过 rebase 吗
    • 酷家乐(一面)
      • 项目中的性能优化
      • 项目中有什么值得说的
      • ts 有什么优势
      • type 和 interface 的区别
      • React 的事件机制
      • 聊聊 React 的 diff
      • React 优化
      • 如何理解闭包
      • 节流的实现
      • es5 继承
    • 酷家乐(二面)
      • React 基本原理
      • React 的性能优化
      • Redux 重点概念
      • 聊一下 React 的生命周期
      • Hooks 如何处理生命周期
      • 考察盒子模型和 box-sizing 属性,判断元素的尺寸和颜色。
      • 实现一个 fill 函数,不能用循环
      • 用 ES5 实现私有变量
    • 酷家乐(三面)
      • 性能优化
      • class组件如何做性能优化
      • 实现一个 TypeScript 里面的 Pick
      • 手写 Promise.all
      • 手写并发限制器
      • 算法题,判断单链表相交
      • 算法题,如何找到第一个相交的点
    • 酷家乐(四面)
      • 如何实现水平垂直居中
      • 看过开源库的源码吗
      • 聊聊 React 的源码
      • FiberNode 有哪些属性
      • stateNode 有什么作用
    • 拼多多(一面)
      • React 16 生命周期的变化
      • 详细介绍一下 getDerivedStateFromProps
      • flex: 0 1 auto 具体表示什么含义
      • less 的 & 代表什么
      • 算法题:求字符串最大公共前缀
      • interface 和 type 的区别
      • 状态管理工具
      • 有用过 ssr 吗
      • node 熟悉吗
    • 拼多多(二面)
    • 拼多多(三面)
    • 拼多多(一面)
      • redux 理念
      • react-redux 中 connect 怎么实现
      • mixin、hoc、继承的区别、优缺点
      • react diff 实现
      • react 旧版的diff用深度优先还是广度优先。为什么用深度优先,广度优先能实现吗
      • diff的时间复杂度?为什么?
      • react-router 实现原理
      • 客户端路由 hash/history 实现的区别、原理
      • 有哪些常见的 http 头
      • websocket 轮询的好处缺点
      • websocket 握手的过程
      • tcp 握手过程
      • tcp/udp 的区别
      • 尽可能多实现pdd app 导航布局实现(4等分div并列排布)
      • 如何清除浮动
      • BFC 实现原理
      • 开放题:pdd 假设没有首页优化,尽可能想办法优化
    • 拼多多(二面)
      • css盒子模型(content-box、border-box)
      • 实现动画有哪些方法
      • react mixin hoc 以及 hook 之间的区别和优缺点
      • 浏览器渲染出一个页面的过程
      • vue/react 技术选型
      • 项目相关,重构开发如何并行
      • 项目中工程化进行了哪些优化
      • 项目中进行优化会从哪方面去做
      • nodejs 性能优化
      • linux 文件权限
      • 前端监控怎么实现
    • 金山软件
      • DNS 解析(浏览器输入 url 全过程)
      • 前端缓存
      • HTTPS 原理
      • HTTP 长连接实现原理
      • 事件循环
      • 事件调用栈
      • Next.js 如何实现服务端渲染
    • 金山(wps+)一面
      • CSS选择器及优先级
      • CSS有什么布局方式
      • 各种布局之间有什么优缺点
      • 你用过什么CSS预编译器
      • less 有什么缺点
      • 有遇到过1px的问题?知道如何解决吗?
      • js里面有什么数据类型
      • 有哪些判断方法可以判断类型?
      • es6中let、const和var有什么区别
      • const声明的变量怎么修改
      • 箭头函数和普通函数的区别
      • 事件代理
      • 数组有什么方法
      • 如何往数组中插入一个值
      • 浏览器cookie、localStorage、sessionStorage的区别
      • 除此之外,前端还有什么存储方案
      • 对前端的安全有什么理解
      • 对闭包的理解
      • 简单的实现一个闭包
    • 金山(wps+)二面
      • 项目中有redux迁移mobx,详细说一下原因。这二者有什么区别
      • 介绍一下高版本React和低版本React之间的api废除的理由
      • setState 是同步还是异步
      • 在setTimeout中,是否会进行批量更新
      • 说一下React的合成事件
      • 说一下函数组件和class组件的区别
      • 对比一下hook和hoc的优势
      • 说一下graphql解决的问题
      • 做过的seo优化
      • 说一下JWT机制
      • 实践题
      • 实践题
      • 如何预防网站劫持
      • 实践题
      • 首屏优化
      • 说一下你对前端开发的理解
      • 做过的项目的难点以及如何解决
      • 离开的原因
      • 职业规划
    • 富途证券(架构组)一面
      • 离职原因
      • 想加入什么样的团队
      • 你开发过什么组件?
      • 优化过 webpack 的性能?
      • 做过什么?
      • 讲一下 ts 的重载?以及为什么需要用重载?
      • 组件库在迁移的过程中有什么难搞的问题?
      • 做过移动端的开发吗?
      • 了解移动端的设备适配问题吗?
      • finally 在 IOS 8 用不了的原因是什么?
      • 下面这段代码有什么问题
        • 描述一下原型、构造函数、实例之间的关系
        • 说一下 instanceof 的原理
        • 怎样判断类型
      • 下面代码输出什么
      • 下面代码输出什么
      • 地址栏输入URL到页面渲染发生了什么
      • 介绍一下强缓存和协商缓存
      • HTTPS 能不能做一个中间层,在中间层之间做劫持?有办法避免吗
      • 在 a.com 中能发送一个 ajax 请求到 b.com 吗?
      • 如何避免页面被别人的 iframe 页面嵌套
      • XSS防御
      • 除了 XSS 以外,还有什么安全问题
      • 假设你的页面加载非常慢,你会怎么判断问题出现在哪?如果是普遍的网络问题,怎样解决?如果不是网络问题,怎么解决?
      • 算法题
    • 欢聚时代(总部)一面
      • 离职原因
      • 说一下 Angular 的脏检查
      • 有什么办法优化变更检查
      • 平时工作中如何优化 Angular 变更检查的性能
      • 说一下 React 的 diff 算法
      • 说一下 Angular 和 React 的事件机制
      • 大概说一下 setState 时,React 中 render 时如何工作的
      • 有没有遇到过重新绑定实例的情况(不知道他问的是啥)
      • 为什么要用 graphql
      • 项目中 pc 端兼容的浏览器版本
      • 如何用 css grid 做九宫格
      • 说一下 vertical-aligen 的属性
      • 如何用 css 写一个三角形
      • 有没有用过 es next 的最新语法
      • Promise 的 finally 如何实现
      • 有用过迭代器吗
      • 有用过异步循环吗
      • css 中继承的属性,什么时候会用到
      • 你们的项目如何从构建发布到上线
      • node 项目中如何守护进程
      • 项目中有用过 cdn 进程吗
      • 说一下 cdn 的原理
    • 广州 shein 跨境电商(远程面)
      • 实现一个 Modal 框的思路
      • 实现水平垂直居中
      • 实现上下固定,中间自适应
      • 有没有做过移动端,有没有了解过自适应和响应式
      • 哪些样式会触发重排
      • Webpack 性能优化
      • 有没有写过 Webpack loader
      • 有没有参与组件开发
      • 你们的全键盘是如何实现的
      • 如何让 React 减少重新渲染次数
      • Mobx 如何能让组件触发重新渲染
      • 项目中如何储存用户信息
    • 虾皮(toC group)一面
      • 说出打印结果
      • 手写原型链继承
      • 实例属性和原型属性的区别
      • instancef 的原理
      • 浏览器缓存
      • Service Worker 大小大概是30Gb,如果用户硬盘没有那么大怎么办
      • Service Worker 的大小和强缓存、协商缓存的大小是一起计算的还是分开计算
      • Push Cache 的具体处理方式
      • HTTP2 的优缺点
      • HTTP2 有没有可能比 HTTP1 还要更慢
      • var、let、const 的区别
      • 说出打印结果
      • webpack
      • 常用插件
      • 如果有一个工程打包特别大,如何进行优化
      • cjs 和 esm 模块化的区别
      • es6+ 有哪些新的语法
      • 跨域解决方案
      • 说一下 CORS 中的预请求
      • xss 和 csrf
      • 用户信息存储的方式
      • React 性能优化的方式
      • 实现一个节流函数
    • 虾皮(toC group)二面
      • 有哪个组件最让你印象深刻
      • 这个组件的原理介绍一下
      • 这个组件有做兼容性处理吗
      • 说出以下代码的输出
      • let a = "abc",解释器在解释在这句话的过程中,内存发生的变化,比如内存放在哪里,申请了多大的内存
      • 介绍一下 esm 和 cjs 的差异
      • 介绍一下前端安全问题
      • 假设有一个页面需要实现下拉无限滚动加载,如何实现和优化
      • 笔试题
    • 虾皮(一面)
      • http 302 301 307 的区别
      • 301 和 302 哪个对 seo 更友好(301)
      • 跨域是什么、如何解决
      • jsonp 有什么缺点
      • base64和外链的应用场景,各自的优缺点
      • http缓存机制
      • https 的握手过程
      • set/map 的区别
      • hook 的局限性
      • setState 和 hook 的区别
      • decorator 的作用,编译后是什么样子的
      • symbol 是什么,一般用来做什么
      • csrf 是什么,如何防范
      • sql注入是什么,如何防范
      • react 调用 setState 之后发生什么
      • nodejs 事件循环机制
      • pm2原理,有哪些模式(cluster fork)
      • docker 和 k8s 有了解多少
      • 移动端一个元素的拖动,如何实现和优化(节流,改变位置)
      • for in / for of 看代码输出
      • 描述链表的反转如何实现,复杂度多少
      • 实现 instanceof
      • 实现一个对象被 for of 遍历
      • 实现链表的添加、删除。复杂度是多少
    • 虾皮(二面)
      • 给两段效果上都可以实现继承的代码,说出差异
      • this 输出问题
      • 如何监听 html 外链资源加载失败
      • Mutation Observer、Intersection Observer 使用场景
      • 127.0.0.1 和 0.0.0.0 差别(一个只能通过 localhost ,另一个可以通过本机 ip 或者 localhost 都可以)
      • 利用 Promise js sleep 函数实现
      • jsx 转换后是什么样子的
      • redux compose 函数是做什么的,中间件呢
      • redux-sage 是什么,和 redux-thunk 有什么区别
      • dva 了解吗
      • umi.js 有用过吗
      • req.pipe(res)
      • stream 如何处理数据消费和数据生产的速率不一致问题
      • writeable stream drain 事件是做什么的(这是和一个控制读写速率有关的事件)
    • 虾皮( 一面)
    • 虾皮( 二面)
    • 百度(安全平台)一面
      • 请实现一个通用add方法,add参数为任意数量,如add(1, 2, 3) 输出6。
      • 请实现Promise.all()。
      • 请实现一个双向数据绑定。
      • 算法题
      • ts 和 js 的区别
      • es 和 js 的区别
      • amd 和 esm 的区别
      • 浏览器是否支持 esm
      • webpack怎么进行首屏加载的优化
      • 了解过 tree-shaking 吗
      • 闭包为什么会有内存泄漏问题
      • 了解过 nodejs 吗
      • express 和 koa2、koa3 的区别
      • 了解过 flex 布局吗
      • 有8个子盒子,每个盒子宽100px,父盒子宽700px,那么它是一行显示还是会换行?
      • 我想换行怎么实现?
      • HTTP 和 HTTPS 的区别
      • HTTPS 的加密如何实现
      • 数字证书如何验证合法性
    • 百度(安全平台)二面
      • 输入URL到页面展示中的全过程
      • 在这过程中的话涉及那些网络协议
      • HTTP协议是否包括端口号
      • 端口号是TCP协议的一部分?
      • 为什么需要三次握手?
      • 三次握手的全过程
      • TCP连接如何确认连接方
      • HTTPS的握手过程
      • 证书的作用以及判断过程
      • 建立SSL连接之后,是对称还是非对称加密
      • 为什么会有跨域的问题
      • 跨域的网络情况大概是怎样
      • 除了常规的GET、POST以外,DELETE等请求也是这个流程
      • 解决方案
      • jsonp为什么可以实现跨域呢
      • 除了script标签,还有哪些标签支持跨域请求
      • 直接使用表单提交请求,会有跨域问题吗
      • websocket 建立过程是怎样的
      • 代码题
      • 面向对象编程中的三个特征
      • 面向对象编程中的五个规则
      • 开发过程中的设计模式
    • 微信(一面)
    • 微信(二面)
    • 微信(三面)
    • 腾讯(部门未知)一面(电话面)
      • 什么是事件委托
      • 了解 Promise 吗
      • window 的 onload事件和 domcontentloaded 谁先谁后
      • 有遇到过跨域问题吗?如何解决
    • 腾讯(部门未知)二面(QQ 远程面)
      • 原型链考察
      • new 考察
      • typeof 和 instanceof 的区别
      • 下面代码输出什么
      • new 和 instanceof 源码实现
      • 下面代码输出什么
      • 箭头函数 this 的指向问题
      • for…in 和 for…of 的区别
      • 说说 generator 的了解
      • flex 布局中的 flex-grow 和 flex-shrink 属性的作用
      • 说一下宏任务和微任务,并说出下面代码的运行结果
      • 数组扁平化处理
    • 腾讯(部门未知)三面(电话远程面)
      • 输入 URL 到页面加载发生了什么
      • 缓存知识
      • 描述一下 DNS 解析过程
      • TCP 是如何发起连接和断开连接
      • 你知道有什么状态码
      • 有哪些手段可以优化网页响应速度
      • 5点15分,时针和分针的夹角
      • 算法
    • 腾讯(部门未知)三面(笔试)
      • 原生 js 实现
      • 算法
    • 腾讯(部门未知)四面
      • 你在做这个系统如何确保消息实时推送
      • 消息撤回功能如何实现?
      • WebSocket 有时会出现掉线,如何解决
      • 了解过哪些排序算法,描述一下归并排序的实现
      • 有没有了解过 react 的 diff 算法
      • 讲讲前端安全问题
    • 腾讯(IMWeb)一面
      • 你是怎么接触前端的
      • js new 执行构造函数的的过程
      • js 说一下 this 指向
      • 说一下 bind 函数结构
      • 说一下 js 继承
      • 实现正则表达式
      • 说一下 DOM事件流模型
      • 说一下你知道的 HTTP 状态码
      • 浏览器缓存的过程
      • 说一下 XSS
      • 如何防范
      • 说一下 CSRF
      • 危险网站 B 如何拿到受信任网站 A 的 cookie
      • 危险网站 B 利用哪种 API 受信任网站 A 发送请求
    • 项目经历中有写 SSR,说一下你是怎么实现的
      • 如何保证同构的模块不会挂掉,例如在服务端访问 document
      • ts问题
      • 你觉得 ts 很重吗,如何确保你的同事不写 any
      • ts 给你带来的价值
      • 实现一个 ts 的工具函数
      • 你有维护组件库,说一下如何管理组件
      • 组件质量如何保存
      • 没有测试用例的情况下,组件发布完全靠测试去人工测试?有没有遇到出错的情况。
      • 组件发布的是不是所有依赖这个组件库的项目都需要升级?
      • 发布问题
      • 除了 lerna,还有其他的方式吗
      • 你们组件库,别人如何能知道如何使用
      • 假如现在是下午 5 点 35 分,时针和分针的夹角是多少
    • 腾讯(IMWeb)二面
      • 迁移 ts 的背景和原因
      • 聊到一个服务端渲染的项目,具体聊聊为什么需要使用服务端渲染
      • 这几个项目中,哪几个项目的挑战难度比较大
      • 笔试题
      • 大数相加
      • 最近有没有了解前端最新技术
      • react 17 有了解过吗
      • pwa 有了解吗
      • deno 和 node 的区别
      • 在之前的公司,有没有主动推动一些技术的发展
    • 腾讯(IMWeb)三面
      • 为什么离职
      • 上上家为什么离职
      • 你认为上一家公司对技术有追求吗
      • 如何理解一个出色的系统
      • 你们有多少的客户
      • 客户样本太少,如何解决
      • 哪个功能客户用得最多
      • 整个系统里面一共有多少个订单
      • 为什么要从 redux 从 mobx
      • 你觉得这两个各自在哪个场景下更加合适
      • 系统维护了多久
      • 经手了很多人,维护的难度会不会很大
      • 为什么接入 ts 会延长系统的生命周期
      • 官网重构
      • 怎样优化 seo
      • 怎样进行首屏渲染测速
      • 怎么知道服务端渲染的速度会快呢
      • 是同构吗?是数据同构?是UI同构?
      • 整个服务端渲染的瓶颈在哪里?单机qps是多少?
      • 整个网站有多少用户量?有多少台 node 服务器
      • 用的是 http/1 还是 http/2,用的是 http 还是 https?
      • 你最擅长的是什么
      • 有用 lint 吗
      • 一共有多少条规则
      • ts 除了静态类型检查以外,还有什么优秀的地方
      • 只有 ts 有装饰器吗
      • React 的版本?
      • 计算题
      • 给出的条件中能算出具体值吗?不能的话能算出具体范围吗?
      • 如果团队需要加班到晚上 2-3 点,你觉得合理吗?
    • 腾讯微视(桌面工程师方向)一面
      • 之前做的一家跨境电商的公司,这里面有什么可以说一下的地方
      • 主要写的是第二家,说一下
      • 具体遇到 ts 迁移遇到的问题说一下
      • 什么情况下会遇到这样的问题
      • 为什么是用 babel
      • 相比 babel 编写 es 或者 JavaScript,TypeScript 的优势是什么
      • mongodb 和 typescript 的 orm 是怎么做的
      • grapql 和 restful 的区别和优势
      • angular 和 react 的区别
      • react 的 component 的生命周期是什么样子的
      • 实现一个双向绑定
    • 腾讯面试四问
      • 页面通信
      • B 页面正常关闭
      • B 页面意外崩溃
      • DOM 监听
      • Object.defineProperty 可以监听 DOM 属性吗?
      • 如何监听一个新创建的属性呢?
      • 除了监听滚轮,还有什么懒加载的方法?
    • 头条(一面)
    • 头条(二面)
    • 头条(三面)
    • 头条(四面)
    • 字节跳动
      • 实现一个抓包请求
      • 实现一个防抖功能
      • 实现一个图片懒加载
      • 获取一个异步求和函数
    • 字节跳动(Lark)一面
      • 平时怎么提升自己的前端水平
      • github 上面主要写什么
      • 笔试题
      • 浏览器渲染机制的理解
      • 性能优化方面的理解
    • 字节跳动(Lark)二面
      • 你觉得最有挑战的系统
      • 整个系统中如何解决各个模块之间关联的问题
      • 测试上线流程是怎样
      • 如何保证在改动过程中不影响别的模块
      • 阐述一下在系统中哪个模块比较复杂
      • 了解整个模块是怎么进行设计的吗
      • 如果一个电商的页面,有很多的商品列表,用户在加载这个页面的时候很慢,你会从哪个方面解决问题
      • 假如用户明确反馈在渲染列表的时候明显卡顿,如何解决
      • 你会如何分析具体的问题出现的位置
      • 阐述一下重绘与重排
      • 什么时候需要重排
      • 有一个页面,可以在后台输入商品内容展示给用户查看,你会怎样进行设计
      • 公共组件你会怎么进行设计
      • 算法题
    • 字节(一面)
      • 常用的 http 状态码(101 200 204 301 302 304 307 400 404 500)
      • 301 和 302 的区别(永久/临时)
      • 前端路由如何实现
      • 前端路由刷新404如何处理(404时重定向到index.html)
      • 从前端到后端全链路如何设计一个登录的流程(session 方案、jwt)
      • 什么是跨域,怎样处理
      • 简单请求、复杂请求
      • 浏览器的缓存策略
      • domain 属性解决跨域,几种domain设置对跨域是否生效
      • ts泛型做什么的,infer关键字的作用
      • 实现 typescript 的 Paramters、ReturnType
      • 实现 Promise.all
      • 实现一个并发请求控制函数,限制并发数
    • 字节(二面)
      • jwt 原理
      • xss和csrf防范
      • pureComponent 和 Component 区别(前者 shouldComponentUpdate 默认比较 props)
      • react hook hoc 解决了什么问题
      • 有哪些常用的 hook
      • 项目实现一个中间层的意义(前端全链路日志打通)
      • setState 同步还是异步
      • setState 传递对象和函数有什么区别
      • 合成事件是怎样的,有什么好处
      • 事件冒泡和事件捕获的区别,react中的冒泡和捕获(react 都是合成事件,无论是冒泡还是捕获,都对应原生中的冒泡)
      • 水平垂直居中
      • 手写 bind
      • 实现快排
    • 字节(三面)
      • graphql 相比 restful 的区别,优缺点
      • 为啥选择了redux-saga作为解决方案(解决异步优雅/提供很多工具函数)。redux的异步中间件方案有哪些,对比。saga对比dva?
      • graphql的鉴权在哪里做
      • 协程是什么(语言层面实现的并发),Go/nodeJs怎样去实现协程(Go使用go关键字、node可以使用Generator实现、我理解react16的异步渲染也是协程的实现)
      • react fiber的机制是怎样的
      • 锁机制的作用,node和Go如何处理死锁
      • Go/node实现并发怎么做
      • node和Go的优缺点怎样理解
      • 实现一个 useState
    • 快手( 一面)
      • react 16 新增了那些生命周期函数,有什么作用,为什么去掉某些 15 的生命周期
      • fiber 原理,如何实现异步渲染(链表/可中断)
      • redux 和 redux-saga 的区别和原理
      • 项目中用到的 saga-duck 是什么东西
      • useEffect 的实现原理
      • 异步渲染和旧版的 diff 的区别
      • babel 实现转码的过程(词法、语法分析)
      • 项目技术栈怎么选型
      • 小程序底层实现原理了解多少(双线程模型/预加载Webview)
      • 项目 nodejs 应用异常退出如何处理(pm2/uncaughtException 事件等)、日志上报怎么做(输出重定向到文件,elk服务传到kibana)
      • graphic schema 怎么设计
      • 有哪些技术驱动业务的案例
      • 算法:最大乘积子序列
    • YY
      • 说一下你们项目动态表单的实现
      • 说一下动态表格的实现
      • 你们这个JSON树是在哪里生成的,前端会生成吗?
      • 有了解过微前端吗?
      • 了解浏览器的哪些兼容问题
      • IE有哪些兼容性问题
      • 说一下EventLoop
      • 在项目里有用过node吗
      • 如何实现一个findIndex
      • 移动端布局有哪些方案?
      • 如果一个移动端的项目要显示在PC端上保证结构稳定你会如何做?
      • 你自己的项目里有做过哪些webpack上的优化
      • 具体说一下splitChunksPlugin
      • 有自己写过webpack插件吗
      • HTTP3.0.1和HTTP3.0.2的区别
      • 说一下Vue-Router的实现原理
      • Vue-Router初始化是发生在什么时候
      • 你觉得我还有哪些问题没有问到的,也就是你可以说一下你的加分项
    • CVTE
      • 离职原因
      • 新的一份工作你主要看中的是什么?
      • 先说一下你的期望薪资吧
      • 你为什么觉得你这次跳槽能有这么大的工资涨幅
      • 如果给不到期望薪资你会怎么办
      • 说一下你们项目动态表单的实现
      • 你遍历JSON树的具体过程
      • webpack构建流程
      • webpack插件原理
      • webpack在配置插件的时候是一个数组那它有顺序吗
      • 有用过哪些插件做项目的分析吗
      • 有做过哪些webpack优化吗
      • 有自己写过插件吗
      • 让你从零开始构建一个webpack项目你可以吗
      • 从输入URL到页面呈现的过程
      • 为什么TCP要三次握手而不是两次
      • HTTP和TCP的区别
      • 你们项目一般是如何做缓存的
      • 什么情况会阻塞页面的加载
      • script放在body头部就一定会阻塞吗
      • 添加删除了DOM节点会发生什么?(回流)
      • js中改变transform的left和right对比于css修改transform
      • 什么是GPU加速
      • 进程和线程的区别
      • 做过H5页面没有?你怎样适配移动端的
      • HTTP/2对比HTTP1.1
      • HTTP/2是怎么解决队头阻塞的
      • HTTP/2是如何压缩头部的
      • 为什么说HTTPS比HTTP安全呢
      • 说一下对称加密和非对称加密
      • HTTP请求的什么时候用的对称加密什么时候非对称加密
      • 对称加密的原理
      • 如果让你去实现一个CSRF攻击你会怎做?
      • 还知道其它的攻击方式吗?
      • Vue中key的作用
      • 如果我将key设置为了一个Math.random()可以吗
      • 如果让你设计一个双向绑定你会如何设计
      • 如何实现if(a===1&&a===2&&a===3)
      • 是有看过这道题吗?这么快的就回答上来了
      • 你觉得我还有哪些问题没有问到的,也就是你可以说一下你的加分项
      • 说一下你们权限的控制,路由权限以及按钮权限
      • 按钮权限除了用你现在的方式你还能想到更好的吗?比如封装一个组件
      • 你们的token一般是放在哪里
      • token放在Cookie和放在localStorage、sessionStorage中有什么不同吗
      • Cookie存在哪些安全问题?如何预防?
      • SameSite设置为了lax之后是怎样来控制Cookie的发送的
      • 如果顶级域名不同会发送吗
      • 还有哪些前端安全性问题
      • 如果使用jsonp的话会有什么安全问题吗?
      • 你们有做过单点登陆吗
      • 有用过ngnix吗?用它做过哪些事?
      • 有用过node吗?比如用它写一些中间层
      • 项目里做过哪些优化?
      • 你认为你做的项目最大的亮点在哪里
      • 项目中碰到的技术难点
      • 是什么让你有动力写bpmn.js教材呢
      • 有看过哪些源码呢
      • 有给git上的比较好的项目提过pull吗
      • 如果现在给你一个React的项目你觉得自己能多久上手呢
      • 你的职业规划是怎样呢
      • 说一下你的期望薪资吧?
      • 有对比过深圳和广州这边的薪资吗?
      • 有了解过我们公司吗?
      • 之前不是在深圳吗?为什么打算来广州?
      • 人生中有没有经历过什么对你触动比较大的事情?
      • 父母是如何看待你的工作的?
      • 你现在单身吗?
      • 工作之余的兴趣爱好
      • 期望薪资给不到怎么办
    • 编程猫
      • 动态表单的实现
      • 权限的控制
      • 你们项目一般是如何做缓存的
      • 项目中的环境变量是如何控制的?
      • 假设有两个子项目,他们需要共用同一个用户体系如何保证关掉页面之后打开另一个项目用户还是登录状态?
      • 项目如何优化
      • 首屏加载优化
      • SSR的使用场景
      • EventLoop
      • requestAnimationFrame属于宏任务还是微任务
      • 输入URL到页面的呈现
      • script与css还有页面的渲染顺序
      • script标签的async是什么时候加载的
      • 说一下==数据类型转换吧
      • 说一下Vue的diff算法
      • diff算法的缺点
      • 说下你们项目的亮点
      • 你们的UI组件库怎么实现按需引入的呢?
      • Webpack打包原理
      • Webpack打包有哪些优化
      • HTTP/2对比HTTP/1.1
      • 怎样看待你做的这几个项目呢
      • 项目亮点
      • 你在项目里负责什么
      • 项目难点
      • 你的优点
      • 还有什么想要问的吗?
      • 非技术的自我介绍
      • 住哪里?
      • 工作之余的爱好
    • 滴滴
      • 说一下你们的第一个项目
      • 说一下你们的UI组件库
      • 动态表格的实现
      • 如果有一个组件需要和前面的组件相关联你会怎么做
      • 说一下你们的工作流
      • 说一下你在项目中碰到的难点
      • Vue的双向绑定原理
      • Object.defineProperty()有什么缺点?Vue3为什么用Proxy?
      • nextTick实现原理
      • nextTick中的waiting是什么时候变为true的呢
      • 说一下虚拟DOM的作用以及实现原理
      • Vue3有哪些新的API或者有做哪些优化?
      • 有关HTTP缓存的首部字段说一下
      • HTTP中的keep-alive有了解吗?
      • 在一次传输中它是如何保证每个数据包之间的顺序的?
      • HTTP/2有了解过吗?
      • 具体说一下HTTP/2中的多路复用
      • 你认为你的优点是什么?
    • 阿里
      • position属性有哪些值分别介绍一下
      • relative的定位规则
      • 脱离文档流是会呈现什么样的效果呢?
      • 常规流(文档流)是个怎样的排列关系
      • inline-block的使用场景
      • GET和POST的区别
      • 为什么说GET会留下历史记录?
      • GET可以上传图片吗?
      • GET和POST的安全性问题为什么说POST相对安全一些
      • GET就一定是幂等的吗?
      • 说一下你所知道的缓存方案
      • 你们为什么要做这个动态表单?(业务痛点)
      • 动态表单具体的难点在哪?
      • 有没有了解行业内其它做动态表单这一块的
      • 你还有什么想要问我的吗?
    • 深圳开思
      • 说一说原型链
      • null为什么被typeof错误的判断为了’object’
      • 说一说几种this指向
      • 使用箭头函数时需要注意什么?
      • 说一下JS内置对象
      • 描述一下作用域链
      • 闭包的使用场景
      • 使用闭包需要注意什么
      • EventLoop
      • 用过哪些ES6的功能
      • 谈谈你对模块的理解
    • 头条
      • 格式化发布时间
      • 格式化数字
      • 一面
        • 实现 js ES5 数据类型的深拷贝
      • 二面
        • 实现简易 MVVM
      • 三面
        • 顺序发送4个请求a,b,c,d,要求按顺序输出
    • 美团
      • 二面
        • 用 promise 实现一个请求超时功能
    • 综合面试题
      • [高德一面] 一个 tcp 连接能发几个 http 请求
      • [腾讯一面] V-DOM 的优势
      • [字节跳动] CommonJS 和 es6 模块引用的区别
      • [头条] 如何选择图片格式
      • 首屏和白屏时间如何计算
      • 小程序 和 H5 的区别
      • 如何判断 0.1 + 0.2 与 0.3 相等?
      • [腾讯二面] v8 引擎执行一段 js 代码
    • 中大厂面试总结
      • 笔试题
      • 算法题
      • webpack、babel
      • HTTP
      • CSS
      • js
      • Vue
      • React