Real interview questions

2020-12-14  本文已影响0人  家有饿犬和聋猫

yuanpingping

// 冒泡排序 每次将最小元素推至最前
function sort4(array) {
  var len = array.length,
  i, j, tmp, result;
  result = array.slice(0);
  for (i = 0; i < len; i++) {
    for (j = len - 1; j > i; j--) {
      if (result[j] < result[j - 1]) {
        tmp = result[j - 1];
        result[j - 1] = result[j];
        result[j] = tmp;
      }
    }
  }
  return result;
}
高阶组件的定义
      高阶组件通过包裹(wrapped)被传入的React组件,经过一系列处理,最终返回一个相对增强(enhanced)的React组件,供其他组件调用。

补充:

已经了解到vue是通过数据劫持的方式来做数据绑定的,
其中最核心的方法便是通过Object.defineProperty()来实现对属性的劫持,达到监听数据变动的目的,
请求的状态码 304 代表的是什么?
304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。

// 请求拦截器
axios.interceptors.request.use(
  function(config) {
    config.headers.token = sessionStorage.getItem(TOKEN)
    return config
  },
  function(error) {
    return Promise.reject(error)
  }
)

// 响应拦截器
axios.interceptors.response.use(
  function(response) {
    switch (response.status) {
      case 401:
        loginStore.outUser()
        createHashHistory().push('/main/home')

        break
      case 500:
        break
    }
    return response
  },

库伯

less和sass的 语法,区别(https://www.zhihu.com/question/270862074
 1 文件扩展名不一样,less的文件扩展名是less,sass的文件扩展名是sass,或者cscc;
 2  如果不使用镜像,安装sass会非常缓慢,并且容易报错。安装less会顺利很多。
 3 声明变量的区别
LESS:
@link-color: #428bca;
#main {
 @width: 5em;
 width: @width;
}
SCSS:
$link-color: #428bca;
#main {
 $width: 5em;
 width: $width;
}

繞辗

2021/1/29

兼容ie做了哪些操作?

1 IE10 文字超长换行问题
/*word-break: break-word;*/ IE10中不支持
  word-break: break-all;

封装过axios吗

https://blog.csdn.net/chf1142152101/article/details/107099403/
第一步 安装axios包;
第二步 建一个用于封装axios的文件
第三步 在文件中引入axios,然后封装get,put,delete等方法
第四步 在 请求拦截器中 做一些处理,比如添加token,添加请求头信息
响应拦截器中做一些处理,和后端商量好一些状态码的含义,比如登陆信息过期,需要移出token,返回登陆页等。

讲讲webpack配置
具体使用过哪些loader和babel
用过哪些hooks?
使用useState写的变量和普通变量有啥区别?

useState定义的变量需要使用自定义的set方法去更改,更改之后会触发render重新渲染,
普通变量更改不会出发重新渲染。

echarts在使用过程中遇到过啥问题吗?
比如echarts自身代码原因导致的问题。

讲讲echarts的缺陷。

糖方

1react使用过的版本?
2使用hooks要遵循哪些原则?在if循环里使用了hooks会怎么样?

--仅从 React 功能组件调用 Hook。不要从常规 JavaScript 函数调用 Hook。
---hooks要在函数组件内使用,在类组件内使用不起作用.
--react提供了一些内置的hooks,比如useState,可以创建自定义hooks,以便在不同组件中复用状态
--只能在顶层调用 Hook,不要在循环、条件或嵌套函数中调用 Hook。

2了解jsx吗?在react中可以不用jsx写吗?

利用 JSX 编写 DOM 结构,可以用原生的 HTML 标签,也可以直接像普通标签一样引用 React 组件。这两者约定通过大小写来区分,小写的字符串是 HTML 标签,大写开头的自定义标签是 React 组件

3context用过吗?进行了一个怎么样的数据处理?简单描述一下项目中使用到的context?如果不用provider包裹,但是使用了consumer,他会发生一个什么样的情况,页面会报错吗?

Context 提供了一个传递数据的方法通过组件树,从而避免了在每一个层级手动的传递 props 属性。

    //React.createContext:创建一个上下文的容器(组件), defaultValue可以设置共享的默认数据

    const {Provider, Consumer} = React.createContext(defaultValue);
    //Provider(生产者): 和他的名字一样。用于生产共享数据的地方。生产什么呢? 那就看value定义的是什么      了。value:放置共享的数据。

      <Provider value={/*共享的数据*/}>
    /*里面可以渲染对应的内容*/
      </Provider>
      //Consumer(消费者):这个可以理解为消费者。 他是专门消费供应商(Provider 上面提到的)产生数据。
      //Consumer需要嵌套在生产者下面。才能通过回调的方式拿到共享的数据源。当然也可以单独使用,那就只能消费到上文提到的defaultValue


      < Consumer>
        {value => /*根据上下文  进行渲染相应内容*/}
      </Consumer>。
4context会在初始化的时候传defaultvalue, defaultvalue在什么时候开始生效?
5用的什么Router?react的什么router

https://www.jianshu.com/p/11c750ee3880

6react的保存数据有用到redux吗?hooks里面有用过数据管理状态吗?

有用到过redux,多个页面需要共用信息的时候会用到,把状态存在store里面。
hooks中数据状态管理用到了useState和useReducer,useReducer,比useState更适合管理复杂的数据。

你了解redux吗?与hooks里的reducer有什么区别?简述一下hooks怎么使用reducer作数据管理,一般在什么场景下使用
7 localstorage和sessionstorage和cookie的却别?
在浏览器下发请求带了cookie,页面内嵌了一个别处的网站,然后向这个网站发起了请求,请问他会携带cookie吗?
8 跨域哪些资源不会受到跨域的影响?解决跨域的几种方式jsonp的原理是什么?
为什么 <script src="" />可以解决跨域问题,不受跨域影响,嵌入字体,src, ngnix
9 事件委托你了解过吗
10 UI上面的事件委托,怎么判断是UI受了点击事件还是li

https://blog.csdn.net/runner_123/article/details/80350259

11 构造函数在new 的过程中发生了什么?

1 创建的对象
2 设置原型链(将新对象的proto指向构造函数prototype)
3 将这个空对象改变 this 的指向 去调用构造函数
4 返回这个对象

 function _new() {
    let args = Array.prototype.slice.call(arguments,0);
    let constructor = args.shift()
    let content = {}
    content.__proto__ = constructor.prototype
    constructor.apply(content,args)
    return content
  }

  let p2 = _new(Person,'李四',20)
  console.log(p2);
上一篇下一篇

猜你喜欢

热点阅读