面试总结之乐信(下)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 六.TCP的三次握手四次挥手机制?

六.TCP的三次握手四次挥手机制?


1. TCP建立连接的过程。


    三次握⼿手:


1. 第一次握手(客户端发送syn包到服务器端):客户端发送syn包到服务


器端,进入syn_send状态,等待服务器端的确认;


2. 第二次握手(服务器返回syn+ack包给客户端):服务器端收到客户端


的syn包,发送syn+ack包给客户端,进入syn_recv状态;


3. 第三次握手(客服端返回ack包给服务端):客户端收到服务器端的


syn+ack包,发送个ack包到服务器端,至此,客户端与服务器端进入


established状态;


4. 握手过程中传送的包不包含任何数据,连接建立后才会开始传送数


据,理想状态下,TCP连接一旦建立,在通信双方的任何一方主动关闭


连接前,TCP连接都会一直保持下去。


2. TCP断开连接的过程。


四次挥⼿:


1. 第一次挥手:主动关闭方发送fin包到被动关闭方,告诉被动关闭⽅方我


不不会再给你发送数据了了;


2. 第二次挥手:被动关闭方收到syn包,发送ack给对方,确认序号为收到序号+1;


3. 第三次挥手:被动关闭方也发送fin包给主动关闭方,告诉对方我也不会给你发送数据了;


4. 第四次挥手:主动关闭方收到syn包,发送ack给对⽅,至此,完成四次挥手;


七.Https原理?


HTTPS协议就是基于SSL的HTTP协议


HTTPS使用与HTTP不同的端口(HTTPM80 , HTTPSM443)


提供了身份验证与加密通信方法,被广泛⽤于互联⽹上安全敏感的通信。



1、客户端请求SSL连接,并将自⼰支持的加密规则发给网站。


2、服务器端将自己的身份信息以证书形式发回给客户端。证书里面包含了⽹站地址,加密公钥,以及证书的颁发机构。


3、获得证书后,客户要做以下工作


验证证书合法性


如果证书受信任,客户端会生成一串随机数的密码,并用证书提供的公钥进行加密。


将加密好的随机数发给服务器。


image.png

image.png

4、获得到客户端发的加密了的随机数之后,服务器用自己的私钥进行解密,得到这个随机数,把这个随机数作为对称加密的密钥。(利⽤⾮对称加密传输对称加密的密钥)


5、之后服务器与客户之间就可以用随机数对各自的信息进行加密,解密。


注意的是:证书是一个公钥,这个公钥是进行加密用的。而私钥是进⾏解密⽤用的。公钥任何都知道,私钥只有⾃⼰知道。这是非对称加密。而对称加密就是钥匙只有一把,我们都知道。之所以用到对称加密,是因为对称加密的速度更快。而⾮对称加密的可靠性更高。


客户端请求--服务端发送证书(公钥)--客户端验证证书,并生成


随机数,通过公钥加密后发送给服务端--服务端用私钥解密出随机数--对称加密传输数据。


八.Redis的数据类型有哪些?与Memcached的区别?


Redis目前⽀持5种数据类型,分别是:


String(字符串)


List(列列表)


Hash(字典)


Set(集合)


Sorted Set(有序集合)


区别


1、memcache支持k/v类型数据;


2、redis除了缓存k/v类型数据之外,还能缓存list、set、hash等数据结构


的数据;


3.redis的持久化,事务,master/salver这些虽然也是redis的优势,但实际应


用中发现这些其实是会托累服务器的性能,而我们全部都不能用.我们得自已做;memcached以上都不管,我们也得自已做;


4.如果需要在服务器端做一些聚合的运算,用redis;如果只是做缓存,redis虽


然可以,但性能很差.在要求高性能的环境下使用memcached更合适;


九.哪些对象会被存放到⽼年代?


1. 新生代对象每次经历一次minor gc,年龄会加1,当达到年龄阈值


(默认为15岁)会直接进入老年代;


2. ⼤对象直接进入老年年代;


3. 新生代复制算法需要一个survivor区进行轮换备份,如果出现大量对象在minor gc后仍然存活的情况时,就需要老年代行分配担保,让survivor无法容纳的对象直接进⼊老年代;


4. 如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入⽼年代。


十. 什么时候触发full gc?


1.调用System.gc时,系统建议执行Full GC,但是不必然执行


2.老年代空间不足


3.方法去空间不足


4.通过Minor GC后进入老年代的平均大⼩大于⽼年代的可用内存


5.由Eden区、From Space区向To Space区复制时,对象大小⼤大于


To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象⼤⼩


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
负载均衡 Linux 应用服务中间件
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
|
SQL 算法 JavaScript
西安软件园面试总结(一)
西安软件园面试总结(一)
西安软件园面试总结(一)
|
机器学习/深度学习 分布式计算 算法
机器学习岗位面试总结:简历应该关注的5个重点
机器学习岗位面试总结:简历应该关注的5个重点
478 0
机器学习岗位面试总结:简历应该关注的5个重点
|
存储 移动开发 算法
面试必问:十大经典排序算法总结
面试必问:十大经典排序算法总结
108 0
面试必问:十大经典排序算法总结
|
算法 网络协议 搜索推荐
CVTE寒暑假实习面试总结
目录前言1. 笔试2. 面试 前言 主要总结一些笔试和面试的具体问题 1. 笔试 笔试共有 20道选择题(单选加多选) 2道算法题(算法题基本是场景题,但是基本思路都是leetcode的题目) 1道设计题(让你设计一个系统) 20道选择题基本都是计网+数据结构的排序题以及java的一些基本概念 具体可以参考我这篇文章都有大概的提到 java框架零基础从入门到精通的学习路线(超全) 算法题的思路leetcode基本都有 我当时做的算法题主要是这两道 【leetcode】剑指 Offer 62. 圆圈中最后
129 1
|
缓存 算法 Java
PHP面试总结
PHP面试总结
146 0
|
安全 Java
【Java面试】List知识点总结
【Java面试】List知识点总结
105 0
|
存储 NoSQL Java
Java模拟面试总结
Java模拟面试总结
219 0
|
存储 NoSQL 关系型数据库
面试必过之Mongdodb数据库面试题总结大全
面试必过之Mongdodb数据库面试题总结大全
161 0
|
存储 安全 算法
78. 别找了,Java集合面试问题这里帮你总结好了
78. 别找了,Java集合面试问题这里帮你总结好了
83 0