10.11xm一面

上午11点,大概60min
1、rem、em、px、vw、vh

vh和vw 相对于视口的高度和宽度,1vh等于1/100的视口高度,1vw等于1/100的视口宽度,比如:浏览器高度900px,宽度为750px,1vh=900px/100=9px,1vw = 750px/100=7.5px;很容易实现与同屏幕等高的框。

2、px与绝对物理像素一样吗,什么时候不一样?
3、浏览器事件循环与node事件循环

Node.js 中的事件循环和浏览器中的是完全不相同的东西。
Node.js 采用 V8 作为 JS 的解析引擎,而 I/O 处理方面使用了自己设计的 libuv,libuv 是一个基于事件驱动的跨平台抽象层,封装了不同操作系统一些底层特性,对外提供统一的 API,事件循环机制也是它里面的实现。



4、跨域哪些方法,cors需要在服务器进行什么操作,进行过webpack配置吗

webpackproxy代理是什么

webpack proxy,即 webpack 提供的代理服务

基本行为就是接收客户端发送的请求后转发给其他服务器

其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制)

想要实现代理首先需要一个中间服务器,webpack 中提供服务器的工具为 webpack-dev-server

webpack-dev-server

webpack-dev-server 是 webpack 官方推出的一款开发工具,将自动编译和自动刷新浏览器等一系列对开发友好的功能全部集成在了一起

目的是为了提高开发者日常的开发效率,「只适用在开发阶段,线上环境可以使用 nginx代理」

关于配置方面,在 webpack 配置对象属性中通过 devServer 属性提供,如下:

devServetr 里面 proxy 则是关于代理的配置,该属性为对象的形式,对象中每一个属性就是一个代理的规则匹配

属性的名称是需要被代理的请求路径前缀,一般为了辨别都会设置前缀为/api,值为对应的代理匹配规则,对应如下:

  • target:表示的是代理到的目标地址
  • pathRewrite:默认情况下,我们的 /api-hy 也会被写入到 URL 中,如果希望删除,可以使用 pathRewrite
  • secure:默认情况下不接收转发到 https 的服务器上,如果希望支持,可以设置为 false
  • changeOrigin:它表示是否更新代理后请求的 headers 中 host 地址

工作原理

proxy 工作原理实质上是利用 http-proxy-middleware 这个 http代理中间件,实现请求转发给其他服务器

举个例子:
在开发阶段,本地地址为 http://localhost:3000,该浏览器发送一个前缀带有/api 标识的请求到服务端获取数据,但响应这个请求的服务器只是将请求转发到另一台服务器中


跨域

在开发阶段, webpack-dev-server 会启动一个本地开发服务器,所以我们的应用在开发阶段是独立运行在 localhost 的一个端口上,而后端服务又是运行在另外一个地址上
所以在开发阶段中,由于浏览器同源策略的原因,当本地访问后端就会出现跨域请求的问题
通过设置 webpack proxy 实现代理请求后,相当于浏览器与服务端中添加一个代理者
当本地发送请求的时候,代理服务器响应该请求,并将请求转发到目标服务器,目标服务器响应数据后再将数据返回给代理服务器,最终再由代理服务器将数据响应给本地

在代理服务器传递数据给本地浏览器的过程中,两者同源,并不存在跨域行为,这时候浏览器就能正常接收数据

注意:「服务器与服务器之间请求数据并不会存在跨域行为,跨域行为是浏览器安全策略限制



cors,jsonp,iframe跨域,postMessage,nginx反向代理,nodejs中间件代理跨域,websocket,

5、node的一些问题吧,具体记得不是很清楚了
6、首页白屏问题如何排查,主要也是url输入之后有哪些过程,按照网络5层结构进行排查
先确保网络连接顺畅
再检查url地址是否错误
打开控制台查看是否有报错信息
查看接口访问是否有请求
查看路由是否有path错误,导致加载了不存在的页面
	

从js和css方面检测

排除了 网络问题 以后,如果还是白屏,那一般都是 css和js 加载造成的;css和js 会造成阻塞渲染。比如不正确的引入css和js , 就会导致它们的加载速度过长,从而导致白屏现象。 正确的引入方式是:

在 <head> 标签中引入css:因为在加载HTML 前不先渲染css 的话,整个页面会乱掉; 在 </body> 标签之前、body 标签中html 内容的后面 ,引入 js:因为浏览器加载script 标签时,处理内部代码的顺序都是从上到下 依次执行的,如果在 html 内容前就引入js 的话,那么就会导致,在所有的代码处理完毕之前,会阻塞其他资源的加载;会导致页面的其他内容都无法显示,因此如果不规范引入js的话,会对页面的其他内容带来影响。






7、异步的错误如何捕获(这个问题业务中常用)

promise,catch;
window.addEventListener('error');
window.addEventListener('unhandled rejection')

node里面如何监控???

8、写一个三角形,直角三角形
9、promise.all与promise.race的区别,手写一个promise.all
10、多种方法判断回文数(字符串双指针,反转,数学方法);
12、介绍项目
13、git协同开发的话,回滚错误,git reset 使用过git revert吗?
14、浏览器的哪些异步处理???
15、ARP协议是干什么的?

ARP又叫地址解析协议,用于解析mac地址和ip地址处于数据链路层和网络层之间,承上启下
假如主机A知道主机B的ip地址,但是在二层链路,也就是数据链路层,是通过mac地址进行转发的,那么在不知道的情况下又怎么获取到对方的mac地址呢?就需要通过ARP协议来获取解析


全部评论
太感谢了,这分享很有用
点赞 回复 分享
发布于 2022-10-12 13:32 山西

相关推荐

评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客企业服务