zoukankan      html  css  js  c++  java
  • 面试题

    1.二叉树两节点求公共父节点

    2.给定m*n数组,如果数组中有个元素为0,则对应行列值设为0,返回最终的数组

    3.js写出斐波那契数列(我用的递归,面试的时候问了,递归多次,是不是有重复计算,重复计算怎么办?)

    4.浏览器事件循环的题,写出执行顺序和原因

    5.写一个函数,用.then执行(记不清了)

    6.写出一个简单的闭包

    7.mouseenter,mouseover的区别

    8.display:none,和visibility:hidden的区别

    9.bind函数

    10.一个任务有req1,req2,req3,req4四个请求,写个函数,在req1,req2,req3全部响应后执行task1,req4请求完后执行task2。用fetch请求

     

    面试题

    1.二叉树遍历

    2.不用递归实现斐波那契,斐波那契多次重复,怎么优化

    3.你了解的设计模式有哪些,如果你自己写一个订阅发布模式怎么写

    4.react生命周期,hoc和hook

    5.前端工程化

     

    1.url输入浏览器发生了什么

    2.浏览器的事件循环,nodejs的事件循环

    3.深拷贝和浅拷贝,怎么去深拷贝?什么时候用?

    4.变量的类型有哪些?怎么去判断类型?typeof判断类型有什么缺点

    5.diff算法,diff算法快还是原始js快

    6.redux你们是直接用还是用的第三方?有什么优点?

    7.es6你常用哪些?map为什么要设置key,为什么最好不用index

    8.var,let,const有什么区别

    9.基本类型和引用类型的区别

    10.react fiber有了解吗?

    11.箭头函数

    12.0.1+0.2不等于0.3你知道吗

     

    12.说说你觉得做的比较好的项目

    13.说下websocket

     

    笔试题:

    14.至少使用三种方式判断是否为数组?

    var a = []; 
    // 1.基于instanceof 
    a instanceof Array; 
    // 2.基于constructor 
    a.constructor === Array; 
    // 3.基于Object.prototype.isPrototypeOf 
    Array.prototype.isPrototypeOf(a); 
    // 4.基于getPrototypeOf 
    Object.getPrototypeOf(a) === Array.prototype; 
    // 5.基于Object.prototype.toString 
    Object.prototype.toString.apply(a) === '[object Array]';

    15.什么是闭包?为什么要使用闭包,怎样实现一个闭包?

    16.如何实现(5).add(3).minus(2)功能,使其输出结果为6?

    17.什么是节流?什么是防抖?如何实现节流和防抖函数?

    18.请简要实现一个“发布-订阅”模式?

    19.如何使用react hook模拟componentDidMount?

    20.react中的受控组件和非受控组件有什么区别?

      受控组件是通过class组件中的state来控制,如在input输入时控制输入的内容,通过onchange的setState来控制

      非受控组件是通过ref来控制真实的dom

    21.react-router里的<link>标签和<a>标签有什么区别?

      a标签在点击后路由更改,但是在视觉上会闪烁,然后再渲染,体现为【消失】-【渲染】

      link标签在点击后同样路由跳转,但是视觉上不会闪烁,而是直接渲染。

      react-router:只更新变化的部分,从而减少dom的性能消耗

    22.input标签如何处理中文输入?

    23.react的diff算法是如何运作的,请简要说明?

    24.addEventListener的第三个参数

    25.BFC

    26.伪元素和伪类区别

    27.性能优化

    28.浏览器的缓存策略(no-cache)

    29.redux数据流转图

     

    1.react的context更新shouldComponentUpdate返回false而子组件不更新

    2.webpack的chunkHash,hash有什么区别?

    3.组件为什么要设置的key值?

      用户列表中李四和王五使用的是同一个key值,用户列表只有张三和李四两个用户,王五并没有展示处理,主要是因为react根据key认为李四和王五是同一个组件,导致第一个被渲染,后续的会被丢弃掉。这里的react设置key并不是和虚拟dom的diff算法相同。

    4.虚拟dom。

      就是一个普通的 JavaScript 对象,包含了 tag、props、children 三个属性。通过React.createElement()来将这个对象创建成dom

     浏览器内核:

      Trident ——ie,360,猎豹

      Gecko——Mozilla FireFox

      Webkit——safari,chrome,360(分版本)

    大屏视图,设定自定字体/组件的大小后,对于不同的屏幕大小是如何实现自适应的?

      使用echarts组件,由于全屏放大后,通过插件element-resize-detector可以resize组件的宽高在视图的放大或者全屏的时候,是使用transform: scale的

    HTTP

      http1.0只能支持客户端请求,服务端响应,断开连接1.1实现了强连接的功能,在一段时间内可以进行多个请求的功能,如果没有请求就关闭连接。

      缺点:

        1.多个请求都有回包,但是不能判断是哪个请求的返回值;

        2.服务器不能主动推数据

      2.0实现了服务端主动推数据,并定义了帧和流的概念,将回包进行标记,解决了线头阻塞的问题

  • 相关阅读:
    2021.2.6 日记
    P2168 荷马史诗
    2021寒假集训——数论初步
    2021.2.5 日记
    2021.2.4 日记
    2021.2.3 日记
    堆——学习笔记
    树状数组——学习笔记
    Easy | LeetCode 350. 两个数组的交集 II | 哈希 | 排序+双指针
    Easy | LeetCode 66. 加一 | 模拟
  • 原文地址:https://www.cnblogs.com/zhouyu0001/p/14319499.html
Copyright © 2011-2022 走看看