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中添加登陆验证?

  • 相关阅读:
    30. 串联所有单词的子串
    206. 反转链表及扩展
    leetcode合并专题(陆续补充)
    剑指 Offer 25. 合并两个排序的链表及扩展
    1371. 每个元音包含偶数次的最长子字符串
    1334. 阈值距离内邻居最少的城市
    1310. 子数组异或查询
    1297. 子串的最大出现次数
    VS2012安装后 VS2010出现fatal error LNK1123: failure during conversion to COFF
    BFS/DFS 模板 代码
  • 原文地址:https://www.cnblogs.com/lidedong/p/9588272.html
Copyright © 2011-2022 走看看