总结

第一章

什么是进程?

什么是线程?

GPU,CPU?

进程是线程的一个集合,对于一个一般应用来说启动一个应用程序就是一个独立的进程,操作系统会给每个进程分配一块新的内存区域,进程与进程之间通过IPC进行通信 。当应用程序退出后,系统回收分配给这个进程的内存。 chrome浏览器采用的是多进程的架构设计。

优点:1. 某个进程意外退出不会影响其他进程

2. 安全性和沙盒,操作系统为每个进程赋予不同的权限

缺点:由于不同进程间的内存不共享,不同进程的内存常常需要包含相同的内容。

chrome会根据系统CPU和内存,去分配进程,当进程分配到一定数量后,就不会在进行分配,新打开的 Tab 会共用之前同一个站点的渲染进程

第二章

输入一个url后,浏览器做了那些事情?

第一步: 您输入的是url还是要进行搜索

第二步:网络进程开始进行 DNS查找,TLS连接 这是可能回收到301重新走刚才的流程。 (思考:DNS如何进行查找的?TLS的三次握手?301? 302?)

第三步:读取响应体,根据content-type 做出不同的反应,html就交给渲染进程,zip就交给下载进程。这个过程也会进行安全检查,corb等确保内容不会被传给渲染进程。(CORB,CORS,CORP,COOP,COPE https://web.dev/why-coop-coep/)

第四步:数据ok之后,浏览器进程就会通过IPC将数据传给渲染进程,渲染进程完成后在通知浏览器进程。这是tab加载动效就会停止了。

第三章

在使用css3 transtion做动画效果时,优先选择transform,尽量不要使用height,width,margin和padding?

第五步: 这个渲染进程做的事情才是大头,渲染器进程的核心工作是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页。构建dom树 -> 加载资源-> 样式计算 -> 布局 -> 绘制 -> 合成帧 (布局树 -> layer tree -> 栅格化)

第四章

如果我有个列表,我想点击删除,做个删除动画,该如何实现?

如何实现一个精准的倒计时?

[图片上传失败...(image-285fc-1647996866312)]

[图片上传失败...(image-27cb58-1647996866312)]

https://github.com/hushicai/hushicai.github.io/issues/5

浏览器专题?

  1. 浏览器缓存机制
  2. 浏览器事件循坏机制
  3. 浏览器安全
  4. 浏览器跨域问题
  5. v8引擎
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Html5 语义化标签 headerfooternavarticlesection 文档类型定义 在h5中只需要写...
    路人丁0417阅读 1,129评论 0 2
  • [TOC] 1 JAVA: String为什么这么设计 在源码中string是用final 进行修饰,它是不可更改...
    寄浮生阅读 876评论 0 0
  • 前端经典面试题: 1、(前端面试题)https://zhuanlan.zhihu.com/p/84212558?f...
    who_are_you_阅读 382评论 0 2
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,450评论 1 14
  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,174评论 0 9