跳到主要内容

小米武汉前端面试题

题库

  • ready 与 DOMContentLoaded
  • React 技术栈:Electron/React Native
  • 隐藏与显示:hidden/display/opacity
  • 箭头函数 vs 普通函数
  • call/bind 手写与调用链 say.call.call
  • Less 常用函数
  • 双链表实现、二叉树/队列/栈与遍历
  • CSS 权重/层级、浮动文字环绕、圣杯/双飞燕布局、flex 布局、外边距折叠
  • requestAnimationFrame 动画优势
  • 浏览器存储与 HTTP 缓存
  • 排序:选择/插入/快排;二叉排序、删除二叉树节点
  • JS 基础:原始类型、闭包、原型、事件循环
  • 网络:TCP、HTTP/2、跨域、缓存机制
  • 安全:XSS、CSRF
  • ES6 语言特性
  • 设计模式、Base64 使用
  • 异步:defer/async 区别
  • Node.js:高并发注意点、多线程、性能优化、路由分发
  • 大规模 DOM 操作优化;1万条 li 插入优化
  • 原生 DOM 增删改查
  • 爬虫抓取机制、千分位实现、手写 Promise
  • 构建:Webpack 插件、Rollup
  • Axios、请求出错中断其他请求
  • Vue:methods/watch/computed 区别、双向绑定、状态管理、Diff 算法、find
  • 详细说下 视口概念
  • webpack 生产和开发环境配置区别
  • 找出一个字符串中重复次数最多的字母
  • 实现对象的深克隆
  • 将嵌套数组转化成单层数组(我用的递归,面试官提示js的类型转换,加了一个方法转化成string再split)
  • 如何获取页面上所有标签并打印其个数。(我问了怎么获取所有标签,告诉我querySelector('*'),让我尝试用数组的reduce方法,我说不太熟悉语法,最后用foreach实现了)

资料来源:掘金-小米面试题整理