春招复盘-理想汽车

本文回顾了HTTP从1.0到3.0的主要改进,包括无状态连接、二进制分帧、多路复用等,并分享了面试中的网络协议、选择题和算法题,如网关设置、排序算法复杂度以及Go语言实现的算法问题。
摘要由CSDN通过智能技术生成

简答题

HTTP 1.0、2.0、3.0区别与改进?
HTTP 1.0

  • 无状态,无连接; 短连接:每次发送请求都要重新建立tcp请求,即三次握手,非常浪费性能;

  • 无host头域,也就是http请求头里的host;

  • 不允许断点续传,而且不能只传输对象的一部分,要求传输整个对象;

  • 队头阻塞。

HTTP 2.0

  • 二进制分帧;
  • 多路复用(或连接共享),使用多个stream,每个stream又分帧传输,使得一个tcp连接能够处理多个http请求;
  • 头部压缩,双方各自维护一个header的索引表,使得不需要直接发送值,通过发送key缩减头部大小;
  • 服务器推送(Sever push)。

HTTP 3.0

  • 基于google的QUIC协议,quic协议使用udp实现,加密后建立链接,此外加密适用所有流过链接的数据,极大提高安全性。
  • 减少了tcp三次握手时间,以及tls握手时间;
  • 解决了http 2.0中前一个stream丢包导致后一个stream被阻塞的问题;
  • 优化了重传策略,重传包和原包的编号不同,降低后续重传计算的消耗;
  • 连接迁移,不再用tcp四元组确定一个连接,而是用一个64位随机数来确定这个连接; 更合适的流量控制。
    转载自http://events.jianshu.io/p/cd70b8e90d00
    第二题忘了

选择题

能够PING通同网段的节点, 但却PING不通其他网段的所有节点的最可能的原因是

A: 本机网关设置错误

B: 本机没有正确设置DNS

C: 对方运行的是不同的操作系统

D: 二层交换机故障

正确选项: A

解析:

A:ping是TCP/IP协议族的一部分,其属于网络层协议。主要是用来检测网络是否通畅。如果要ping其他网段,则需要设置网关。

B:和DNS没有关系, DNS设置错会影响访问公网服务器的域名, 而不会影响内部子设备是否ping通

C:ping命令是跨操作系统的, windows主机能够ping通Linux主机

D:二层交换机如果出现故障那么同网段主机则不会ping通

哪种排序算法最坏情况下是最快的?()
A :冒泡排序
B:希尔排序
C:归并排序
D:快速排序

首先排除怎么都是O(n2)的冒泡排序。
对快速排序,它是每次划分出小于key和大于key的2部分,继续往下排序的。对每种特定的key选择策略,我们都可以构造出一个无序序列,使得快速排序每次划分时有一个区间只有一个值,另一个区间右剩下所有值,最坏复杂度是O(n2)
对希尔排序,他的时间复杂度最坏情况取决于所选取的步长序列(参考:https://en.wikipedia.org/wiki/Shellsort),而最好的也是O(nlog2n)/O(n1.5)的
对归并排序,先往下划分到不可再划分,之后往上合并相邻2个有序序列,层数一定是logn层,每层合并完成代价是n,所以在任何情况下时间复杂度为O(nlogn)

因此选C

  • 先序序列为abcd的二叉树有几种?
    卡特兰数
    链接: link.

  • 哪种排序方式最坏复杂度为(nlogn)
    归并排序
    快速排序
    冒泡排序
    插入排序
    堆排序
    归并排序和堆排序最坏可以达到O(nlogn)快速排序最坏可以达到O(n2)冒泡排序最坏可以达到O(n2)插入排序最坏可以达到O(n^2)

算法题

最大食物链计数(go)

拓扑排序变种,用邻接表。

// go
package main

import "fmt"

var (
	s      [5010][5010]int
	x      [5010]int //出度
	y      [5010]int //入度
	rout   [5010]int //路径数
	length int
)

func main() {
   
	length = 0
	var n, m int
	_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值