已注销 level
获赞
450
粉丝
85
关注
40
看过 TA
2188
IP属地:北京
暂未填写个人简介
私信
关注
2023-03-13 00:33
已编辑
三次握手--服务器处于listenSYN ----SYN ---ACK客户端 SYN-SENT--发送SYN包,seq =x                        服务端-SYN-RECV 结束listen -- 标志位SYN ACK, ack =x+1, seq = y客户端-ESTABLISHED ----ACK, seq= x +1, ack = y+1                          服务端 ESTABLISHED 完成    acknowledgement number , sequence number 四次挥手FIN ------ACK-----FIN ACK ------ACK--2MSL客户端 FIN_WAIT-1 ---send FIN, seq = u --- stop sending data                                     server---CLOSE_WAIT-----send ACK seq = v, ack = u+1client----FIN_WAIT------wait for continuing data from server                                                           server -----send FIN ACK , ack = u+1, seq = w---then LAST-ACKclient TIME-WAIT ---send ACK                                                 server CLOSE                                                                client wait for 2 MSL --close如果只有两次握手-第三次服务器无法确定收到-就会超时重传等等为什么第二次还要返回SYN--因为ACK是确定接收无误,而SYN是同步序列号为什么需要四次挥手--TCP全双工通信的因为比如客户端结束传输数据,服务器还有数据传送,所以需要发送ACK+FIN ACK来关闭TCP
0 点赞 评论 收藏
分享
2023-03-12 19:53
TCP/IP五层: 应用层-传输层-网络层-数据链路层-物理层  原理实现一般直接四层-网际互联层-网络接入层HTTP头部-键值对--通用头部-cache-control, connection连接类型-keep-alive, upgrade-比如101-websocket请求头部-accept数据的类别信息-authorization-host - user agent响应头部-location-重定向的地址-server信息-retry after实体头部-content相关信息-MD5校验-http/1.0 每次处理请求后会断开,http/1.1 使用kepp-alive长连接来进行持久连接使用相同的TCP的缓冲区和变量资源可能无效占用--设置time_out即可http长连接: 用于操作频繁-点对点通讯-即时通讯-游戏短连接-用户数目大量的使用短连接-比如京东淘宝报文长度--conten-length没有注明的话,就需要使用transfer encoding: chunked http/1.1分块传输-最后一个分块长度为0代表结束方法:1.0主要有GET POST, HEAD(只get头部)1.1 增加PUT,DELETE,PATCH,TRACEGET POST区别GET通过URL传递参数,放在Header里面?之后&分割,请求参数保存在浏览器记录中,不安全,以及只支持ASCII编码httpheader 和 参数一起发送。一般查询获取资源POST 先发送header,响应 100 continue,然后再post data 正文。一般创建,安全的get幂等,post不幂等放置位置-安全-获取资源-数据长度-用于-幂等性-100 continueGET长度限制一般是浏览器限制-chrome是8182字符HTTP-请求响应协议-80端口-套接字接口访问TCP--明文HTTPS-TSL/SSL - 443端口-TCP三次握手之后-发送颁发机构的CA 数字证书的报文-交换密钥最后3+4次握手一般不会问详细握手-只会问区别-也就是安全加密-开销证书-握手次数多SSL-80-443端口加密主要是-握手的时候使用非对称加密并且数字证书加强安全,使用非对称加密协商好后,使用对称加密传输通过验证CA证书的签名而信任CA
0 点赞 评论 收藏
分享
2023-03-12 17:09
是一种系统软件:管理计算机资源(内存CPU)和进程以及硬软件,用户和硬件的桥梁用户态-内核态-硬件进程按照页加载内存-按需分页-虚拟内存-缺页异常虚拟内存-内存分配-数据从RAM-临时传输到磁盘弥补内存不足程序执行时候如果不存在内存中--OS从硬盘加载进内存进程就是执行程序的实例,系统资源分配的最小单位,线程是其子任务,是CPU调度的最小单位比如浏览器进程-tab页面线程进程持有-独立地址空间,全局变量,打开文件,子进程,即将发生的定时器,大线程持有程序计数器,寄存器,堆栈,状态,会共享数据,创建撤销切换开销小独立- 开销-资源分配和CPU调度实时系统和分时系统,实时分为硬软-硬就是限定时间内完成任务做出响应比如汽车车间,机器人软就是手机之内的可以偶尔延迟交互性差-因为专用分时系统就是分时系统就是多用户使用一台服务器,轮流讲内存和CPU按照时间切分使用,时间片交互性-多路性-独立性-及时性linux是非实时的调度算法Round Robin调度算法-时间片轮转调度-进程切换开销大-无法紧急处理直接时间片按照队列FIFO分配相同部分,完不成直接剥夺加入就绪队列尾部-没有优先级FCFS-先来先服务-直到完成再释放---利于长作业不利于短作业-没有饥饿抢占短进程优先-选择运行时间最短的--相反-不抢占会饥饿优先级调度-优先级最高的----均可高响应比优先调度-等待时间加-运行时间)/运行时间I/O密集型和CPU密集型就是谁在等谁比如数据库的瓶颈就是IO死锁 - 互斥-保持且等待-独占性不可剥夺--循环等待银行家算法--每次尝试分配并计算是否分配后会造成死锁发生RAID, Redundant Array of Independent Disks- 磁盘冗余阵列有多个级别-容错能力和成本速度--无容错条带化-汉明码纠错-奇偶校验分布式存储-纠删码
0 点赞 评论 收藏
分享
2023-03-17 14:49
已编辑
50亿不重复的数据---2G内存--找中位数int范围是2^31--2*10^9, 没有符号的貌似也不够5*10^9, 假设是int,4字节, 2*10^10B~KMG---20G左右!!!注意是2^30所以只需要分成10个即可,按照最高位0000-1111 这样子写入到16个文件,并且计算每个文件的数量随后只需要排序,寻找中位数同理快速判断是否存在,也是Bitmap或者按照位进行文件分类- 业务人员在跳转瞬间更新最低价,如何解决列表页最低价与详情页最低价的一致性要解决列表页最低价与详情页最低价的一致性问题,可以考虑以下几种方案:异步更新:当业务人员跳转到详情页时,可以异步更新最低价信息。在用户进入详情页之前,可以在列表页中设置一个标记,表示最低价正在更新中。当异步更新完成后,再将最新的最低价信息更新到详情页中。缓存更新:当业务人员跳转到详情页时,可以直接从缓存中获取最新的最低价信息。如果最低价信息已经过期,则可以重新从数据库中读取最新的最低价信息,并将其更新到缓存中。定时更新:可以设置一个定时任务,定时从数据库中读取最新的最低价信息,并将其更新到缓存中。当用户访问详情页时,直接从缓存中获取最新的最低价信息,以保证列表页和详情页的最低价信息一致。需要注意的是,以上方案仅是一些思路,具体实现方式需要根据具体的业务需求和系统架构来确定。同时,在实现方案时,还需要充分考虑系统的性能和安全性问题,避免方案实现过程中出现安全漏洞或系统崩溃等问题。如何防止在活动时间段外用户购买折扣商品订单审核:在用户购买商品后,可以设置一个订单审核流程,对用户购买的商品进行审核,确保订单符合系统规定的条件。例如,审核用户购买的商品是否在活动时间内、是否满足活动的购买条件等。如果订单审核不通过,则可以拒绝用户的购买请求。队列处理:可以将用户购买请求放入一个队列中,等到活动时间段开启时再处理队列中的请求。这样可以确保只有在活动时间段内的用户购买请求才会被处理,而在活动时间段外的请求则会被放置在队列中等待。系统配置:可以在系统中设置一个活动时间段的配置项,只有在活动时间段内购买的用户才能享受折扣优惠,而在活动时间外购买的用户无法享受优惠。可以通过对系统配置的修改来限制用户在活动时间段外购买折扣商品。
投递海量数据等公司10个岗位
0 点赞 评论 收藏
分享
2023-03-11 15:38
公有IP地址分类C类:192.0.0.0 到223.255.255.255 用于一般小公司校园网研究机构等私有IP地址C类:192.168.0.0 到192.168.255.255其中127.0.0.0 到127.255.255.255 为系统环回地址网掩码只有一个作用:将某个IP地址划分成网络地址和主机地址两部分每个子网的第一个IP地址 192.168.1.0 为网段地址,最后一个IP地址 192.168.1.255 为广播地址,所以不可用。注意192.168.1.0 /24就是255.255.255.0这样就有0-255可以用,0-255为主机地址,然后-2,254个可用地址两个ip如何通信:1. 如果目标IP地址是本地地址,就送回本地上层处理,根本不会发到网卡去2. 如果目标IP地址是同一网段中的其他地址,查ARP表,找到目标IP对应的MAC地址(如果ARP缓存里没有,发ARP广播请求去获取)。把MAC地址填写到报文里发送出去,如果找不到对应的ARP项,就会发送失败。注意:报文是要靠MAC地址才能找到目标主机的。3. 如果目标IP地址不在同一网段,如果有网关,根据网关的ip地址,发送arp广播请求网关的mac地址将网关的MAC地址作为目标MAC地址,将数据发送给网关(网关进行下一步操作寻找目的主机的mac地址);如果没有填写网关,那么主机连arp广播或者其他任何数据都不往外发,直接丢弃该包(因为两个ip网络地址不一致,且没有网关地址)。这就解决了我之前的疑惑:就算在连接同一个二层交换机,不同网段也不能通信:因为他发送的mac帧中的mac地址为网关地址,不是目标地址,因此目的主机接受不到发送的消息。MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网路设备位置的位址。在OSI模型中,第三层网路层负责IP地址,第二层资料链结层则负责MAC位址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。 2个16进制:一共6个字节,12个16进制
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务