avatar-decorate
码上掌握 level
获赞
259
粉丝
141
关注
2
看过 TA
1308
北京邮电大学网络教育学院
2019
前端工程师
IP属地:上海
常怀谦卑,编程世界的一粒沙(公众号:码上掌握)
私信
关注
0 点赞 评论 收藏
分享
整理了一份字节前端面筋,答案记录在评论里~时长60min,问问题45min,手撕代码15min1、网络分层以及对应层次的协议2、输入一个URL会发生什么?3、http2.0更新了什么?4、new 操作符原理5、apply,call,bind 的区别6、发布--订阅模式7、css3动画transition和transform性能+原理8、使用CSS3实现一个秒针绕一点转动的效果9、数据结构概括一下有哪些以及常见的操作和如何选用对应的数据结构10、广度优先搜索(BFS)与深度优先搜索(DFS)的对比11、手撕:三数之和 、K 个一组翻转链表
码上掌握:2、输入一个URL会发生什么? 1.用户输入URL,会使用浏览器默认搜索引擎加上搜索内容合成url;如果是域名会加上协议(如https)合成完整的url。 2.然后按下回车。浏览器进程通过进程间通信把url传给网络进程。(网络进程接收到url才发起真正的网络请求)。 3.网络进程接收到url后,先查找有没有缓存。有缓存,直接返回缓存的资源。 没有缓存。(进入真正的网络请求)。 首先获取域名的IP,系统会首先自动从hosts文件中寻找域名对应的 IP 地址,一旦找到,和服务器建立TCP连接;如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。 4.利用IP地址和服务器建立TCP连接(3次握手) 5.建立连接后,浏览器构建数据包(包含请求行,请求头,请求正文,并把该域名相关Cookie等数据附加到请求头),然后向服务器发送请求消息。 6.服务器接收到消息后根据请求信息构建响应数据(包括响应行,响应头,响应正文),然后发送回网络进程。 7.网络进程接收到响应数据后进行解析。如果发现响应行的返回的状态码为301,302,说明服务器要我们去找别人要数据。找响应头中的Location字段要,Location的内容是需要重定向的地址url。获取到这个url一切重新来过。如果返回的状态码为200,说明服务器返回了数据。 8.数据传输完成,TCP四次挥手断开连接。如果,浏览器或者服务器在HTTP头部加上如下信息,TCP就一直保持连接。保持TCP连接可以省下下次需要建立连接的时间,提示资源加载速度Connection:Keep-Alive 。 9.网络进程将获取到的数据包进行解析,根据响应头中的Content-type来判断响应数据的类型,如果是字节流类型,就将该请求交给下载管理器,该导航流程结束,不再进行;如果是text/html类型,就通知浏览器进程获取到文档准备渲染。 浏览器进程获取到通知之后。新建一个渲染进程。 渲染进程对文档进行页面解析和子资源加载。解析html生成DOM树,解析css生成规则树。 两个树结合生成渲染树(render tree),浏览器会根据渲染树布局,计算css样式,即每个元素在页面中的位置好和大小等信息。最后浏览器绘制各个节点,将页面展现给用户。
查看11道真题和解析 投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务