【面试】蜻蜓FM2020秋季校园招聘

  1. 两数之和,最优方法,哈希表加遍历的时候判断是否已经有目标值
    在这里插入图片描述

  2. 博客的4种API
    get,post,增删改查

  3. 介绍一下HTTP
    无状态的协议,协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息(这里并不是丢包),则它必须重传

cookie和session机制,解决无状态协议的问题
https://www.cnblogs.com/open-source-java/p/10443918.html

  1. 进程和线程的区别
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  2. TCP和UDP的区别
  3. TCP如何保证可靠传输
    TCP可靠传输的工作原理
    (1)停止等待协议:"停止等待协议"是指每发送完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组。若在规定的时间内没有收到确认,则发送方超时,并重传原始帧。使用确认和重传机制就可以在不可靠的传输网络上实现可靠的通信。使用确认和重传机制实现可靠传输的策略称为自动重传请求(ARQ)
    (2)连续ARQ协议
    指发送方维持一个一定大小的发送窗口,位于发送窗口内的所有分组可连续发送出去。接收方采用积累确认的方法,接收方不必对收到的分组逐个发送确认,而是在收到几个分组后,对按序到达的最后一个分组发送确认
    (3)回退N帧协议
    一旦某帧发生错误,必须重新发送该帧及其后的N个帧(包括了错误的帧与后面正确的帧)
    (4)选择重传协议(针对帧出错的情况)
    当发送方接收到接收方的状态包括并显示帧有错后,发送方只发送传送发生错误的帧。与回退N帧协议相比,减少了出错帧之后正确的帧都要重传的开销。
    (5)选择确认机制(针对失序到达的报文 )
    假如接收方收到了一些不连续的字节块,若这些字节的序号都在接收窗口内,那么接收方就先收下这些数据,但是要把这些信息准确地告诉发送方,让发送方不再重复发送这些已收到的数据。选择确认机制只针对失序到达的报文段

https://www.jianshu.com/p/ce8a365e9cb3
https://blog.csdn.net/qq_35733751/article/details/80157509

TCP的流量控制
TCP可采用大小可变的滑动窗口进行流量控制。流量控制是指让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。在通信前,发送方和接收方共同协议窗口的大小,发送方可以在窗口范围内连续发送数据。接收方可以根据接收的数据和自身的接收能力,不断调整窗口的大小,并把窗口的大小反馈给发送方,以便发送方能及时调整发送数据的速率,不会造成接收方无法接收的情况。

另外一种情况,零窗口报文的情况,B向A发送了零窗口报文段,于是A停止发送数据。不久后,B的缓冲区又有了一些存储空间,于是给A发送rwnd=400的报文段,但是这个报文丢失了,于是就出现A一直等待B发送的非零窗口的通知,B一直等待A发送数据的死锁状态。为了处理这种问题,TCP引入了持续计时器。只要TCP连接的一方收到对方的零窗口通知,就启用该计时器。若时间到期则发送一个1字节的探测报文段,对方会在此时回应自身的接收窗口大小,如果窗口仍是零,则重设持续计时器,继续等待。

TCP的拥塞控制
(1)慢开始算法
(2)拥塞避免算法
(3)快重传算法
(4)快恢复算法
在这里插入图片描述
https://blog.csdn.net/sinat_21112393/article/details/50810053

  1. 算法题
    题目描述:

输入:

dict_input={'a':1,
            'b':{'c':{"d":3}},
            'e':4}

输出:

dict_output={{"/a":1},{"/a/b/c":3},{"/e":4}}
dict_output={}
temp_key=''

dict_input={'a':1,
            'b':{'c':{"d":3}},
            'e':4}

#dict_output={{"/a":1},{"/a/b/c":3},{"/e":4}}
def test(dict_input,temp_key):
    for i in dict_input:
        temp_key += '/' + "%s" % i
        if isinstance(dict_input[i],dict):
            test(dict_input[i],temp_key)
        else:
            dict_output[temp_key]=dict_input[i]
        temp_key=''
    return dict_output
test(dict_input,temp_key)
print dict_output
  1. 线程怎么拿进程的资源
    写线程函数

二面 hr面

  1. 你看重什么样的平台
    能够提升自己的技术实力,有上升的发展空间,有一个良好氛围的团队。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值