4.2美团一面
项目拷打
-TLS握手中如何保证安全?
TLS握手过程中使用非对称加密来交换会话秘钥。即TLS四次握手过程中,第三次使用公钥加密随机数,并发送到服务端;但可能存在私钥泄密风险;
ECDHE利用离散对数原理保证私钥是临时生成的,解决了私钥泄密风险。即 RSA 密钥协商算法「不支持」前向保密,ECDHE 密钥协商算法「支持」前向保密;
-打开一个网页过程中涉及的协议?
-TCP协议如何保证可靠?
-滑动窗口?
-多态
-虚函数的原理
-编译时的静态库和动态库
-协程
1协程是比线程更加轻量级的执行单元,一个线程可以拥有多个协程。
2避免了内核态与用户态之间的切换。
3协程具有自己的寄存器上下文和栈。
4yield resume
5协程的调度是协作式(Cooperative)的(与抢占式(Preemptive)多任务处理不同),并且每个协程都有自己的局部数据。故大多数情况下无需传统多线程编程中的锁机制。
-Python中的异常处理
- Golang 的
panic
和recover
为错误处理提供了另一种模式,通常用于处理更严重的错误(如系统级错误,或者不可恢复的错误)。在日常的错误处理中,Golang更倾向于使用错误返回值而非异常抛出,即函数通常返回一个错误值,调用方根据返回的错误值进行适当的错误处理。 - C++异常处理
-哈希表的原理
-Linux下进程状态
ps aux # 查看当前系统的进程状态。不换行
ps -ef
top # 实时显示进程状态
-端口占用
netstat
命令:显示网络连接、路由表、接口状态等信息。
netstat -tuln # 查看所有监听端口
netstat -tulnp # 查看所有监听端口,并显示对应的程序名
lsof
命令:列出当前系统打开文件的工具,也可以用来显示打开的端口。
lsopf -i : [port] 查看具体的端口占用
-内存查看
free
命令:
top 或 htop 命令:这些命令不仅能用来查看进程信息,也能显示内存和CPU的使用情况。
大多数命令都支持通过 | grep [keyword]
来过滤显示的结果,
网络部门,所以问了很多网络相关的。。。
#面试#