una

太牛了!TCP 协议面试 10 连问

不问归期 提交于 2020-12-03 11:54:57
先亮出这篇文章的思维导图 TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别? 首先概括一下基本的区别: TCP是一个面向连接的、可靠的、基于字节流的传输层协议。 而 UDP是一个面向无连接的传输层协议。 (就这么简单,其它TCP的特性也就没有了)。 具体来分析,和 UDP 相比, TCP 有三大核心特性: 面向连接 。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,TCP 需要三次握手建立连接,而 UDP 没有相应建立连接的过程。 可靠性 。TCP 花了非常多的功夫保证连接的可靠,这个可靠性体现在哪些方面呢?一个是有状态,另一个是可控制。 TCP 会精准记录哪些数据发送了,哪些数据被对方接收了,哪些没有被接收到,而且保证数据包按序到达,不允许半点差错。这是 有状态 。 当意识到丢包了或者网络环境不佳,TCP 会根据具体情况调整自己的行为,控制自己的发送速度或者重发。这是 可控制 。 相应的,UDP 就是 无状态 , 不可控 的。 面向字节流 。UDP 的数据传输是基于数据报的,这是因为仅仅只是继承了 IP 层的特性,而 TCP 为了维护状态,将一个个 IP 包变成了字节流。 002: 说说 TCP 三次握手的过程

如何用一行CSS分别实现10种常见布局?

别等时光非礼了梦想. 提交于 2020-11-30 14:59:07
01、超级小中 在没有和flex grid之前,垂直居中一直不能很优雅的实现。而现在,可以结合我们 grid 和 place-items 优雅的实现同时 水平居中 和 垂直居中 。 <div class = "parent blue" > < div class = "box coral" contenteditable > :) </ div > ​​​​​​​ .ex1 .parent { display : grid; place-items : center; } 源码地址:https://codepen.io/una/pen/YzyYbBx 02、可解构的自适应布局(The Deconstructed Pancake) ​​​​​​​ flex: 0 1 < baseWidth > 这种布局经常出现在电的网站: 在视口足够的时候,三个框固定宽度横放 在视口不够的时候(宽度在移动上面),宽度仍然固定,,但是自动解构(原谅我的中文水平),不在同一水平面上 ​​​​​​​ <div class = "parent white" > <div class = "box green" > 1 </div> <div class = "box green" > 2 </div> <div class = "box green" > 3 </div> </div> ​​​​​​​

两万字长文50+张趣图带你领悟网络编程的内功心法

元气小坏坏 提交于 2020-08-06 17:04:57
前言 我大学是学网络工程专业,也就是那种拉网线,面向网线编程的。依稀记得学习计算机网络这门课程的时候搭建的 IT宅 itzhai.com 个人网站。 算一下,学这门课程也已经快十年了。 某一天,偶然又看到了这本书: 翻了下,发现里面的内容竟然还是毫不过时,真的是越底层的知识越有价值呀。 我擦了擦书面的灰尘,决定要为它写点什么 ,于是又从书架上找了相关的书籍: 来回翻阅和梳理总结,逐渐输出了这篇文章,献给对网络不太熟悉,又想快速从入门到熟练的朋友们。 相信大家拿到Socket API,就可以很快写好代码,收发消息,传送文件什么的,可是底层究竟发生了什么?TCP、UDP、HTTP是什么关系、为啥要有WebSocket编程。我们从TCP/IP协议栈以及一根网线说起,逐步揭开面向网线编程内功心法的面纱。 最后,在这里解答一个问题:有人问我为什么要写公众号技术文章呢?工作越久,发现身边比自己年纪小的人越多,我也时常在想,那些同龄人或者比我大的人都去哪里了,也许有些人忙于家庭生活不亦乐乎,有些人因为公司上市拿到可观的收入转行了,也许有人在大公司做起了管理工作,开始走管理路线,带领团队创造新的产品。我写公众号的原因之一,也就是想告诉大家,我一直在做技术,一个坚持写代码的大龄技术人,并且希望能够结实更多志同道合的技术人。没错,在说你们呢,不要求三连,这篇文章对你感兴趣就点个在看呗。Thanks♪(