Intro
临近秋招,发现很多之前学过的知识点都没印象了。因此打算先复习一下,这个Post就当作是一个整理吧,让我能在面试之前还能抱抱佛脚。
计算机网络
Q&A
-
HTTP和HTTPS的区别,为什么https能确保安全:
- 数据加密:
- HTTP: 在HTTP中,数据以
明文形式
传输,这意味着任何人在网络中都能够拦截并读取传输的数据内容,包括敏感信息,如用户名、密码等。 - HTTPS: HTTPS通过
使用SSL(安全套接层)或TLS(传输层安全)协议来加密传输
的数据。这意味着即使有人截取了数据,他们也无法轻易解读其中的内容,因为数据已经被加密。
- HTTP: 在HTTP中,数据以
- 数据完整性:
- HTTP: 在HTTP中,数据在传输过程中
无法保证不被篡改
。攻击者可能会修改传输的数据,而接收方无法确定数据是否被篡改。 - HTTPS: HTTPS使用
数字证书和数字签名来验证数据的完整性
。接收方可以通过证书验证发送方的身份
,并确保数据在传输过程中没有被修改。
- HTTP: 在HTTP中,数据在传输过程中
- 身份验证:
- HTTP: HTTP没有内置的机制来验证网站的身份,这使得攻击者可以通过伪装成合法的网站来进行欺骗。
- HTTPS: HTTPS
使用数字证书来验证网站的身份
。这些证书由受信任的证书颁发机构(CA)签发
,可以确认网站是否是合法的。这样,用户可以放心地与正确的网站进行交互
- 数据加密:
-
非对称加密的介绍
非对称加密是一种密码学方法,用于加密和解密数据,以确保数据的机密性和安全性。与对称加密不同,非对称加密使用一对密钥:公钥(public key)和私钥(private key)。这两个密钥在数学上是相关的,但是从公钥无法轻易地推导出私钥。非对称加密广泛用于保护数据的传输、数字签名和身份验证等场景。
以下是非对称加密的关键概念和工作原理:
- 公钥和私钥:
- 公钥: 公钥是用于加密数据的密钥,可以公开分享给任何人。任何人都可以使用公钥对数据进行加密,但是只有拥有与之配对的私钥的人才能解密。
- 私钥: 私钥是用于解密已加密数据的密钥,必须保密且只有所有者知道。
- 加密过程:
- 发送方使用接收方的公钥来加密要传输的数据。
- 加密后的数据只能使用接收方的私钥进行解密,确保只有接收方能够读取原始数据。
- 数字签名:
- 发送方可以使用自己的私钥创建数字签名,这是对数据的加密哈希值。
- 接收方可以使用发送方的公钥来验证数字签名的完整性和真实性,确保数据未被篡改。
- 身份验证:
- 在某些场景下,非对称加密可以用于验证通信方的身份。
- 通信方可以向对方发送自己的公钥,以供对方使用,从而确保通信双方的身份。
- 性能:
- 非对称加密通常比对称加密慢得多,因为它涉及复杂的数学计算。
- 为了兼顾性能和安全性,实际应用中常常会结合非对称加密和对称加密,即使用非对称加密来传输对称加密的密钥。
- 公钥和私钥:
-
网络层次结构,各个协议属于哪一层
操作系统
数据结构
Q&A
- 如何自己构造HashMap
- 红黑树的理解
- 二叉查找树的增删改查时间复杂度
数据库
Q&A
-
进程之间怎么进行协作
- 进程间通信
- 分一块内存
- Tube