-
使用浏览器访问http://miui.com/时,以下哪些过程发生在浏览器端?
A. 构建HTTP 请求
B. 解析HTTP 请求
C. 发送HTTP 响应
D. 渲染页面
正确答案:AD
解析:浏览器端构建HTTP请求,并发送 -> 服务器端接收到HTTP请求,并进行解析 -> 服务器端发送HTTP响应 -> 浏览器端接收到响应,并进行页面渲染。
-
下列哪些关于HTTP/2 的描述是正确的?
A. 解决了TCP 队头阻塞的问题
B. 解决了浏览器线头阻塞的问题
C. 使用了头部压缩
D. 使用二进制分帧封装HTTP 消息
正确答案:BCD
解析:http2的多路复用解决了浏览器线头阻塞的问题,tcp对头阻塞可用udp解决,比如http3采用的udp。
-
下面对于服务端渲染和客户端渲染描述正确的是
A. 通过vue-cli,create-react-app 等工具创建的项目是服务端渲染的
B. 服务端渲染的用户体验一定优于客户端渲染
C. 服务端渲染对SEO更加友好,而且首屏渲染通常更快一些
D. SPA是客户端渲染的
正确答案:CD
解析:客户端渲染:浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。
服务器端渲染: 将组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序。
服务器端渲染优点:
1.更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。
2.更快的内容到达时间,特别是对于缓慢的网络情况或运行缓慢的设备。无需等待所有的 JavaScript 都完成下载并执行,才显示服务器渲染的标记,所以你的用户将会更快速地看到完整渲染的页面。
缺点:
1.开发条件所限。浏览器特定的代码,只能在某些生命周期钩子函数中使用;一些外部扩展库可能需要特殊处理,才能在服务器渲染应用程序中运行。
2.涉及构建设置和部署的更多要求。与可以部署在任何静态文件服务器上的完全静态单页面应用程序 (SPA) 不同,服务器渲染应用程序,需要处于 Node.js server 运行环境。
3.更多的服务器端负载。在 Node.js 中渲染完整的应用程序,显然会比仅仅提供静态文件的 server 更加大量占用 CPU 资源,因此如果你预料在高流量环境下使用,请准备相应的服务器负载,并明智地采用缓存策略。
-
有效防止XSS 的手段有哪些?
A. 过滤用户请求中的非法字符
B. 对请求中的特殊字符进行转译
C. 配置CSP(Content Security Policy)
D. 通过预编译来防止
正确答案:ABC
解析:建议搜索XSS防范手段
https://blog.csdn.net/zl834205311/article/details/81773511
-
下列排序算法中,哪些时间复杂度不会超过nlogn?
A. 快速排序
B. 堆排序
C. 归并排序
D. 冒泡排序
正确答案:BC
解析:
-
下面关于transform说法正确的是
A. 只对受控于盒模型的元素生效
B. 变形的原点默认是元素的左上角
C. 变形后元素在页面上的占位也随之变化
D. 可以通过matrix函数整合多种变形效果
正确答案:AD
解析:transform对行内元素不生效;transform变形默认圆点为中心;
transform变形后占位不会变化,它会创建一个新的图层来显示。
-
下面对于Webpack 描述正确的是
A. Webpack 是一个模块打包工具
B. Webpack 可以运行在服务端和浏览器中
C. Webpack 适合复杂的大型项目,小型项目可以使用 vue-cli 等简单的打包工具进行开发
D. Webpack 可以实现热更新,开发更加高效
正确答案:AD
-
下面哪些方法会中断js执行
A. alert
B. sync ajax请求
C. setTimeout
D. fetch
正确答案:AB
解析:同步代码出错会中断js执行。异步,不会阻碍代码的执行,它会等待所有的同步代码执行完毕后,再执行输出自己的同步结果。
-
在ES6 规范中,以下哪些类型属于基本数据类型?
A. string
B. function
C. number
D. boolean
正确答案:ACD
解析:
基本数据类型(原始数据类型):Number,String, Null, Undefined, Boolean,Symbol(es6新增)
引用数据类型:Object,Function,Array
-
下列哪些协议是应用层协议?
A. HTTP
B. SSL/TLS
C. TCP
D. SSH
E. FTP
F. IP
正确答案:ADE
解析:SSL/TLS协议工作在应用层和传输层之间;SSH(安全外壳协议)为建立在应用层基础上的安全协议。
-
关于进程,下列说法错误的是?
A. 进程有独立的地址空间
B. 进程间可以通过网络通信
C. 内存不能在不同进程间共享
D. 进程是系统进行资源分配和调度的基本单位
正确答案:C
解析:进程(Process)是系统进行资源分配和调度的基本单位;进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位;本地进程间通信:1.消息互传(管到,FIFO,消息队列)2.同步(互斥量,条件变量,读写锁,文件和写记录锁,信号量)3.共享内存4.远程过程调用
-
下面哪个关于TCP 与 UDP 的描述是错误的?
A. TCP 提供可靠度的字节流服务
B. 建立TCP 连接需要三次握手
C. 使用UDP 传输数据,源端和终端不建立连接
D. HTTP 建立在 UDP 之上
正确答案:D
解析:http3 建立在UDP上,之前是TCP。
-
关于浏览器缓存,下列说法正确的是?
A. Service Worker cache 的优先级没有 disk cache 高
B. 服务端没法控制浏览器缓存的过期时间
C. 浏览器不会将缓存存在内存中
D. 浏览器会先在浏览器缓存中查询是否有要请求的文件满足需求,再决定是否发送请求
正确答案:D
解析: 浏览器缓存是性能优化中简单高效的一种方式,按照缓存位置划分为以下几种类型:. service Worker. Memory Cache. Disk Cache. Push Cache. 浏览器请求时,会按照如上的优先级顺序,进行查找缓存,都没有命中时,才会去请求网络
-
下面哪个不能解决跨域问题
A. CORS
B. 代理
C. iframe
D. JSONP
正确答案:C
解析:iframe 的src是通过标签请求资源,而不是跨域手段。
可参考文章:https://blog.csdn.net/qq_38128179/article/details/84956552
-
以下哪个排序算法不是稳定的?
A. 快速排序
B. 插入排序
C. 归并排序
D. 选择排序
正确答案:A
解析:选择、快排应该都是不稳定的,搞不懂这题
-
下列关于GBK和UTF8编码描述错误的是?
A. GBK编码汉字占用2个字节
B. UTF8编码占用3个字节
C. GBK编码有包含中文简体和繁体字符
D. UTF8编码有包含中文和繁体字符
正确答案:BD
解析:
GBK:
中文、英文、数字均使用双字节来表示
UTF-8:
汉字占3个字节、数字占1个字节、英文字母占1个字节
-
下列哪个选项不是JavaScript 的模块规范?
A. CJS
B. UMD
C. ESM
D. AOD
正确答案:D
解析:AMD、CMD、CommonJS、UMD、ESM( JS模块化规范)
-
下列哪个CSS 属性可能会触发 GPU 硬件加速?
A. visibility
B. transform
C. color
D. box-sizing
正确答案:D
解析:CSS 中的以下几个属性能触发硬件加速:transform,opacity,filter,will-change
-
下列哪个算法是可逆的?
A. MD5
B. SHA1
C. Base64
D. DSA
正确答案:C
解析:https://zhuanlan.zhihu.com/p/302454066
https://zhuanlan.zhihu.com/p/347025157
-
下列哪种语法会创建宏任务
A. console.log
B. setTimeout
C. Promise
D. async/await
正确答案:B
解析: