面试经验4-27
一、解释一下为什么发生tcp的粘包现象,以及怎么解决?
tcp为了节约资源采用的是流式传输。接收端一下接收了多个包,粘在了一起。多个包首尾相接,无法区分是哪个包。
原因:发送方等发送缓冲区满才发送,接收缓冲区等满了才接受,多个包合成一个发送。
解决方法:不允许发送缓冲区满才发,提高优先级读区接收缓冲区,固定包长度或者里面加上一个包头。
二、数字证书的了解
全球有权威的证书签发机构,称之为CA。他首先用RSA生成一对公钥和私钥,然后用私钥网站进行签名,生成所谓的数字证书。具体过程是先生成一个文件包括公钥,签发者ID,证书签发给谁,有效期等等。然后用hash算法进行hash计算,生成H。用私钥对H进行加密,生成签名信息S。也就是对明文的hash值进行加密。如果要验证某CA是否给subject发了证书,用CA公钥解S,比较两个hash值就可以。
问题:如果黑客冒充CA,给自己签发一个证书,验证者如何验证呢?主要是因为全球权威的CA就那么几个。他们被设置成了可信任的根证书。
三、TCP与UDP的对比。
a. tcp面向连接,udp不需要连接。
b. tcp仅仅支持单播,udp支持单播,多播,广播。
c. udp面向报文,tcp是面向字节流。
d.udp首部开销小:8字节。tcp最小20字节,最大60字节。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)