中信银行信用卡中心(一面)

自我介绍

介绍一下你们组件库

介绍一下redux迁移到mobx的目的

官网重构中使用了graphql,这是怎么回事?

hashMap 和 Object 的区别

解释一下 React 中元素和组件的区别

在 React 中如何销毁页面里面的定时器

介绍一下 React 中的 Fiber 架构

React 如何知道下一次执行该从哪个节点开始重新执行

它使用了那种遍历方式遍历树

介绍一下 webpack4 中的 tree-shaking

介绍一下它的工作流程

CSS 可以做摇树吗

实践题

一个信息流的网站,网站中有很多图片,如果加载图片的时候,用户在进入一些网络状态比较差的情况下,如何用一张默认图片进行替换。

后续发现是 CDN 有问题,图片根本加载不出来,有没有其他办法绘制一个图形替换

实践题

脚手架中希望有一个功能,能够捕捉到整个项目中的异常(代码异常、资源异常)而不需要业务写 try catch,如何实现?

异步代码该如何进行捕获?

实践题

如果在进入页面的时候需要一次渲染10万条数据,有什么首屏优化的方案?

如果需求的场景不符合每一条数据固定高度?

算法

二叉树有哪种遍历方式

跳跃游戏(贪心算法)

给定一个非负整数数组,你最初位于数组的第一个位置。

数组中每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够达到最后一个位置。

思路

  1. 使用一个变量保存当前可到达的最大位置
  2. 时刻更新最大位置
  3. 可达位置小于数组长度返回 false,否则可以到达

答案

    function canJump(nums: number[]): boolean {
      let k = 0
      for(let i = 0; i < nums.length; i++) {
        if(i > k) return false
        k = Math.max(k, nums[i] + i)
      }
      return true
    }
Last Updated:
Contributors: leeguooooo