• css
    • bfc 触发的条件,相关问题
    • 0.5 像素边框 flexible
    • flex 布局
  • 浏览器渲染原理
    • dom,css生成过程,layout paint
    • 性能指标 onload oncontentloaded
    • v8 优化手段
  • react
    • fiber原理
    • hooks原理
    • react lazy load 原理
  • redux
    • 原理
    • 中间件
  • 监控
    • 并发优化
    • 压测
    • crossorigin 兼容性
    • img sendbcean axios 抉择
  • nodejs
    • egg 的进程模型
  • 微前端
    • js 隔离 css隔离 原理
  • 网络
    • 缓存具体流程细节
  • 手写
    • url解析
    • lodash get 方法
    • 节流防抖
    • 下划线转驼峰
    • 凑零钱,上台阶,背包
    • 成对的括号
    • flat 数组
    • eventBus 实现
    • Promise.all 并发 + limit 限时
    • 模版引擎实现
    • 双向绑定
    • ls -l /usr/xxx/dir,要求
      1. 获取参数及路径 后 打印出显示内容
      2. 显示内容 包括 文件名称 大小 修改时间
      3. 排序顺序 先 文件夹后文件
  1. 48位的时间位图格式化成字符串
  2. 要求:写一个函数timeBitmapToRanges,将下述规则描述的时间位图转换成一个选中时间区间的数组。
  3. 规则描述:
  4. 将一天24小时按每半小划分成48段,我们用一个位图表示选中的时间区间,例如110000000000000000000000000000000000000000000000,表示第一个半小时和第二个半小时被选中了,其余时间段都没有被选中,也就是对应00:00~01:00这个时间区间。一个位图中可能有多个不连续的时间区间被选中,例如110010000000000000000000000000000000000000000000,表示00:00-1:0002:00-02:30这两个时间区间被选中了。
  5. 示例输入:"110010000000000000000000000000000000000000000000"
  6. 示例输出:["00:00~01:00", "02:00~02:30"]

字节

  1. 算法能力如何? 给一个数组如:[[“a”,”b”,”c”],[“d”,”e”],…..]得到[ad,ae,bd,be,cd,ce],手写实现的方法?(要求js实现)
  2. 如何将上面的改成函数式编程风格?
  3. 如果数组中出现[[“a”,”b”,”c”],[“a”,”d”]]要求去掉”aa”这种情况(即两组所取的元素不能有相同的)?不能用filter…
  4. 跳台阶问题?m阶楼梯,一次最多可跳4次,有多少种可能?(本来问n次,然后直接举例说4次)手写实现代码?
  5. 死锁的条件是什么?
  6. js单线程?setTimeout(,100)是否会100ms后执行,原因是?EventLoop?
  7. 谈谈你对reactjs的理解?为什么项目中选用reactjs?与其他框架的区别?双向绑定是ng1还是ng2?vuejs1还是vuejs2?
  8. 项目中有使用flux或者redux等么?
  9. reactjs中虚拟dom要这样实现的原因是什么?(不是问如何实现的=_=)
    Chromium渲染的细节 RenderObject 等

一面
Http https,区别、 Filter函数实现
Js原型链 继承、Cookie、缓存
Js event loop ,各个阶段, 什么是宏任务, 什么是微任务
基本上都是概念上的题
Https2多路复用和keep alive的区别