常见面试题整理---前端(不论出处)
Posted lidedong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见面试题整理---前端(不论出处)相关的知识,希望对你有一定的参考价值。
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中添加登陆验证?
以上是关于常见面试题整理---前端(不论出处)的主要内容,如果未能解决你的问题,请参考以下文章