计算机基础

felix.shao2025-02-08计算机基础面试

计算机基础

操作系统

用户空间和内核空间

 操作系统为了保护系统安全,将内核划分为两个部分,一个是用户空间,一个是内核空间。用户空间不能直接访问底层的硬件设备,必须通过内核空间。

文件描述符

 文件描述符(File Descriptor,简称 FD)是操作系统中用于标识打开的文件的一个整数。在 Linux 系统中,一切皆文件,包括普通文件、目录、链接以及设备。文件描述符为操作系统提供了一个高效管理已打开文件的方式。每个进程都有一个文件描述符表,用于跟踪该进程打开的所有文件。

IO 多路复用

 IO 多路复用就是通过一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作的一种机制。

select、poll 和 epoll 有什么区别

 这里暂时不展开了,NIO 小节里面详细介绍,参考文章理解 深入了解 select、poll、epoll之间的区别open in new window
 面试一句话:select 和 poll 是轮询模式,适合低并发;epoll 是事件驱动,适合高并发,是 Linux 下最优的 I/O 多路复用方案。

零拷贝

 零拷贝不是不会拷贝,可以通过 Kafka 零拷贝样例加深理解。

进程间通信的方式有哪些

进程间通信的方式有哪些open in new window

加密

什么是对称加密和非对称加密?

 对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方。
 非对称加密指使用一对非对称密钥,即:公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。
 由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性。但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

MD5

 全称 Message Digest Algorithm 5,即信息摘要算法第5版,广泛应用于数据完整性验证和密码存储。它通过哈希函数将任意长度的数据转化为固定长度的输出,即 MD5 值。MD5 值的目的是确保信息传输的完整性,防止数据在传输过程中被篡改。

TIP

 MD5 是散列算法、不可逆。

DES

 DES,全称 Data Encryption Standard,即数据加密标准,是一种对称加密算法。它使用相同的秘钥进行加密和解密,广泛应用于金融和银行业。然而,DES 的安全性已逐渐受到挑战,现在更倾向于使用更安全的算法如 AES。

SHA

 全称 Secure Hash Algorithm,即安全散列算法,主要包括 SHA-1、SHA-256 等。它是一种单向加密算法,主要用于验证数据的完整性和真实性。SHA 算法将输入数据(通常称为“消息”)转化为一个固定长度的哈希值,这个哈希值很难逆向还原出原始数据。因此,它常用于数字签名和验证数据的完整性。

RSA

 全称 Rivest-Shamir-Adleman,是一种非对称加密算法。它的特点是使用两个密钥:公钥和私钥。公钥用于加密数据,私钥用于解密数据,保障了数据传输的安全性。RSA 广泛应用于数字签名、身份验证和安全通信等领域。

AES

 全高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法。
 详细见 AES 加密算法原理的详细介绍与实现open in new window

附录一、参考文献

Last Updated 5/5/2025, 2:02:15 AM