全栈开发工程师面试题一

1.JS的执行流程?(JS的运行机制)
同步任务:在主线程上排队的任务,前一个任务执行完毕,才能执行下一个任务。
异步任务:不进入主线程,是进入任务队列,只有任务队列通知主线程,某个异步就可以开始了,任务才会进入主线程去执行。
异步任务又分为宏任务和微任务:
宏任务:setTimeout,setInterval,整体代码script
微任务:Promise.then
执行顺序:先执行微任务后执行宏任务
JS中的事件循环:
1.先判断是同步任务还是异步任务,先执行同步任务,异步任务进入事件循环中Event Table
2.异步任务在Event Table注册事件,当满足触发条件的时候,会被推入Event Queue
3.同步任务进入到主线程中执行,当主线程中空闲时,才会去Event Queue中看是否有需要执行的异步任务,如果有就推入主线程中执行。

2.页面渲染过程
字节—字符----token----节点----Dom
在这里插入图片描述
html—DOM
css----CSSOM
渲染树
布局
绘制

3.浏览器工作原理
1)首先在浏览器中输入url地址
2)dns服务器会根据url地址查找对应的ip地址
3)根据ip地址找到对应的服务器
4)浏览器会通过tcp握手机制跟服务器进行连接
5)但是现在大多数都基于HTTPS协议的,那么会多一道TLS握手机制
建立加密的隧道,保证加密的内容不会被篡改和监听
6)浏览器会发送https请求来获取服务器请求,返回html代码
7)http中会先获取14kb代码
8)构建DOM树
9)构建CSSOM树
10)合并DOM和CSSOM
11)布局
12)绘制

注意:重绘和回流

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值