blog icon indicating copy to clipboard operation
blog copied to clipboard

面试经历分享

Open chenyinkai opened this issue 7 years ago • 0 comments

面试经历分享

由于前段时间工作调整,也是面试了好几次,所以在此记录下一些面试问题(大部分是笔试题)。

html,css

  • 简述盒模型
  • repainreflow
  • div 居中
  • rem

js

  • 如何解决小数点相加出现的异常,如 0.1 + 0.2 = 0.300000000000004. 如果是减法,除法,乘法呢?
  • 10w条数据,一次性渲染到页面上,如何处理可以不冻结UI?
  • 简述 webpack 分包加载
  • 简述 js 的事件循环机制
  • Promise.all 用法,场景
  • AMDCMDrequire.js 的核心原理
  • 用一行代码将数组 [1,2,3,4] 随机打乱
  • 浏览器缓存
  • 设计一个可无限嵌套的 Tree 组件(vue,react,angular),支持尽量多的使用场景,描述组件的参数,回调,事件等等。
  • vue, react 生命周期,每阶段做了什么
  • 用最基本的遍历实现字符串的 indexOf 方法,算法效率尽量高
  • 实现函数 multiply,实现无限数字的乘法。 multiply(1)(2)(3) = 6; multiply(1)(2)(3)..(n) = (1)*(2)*(3)*...(n)

react

  • 虚拟 dom 的作用
  • diff 算法
  • 父子组件生命周期执行顺序
  • 调用 setState 后会发生什么

数据结构和算法

  • 公司有 n 个员工,每个员工又年龄和姓名,请把员工按年龄排序,分析所用排序算法的时间和空间复杂度
  • 画出一个排序二叉树的例子并编程实现
    • 遍历二叉树
    • 插入一个节点
    • 删除一个节点
  • 请画出单向链表的一个例子并编程实现
    • 遍历链表
    • 插入一个节点
    • 删除一个节点

other

  • 最有成就的项目经历
  • 项目中的技术难点以及解决方法

chenyinkai avatar Jun 28 '18 01:06 chenyinkai