zoukankan      html  css  js  c++  java
  • 常见前端问题概念

    1.浏览器渲染页面的过程

    用户输入URL地址
    浏览器解析URL解析出主机名
    浏览器将主机名转换成服务器ip地址(浏览器先查找本地DNS缓存列表 没有的话 再向浏览器默认的DNS服务器发送查询请求 同时缓存)
    浏览器将端口号从URL中解析出来
    浏览器建立一条与目标Web服务器的TCP连接(三次握手)
    浏览器向服务器发送一条HTTP请求报文
    服务器向浏览器返回一条HTTP响应报文
    关闭连接 浏览器解析文档

    2.异步编程的四种方法

    ①回调②事件监听③观察者模式(发布和订阅)④promise

    3.解释同步异步、阻塞非阻塞、并行并发之间的区别

      阻塞调用是指调用结果返回之前,调用者会进入阻塞状态等待。只有在得到结果之后才会返回。

      非阻塞调用是指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

      同步:在发出一个同步调用时,在没有得到结果之前,该调用就不返回。

      异步:在发出一个异步调用后,调用者不会立刻得到结果,该调用就返回了。

     并发是指一个时间段内,有几个程序都在同一个CPU上运行,但任意一个时刻点上只有一个程序在处理机上运行。
     并行是指一个时间段内,有几个程序都在几个CPU上运行,任意一个时刻点上,有多个程序在同时运行,并且多道程序之间互不干扰。

    4.CPU调度策略

    在并发运行中,CPU需要在多个程序之间来回切换,那么如何切换就有一些策略
    
    1 先来先服务 - 时间片轮转调度
    
    这个很简单,就是谁先来,就给谁分配时间片运行,缺点是有些紧急的任务要很久才能得到运行。
    
    2 优先级调度
    
    每个线程有一个优先级,CPU每次去拿优先级高的运行,优先级低的等等,为了避免等太久,每等一定时间,就给线程提高一个优先级
    
    3 最短作业优先
    
    把线程任务量排序,每次拿处理时间短的线程运行,就像我去银行办业务一样,我的事情很快就处理完了,所以让我插队先办完,后面时间长的人先等等,时间长的人就很难得到响应了。
    
    4 最高响应比优先
    
    用线程的等待时间除以服务时间,得到响应比,响应比小的优先运行。这样不会造成某些任务一直得不到响应。
    
    5 多级反馈队列调度
    
    有多个优先级不同的队列,每个队列里面有多个等待线程。 
    CPU每次从优先级高的遍历到低的,取队首的线程运行,运行完了放回队尾,优先级越高,时间片越短,即响应越快,时间片就不是固定的了。 
    队列内部还是用先来先服务的策略。

    5.js实现数值千分位

    6.React非父子、兄弟组件传值

    共用父组件然后Props传值、使用状态管理redux(推荐)等

    7."123456789876543212345678987654321..."的第n位是什么?

    8.如何实现自己实现过Promise

    9.new 一个对象后发生了什么?

    10.说一下原型和原型链

    11.有没有自己写过比较复杂的正则?

    12.有没有封装过axios?

     

    前后分离的系统,一个请求出错了,如何中断其它请求?

    如何在axios中添加登陆验证?

  • 相关阅读:
    Jessica's Reading Problem POJ
    FatMouse and Cheese HDU
    How many ways HDU
    Humble Numbers HDU
    Doing Homework again
    Stacks of Flapjacks UVA
    Party Games UVA
    24. 两两交换链表中的节点
    面试题 03.04. 化栈为队
    999. 可以被一步捕获的棋子数
  • 原文地址:https://www.cnblogs.com/lidedong/p/9588272.html
Copyright © 2011-2022 走看看