Have you somewhat to do tomorrow, do it today.
1. 文件上的git标识 U A M D R 都表示什么意思 【Git】
参考答案
- U:表示文件未被追踪,即远方仓库没有,本地也没有提交至暂存区。
- A:表示本次新增的文件,且提交至了暂存区。
- M:表示这个文件已在远程仓库上了,本地做了修改。
- D:表示这个文件在远程仓库上,本地做了删除。
- R:表示文件名称做了修改,且本地提交至暂存区。
2. 如果要做优化,CSS提高性能的方法有哪些? 【CSS】
参考答案
实现方式主要从以下几个方面:
内敛首屏关键 CSS CSS内联使用使渲染时间提前,关键代码能够使浏览器在下载完html后就能立刻渲染,但对于较大的CSS代码不合适内敛。
异步加载 CSS
- 在CSS文件请求、下载、解析完成之前,CSS 会阻塞渲染,浏览器将不会渲染任何已处理的内容
- 前面加载内联代码后,后面的外部引用css则没必要阻塞浏览器渲染。这时候就可以采取异步加载的方案
资源压缩 利用webpack gulp/grunt rollup 等模块化工具,将CSS代码进行压缩,使文件变小,可以大大降低浏览器的加载时间
合理利用选择器 css的匹配规则是从右往左开始匹配,如果潜套曾经过多,页面中元素过多,匹配所要花费的时间代码会更高
因此建议不要嵌套超过三层的选择器,使用id选择器就不会进行嵌套,通配符和属性选择器效率最低,避免使用
- 不要使用 @import css引入样式右两种方式,@import和使用link元素,使用@import的方式会影响浏览器的并行下载,且会导致下载的顺序紊乱。 链接 (opens new window)
3. TCP为什么需要三次握手和四次挥手?【HTTP】
参考答案
三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包
主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备
四次挥手 tcp终止一个连接,需要经过四次挥手
服务端在收到客户端断开连接Fin报文后,并不会立即关闭连接,而是先发送一个ACK包先告诉客户端收到关闭连接的请求,只有当服务器的所有报文发送完毕之后,才发送FIN报文断开连接,因此需要四次挥手
4.Node. js 有哪些全局对象?【Node】
参考答案
Node.js中的全局对象是 global
全局对象分为 真正的全局对象 和 模块级别的全局变量
真正的全局对象
- Class:Buffer :可以处理二进制以及非Unicode编码的数据
- process:提供有关当前过程的信息和控制,包括在执行node程序过程中传入的参数
- console:控制台打印
- clearInterval、setInterval
- clearTimeout、setTimeout
- global:前面的对象全都放在了global中,
process === global.process
模块级别的全局对象
- __dirname :获取当前文件所在的路径,不包括文件名
- __filename :获取当前文件所在的路径和文件名称
- exports:module.exports 用于指定一个模块所导出的内容,即可以通过 require() 访问的内容
- module:对当前模块的引用,通过module.exports 用于指定一个模块所导出的内容,即可以通过 require() 访问的内容
- require:用于引入模块、 JSON、或本地文件。 可以从 node_modules 引入模块。
5.如何解决useEffect重复调用问题【React】
参考答案
https://juejin.cn/post/6844904117303934989