最喜欢举栗子的-腾讯前端面试系列(一)
em~~~~~~已经离面试到现在已经有几个月了、因为工作忙的原因(懒)一直没有好好梳理过这方面的问题,梳理一下以便后边用到、老样子先总结再举栗_!
一、CDN如何就近
答:网络负载均衡技术,找到你所在网络范围内离你距离最近、或者是访问人数最少、性能最好的提供给你 举栗子: 淘宝、双11到了,众多小伙伴要开始购物、这个时候吃饱的一亿群众同时访问页面,这个访问量如此巨大的情况下咋办呢? 可以看出某宝同学在这边配置了一个g.alicdn.com的阿里云CDN加速、为啥要加速?那不是废话强东西不加速怎么抢?一个页面打开10S会不会没人去了?那这个东西到底是做啥的呢? 做中转 同时一亿人同时请求一个服务器、服务器会不会爆炸了。 这时候的CDN相当于把原网站的内容COPY到本地做了一个缓存。 用CDN 输入网址——CDN服务器(最近最优原则)——出现页面(注:CDN自带压缩功能) 没CDN 输入网址——原始服务器——出现页面 所以CDN如何就近就是网络负载均衡技术、找到你所在网络范围内离你距离最近、或者是访问人数最少、性能最好的提供给你,这时候你就能抢到你的宝贝啦~!
二、谈谈对TCP协议的理解
答:TCP的主要特点可以划分为以下几个方面 1、三次握手 2、四次挥手 3、可靠连接 4、丢包重传 重点tcp是可以可靠传输协议,它的所有特点都为这个可靠传输服务 举栗子: 三次握手 client=>server=>client=>server 简单来说 三个箭头就是三次握手 第一次、client告诉server我要什么东西(seq,我想要看一部电影) 第二次、server告诉client我收到你的消息啦(seq,ack来给你要看的电影,你看看是不是) 第三次、client告诉server我收到你给我寄的东西了,我们可以愉快的玩耍了(ack,是我要看的电影) 为什么不是两次握手呢?因为这个时候我不告诉server这是我要看的电影他不是会一直在那边找,所以握手需要三次、防止server做无谓的性能损耗。 四次挥手 为啥挥手要4次?建立都只要3次、告别就要四次? client=>server、server=>client、server=>client、client=>server 第一次、client告诉server玩够了我要回家了、发送一个fin包告诉他 第二次、server收到client的请求、好吧,我也玩够了那就分手吧,返回一个ack包告诉client、我知道了 要分手就分手谁怕谁 第三次、server告诉client、你等下、以前送你的礼物还没有还给我、还给我就彻底结束这时候就返回一个fin包给client 第四次、client告诉server,你的东西给你寄回去了、我们到此为止,返回一个ack包 可靠连接 因为三次握手的时候已经建立了可靠的关系、所以我是可靠连接诶 丢包重传 记住两个点在第一次建立连接时进行设置 1、MSS (最大一个包中能传输的信息,超过我的size不好意思、传不过去了) 2、SACK_PERM(断点续传、你传了一半没有了 我咋知道你传的是啥、对这个就是用来做这个的、不用让你把传过的在传一遍)
三、https加密
答:https加密通过对称加密+非对称加密+数字证书的方式做的 举栗子: 请点我