领保科技面试

领保科技面试

YoungYa 14 2024-11-01

一面 45min

自我介绍

http://youngya.top/archives/interview%2Fself%2Fintro

面试开始

1. 当我们从浏览器地址栏键入一个URL之后发生了什么?

2. 由上面键入URL的问题引出了重新渲染DOMCSSOM,然后又谈到了重排与重绘的问题

3. 在html中一般script标签放在哪个位置?

4. 如果在页面中加载大量的数据,执行大量的计算,script标签该怎么处理?

页面加载完成后再去计算,交给异步任务处理,requestAnimate优化

5. 使用过哪些ES6的哪些新特性?

展开运算符

数据结构map set

Promise

async await

生成器generator,迭代器iterator

箭头函数

类的概念

模板字符串

展开运算符,是深拷贝还是浅拷贝?

如果展开的对象是一个null或者undefined会怎么样?

Promise有哪几个状态?

Promise捕获错误可以在catch方法中,那async await 中该如何?

生成器函数的结果?

说一下你对数组中迭代器的理解?

数组实际上就是一个对象,只不过数组实现了[Symbol.Iterator]方法,这个方法返回一个对象,对象中有一个next方法,每次迭代的时候会调用next方法,返回一个对象,对象中 有一个done属性,用来判断迭代是否结束,如果为true则迭代结束 ,否则就返回这个对象的value属性的值作为结果返回。

let range = {
  from: 1,
  to: 5,
  // 1. for..of 调用首先会调用这个:
  [Symbol.iterator]() {
    // ……它返回迭代器对象(iterator object):
    // 2. 接下来,for..of 仅与下面的迭代器对象一起工作,要求它提供下一个值
    return {
      current: this.from,
      last: this.to,
  
      // 3. next() 在 for..of 的每一轮循环迭代中被调用
      next() {
        // 4. 它将会返回 {done:.., value :...} 格式的对象
        if (this.current <= this.last) {
          return { done: false, value: this.current++ };
        } else {
          return { done: true };
        }
      }
    };
  };
};
// 现在它可以运行了!
for (let num of range) {
  alert(num); // 1, 然后是 2, 3, 4, 5
}

TS用的多吗?我们也主要是标注一下类型,使用一些泛型,typeinterface这些,还有OmitPick这些

React中使用过哪些hooks

  1. 定义状态使用的useState

  2. 处理副作用的useEffect

  3. 缓存大量计算结果的useMemo

  4. 缓存函数的useCallback

  5. 较复杂的状态更新场景用的useReducer

  6. 用于子组件向父组件暴露方法的useImperativeHandle

  7. 用于进行上下文传递的useContext

这里就比较尴尬,把比较重要的useRef忘记说了,所以就有了下面一个情景题

假如我现在一个组件,里面有两个useEffect函数,第一个依赖数组为空,第二个依赖数组监听一个状态A,但是这个A状态的hook我想在组件第一次挂载的时候不触发,应该怎么实现?

面试当时第一反应就是利用锁的机制解决,定义一个变量,为Boolean值,通过if判断,在第一次挂载的时候更改这个变量的值就可以实现了。后来面试官还问那这个变量应该放在组件里面还是组件外面?再后面面试官就说了利用useRef定义一个就可以了

其他的问题就都不是很难了,聊的也比较不错,很快就进入到反问环节了

在使用axios请求的时候,我需要在请求头部携带一些信息,然后在请求响应中再处理一些响应信息,该怎么做呢?

反问

咱们这个面试有几个流程?

了解了一下公司的日常简介,大致是做什么的

最后请面试官对我做一个面评

面试结束后一个多小时就收到了二面邀请

后续

基本全程没有问什么技术性的内容,很快地就结束了。

第二天,最后一个HR谈薪资

成都

实习3个月-毕业,180 / day.

转正, 8K / month.

最后拒了