首页 > 其他分享 >途虎养车面试准备

途虎养车面试准备

时间:2022-12-15 23:33:14浏览次数:31  
标签:DOM js 途虎 面试 养车 进程 解析 css 加载

1.url的组成和长度

协议、域名、端口号、资源路径、查询参数

 

 

 

2.浏览器地址栏输入url,到页面渲染经历哪些过程

  • 域名解析为ip地址
  • 主机向IP地址发送tcp请求,连接上主机
  • 发送http请求
  • 收到响应,把解析的结果渲染到浏览器页面上

 3.js与css在页面加载过程中如何阻塞页面的渲染

(1)请求html资源 (2)解析html生成DOM树 (3)遇到js则去下载,并执行 (4)遇到css则去下载,并解析css文件生成cssOM(5)根据DOM树和CSSOM生成渲染树让GPU渲染

*js会阻塞DOM树的解析过程,一旦遇到js脚本,则终止DOM树解析,去下载js脚本,之后立即执行js,最后继续DOM树解析

*css并不会阻塞DOM树的解析过程,遇到css文件,网络进程会下载css文件,不影响DOM树的解析,但会阻塞页面渲染

*css虽然不会直接阻塞dom树的解析过程,但如果在执行js脚本前,之前的css文件还没有加载完成,则会等待其加载完成后执行js,由于css下载较慢间接阻塞DOM解析过程

4.defer和async的区别

当浏览器碰到script脚本的时候:没有defer或async,浏览器会立即加载并执行指定的脚本

有async,加载和渲染后续文档元素的过程将和.js的加载与执行并行进行

有defer,加载后续文档元素的过程将和,js的加载并行进行,但是.js的执行要在所有元素解析完成之后,DOMContentLoaded事件触发之前完成。

 

 5.进程和线程的几种通信方式

进程:1.管道:是内核里面的一串缓存

    2.消息队列:例如:A进程给B进程发送消息,A进程把数据放在对应的消息队列后就可以正常的返回了,B进程需要的时候再进行读取数据。

    消息队列是保存在内存中的消息链表,在发送数据的时候,会分成一个独立的数据单元,消息体是用户自定的数据类型,消息的发送方和接收方约定好消息体的数据类型,所以每个消息体都是固定大小的存储块,不像管道的无格式的字节流数据,注意就是,消息队列中读取了消息体的话,内核就会把这个消息体删除

    3.共享内存:消息队列中的读取和写入的过程,都会有用户态和内核态之间的消息拷贝过程。共享内存的机制就是拿出一块虚拟化的地址空间来,映射到相同的物理内存中。这样这个进程写入东西,另外一个进程就可以看到了,大大提高了进程间通信的速度。

    4.信号量机制:用共享内存通信方式,带来新的问题,就是如果多个进程同时修改同一个共享内存,很有可能就冲突了。为了防止多进程竞争共享资源,而造成数据错乱,所以需要保护机制,使得共享的资源,在任意时刻只能被一个进程访问。信号量就实现了这一保护机制。

    信号量其实是一个整形的计数器,主要用于实现进程间的互斥与同步,而不是用于缓存进程间通信的数据。信号量表示资源的数量,控制信号量的方式有两种原子操作:一个是P操作,这个操作

标签:DOM,js,途虎,面试,养车,进程,解析,css,加载
From: https://www.cnblogs.com/baller-coder/p/16986245.html

相关文章

  • 面试-JVM
    1.java内存模型/java运行时数据区模型?元空间属于本地内存而非JVM内存内存模型 程序计数器  1.作为字节码的行号指示器,字节码解释器通过程序计数器来确定下一......
  • 软件测试面试常见问题(一)
    (1)一、测试1、你对软件测试的理解。软件测试就是利用测试工具按照测试方案和​​流程​​​对产品进行功能和​​性能测试​​,甚至根据需要编写不同的测试工具,设计和维护测试......
  • 常见react面试题
    React组件命名推荐的方式是哪个?通过引用而不是使用来命名组件displayName。使用displayName命名组件:exportdefaultReact.createClass({displayName:'TodoApp',/......
  • 闲话面试
    工作四年多了,终于想换个新的环境,向公司提交了辞职申请.有工作经验后的面试,一般以面谈为主,除了少数公司可能还是会让你答题检测一下水平.我去四五家公司,除了两家有笔试......
  • 面试题:对NotNull字段插入Null值 有啥现象?
    Hi,大家好!我是白日梦。今天我要跟你分享的话题是:“对NotNull字段插入Null值有啥现象?”使用推荐阅读,有更好的阅读体验,公众号首发!分享不易,欢迎关注~二、从一个实验开始首先创建......
  • 如何用 30s 给面试官讲清楚跳表
    查找假设有如下这样一个有序链表:想要查找24、43、59,按照顺序遍历,分别需要比较的次数为2、4、6目前查找的时间复杂度是O(N),如何提高查找效率?很容易想到二分查找,将查......
  • JVM的内存区域划分(面试问题:你了解java内存模型么)
    学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?......
  • 腾讯前端常考vue面试题(必备)
    虚拟DOM的优劣如何?优点:保证性能下限:虚拟DOM可以经过diff找出最小差异,然后批量进行patch,这种操作虽然比不上手动优化,但是比起粗暴的DOM操作性能要好很多,因此虚拟......
  • 前端vue面试题汇总
    常见的事件修饰符及其作用.stop:等同于JavaScript中的event.stopPropagation(),防止事件冒泡;.prevent:等同于JavaScript中的event.preventDefault(),防止执行预设......
  • 一道React面试题把我整懵了
    提问:react项目中的JSX里,onChange={this.func.bind(this)}的写法,为什么要比非bind的func=()=>{}的写法效率高?声明:由于本人水平有限,有考虑不周之处,或者出现错误的,请......