屡败屡战的大数据秋招之计网知识点总结

1. 给我说一下TCP 流量控制原理!

TCP 利用滑动窗口实现流量控制,流量控制目的是控制发送方发送速率,保证接收方来得及接收。接收方发送的确认报文中有一个窗口字段,可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为0,则发送方不能发送数据。

2. TCP和UDP的区别给我说一下,每回必问

  1. 是否面向连接:TCP传送数据必须通过三次握手四次挥手进行连接建立。UDP传送数据不需要先建立连接。
  2. 是否可靠传输:TCP通过建立连接、确认、窗口、重传、拥塞控制机制确保可靠传输。TCP传输保证了无差错、不丢失、不重复并且按序到达。UDP无确认机制,不保证数据不丢失,不保证是否按序到达。
  3. 传输效率:TCP传输确保可靠性多了很多机制,因此TCP传输效率比UDP低很多
  4. 首部开销:TCP首部开销比UDP首部开销大
  5. 是否提供广播或多播服务:TCP只支持点对点通信。UDP支持一对一、一对多、多对多通信。

3.TCP如何保证可靠性的?

  1. 校验和机制
    TCP 首部有校验和,如果收到的端的校验和有差错,TCP将丢弃这个报文不确认收到此报文。
  2. 超时重传
    当发送端在往返时延内未收到确认消息,那么对应的数据包被假设为已丢失并进行重传。
  3. 流量控制
    TCP 通过滑动窗口实现流量控制,可以控制发送方的发送速率。保证接收方来得及接收。
  4. 拥塞控制
    当网络拥塞的时候,减少数据的发送。

4.说一下从输入域名到显示页面的全过程。(结合协议)

  1. 浏览器查找域名的IP地址。DNS协议
  2. 浏览器向Web 服务器发送一个HTTP请求。TCP协议进行连接建立。发送数据网路层使用IP协议。IP数据包在路由器之间转发用的是OSPF(Open Shortest Path First
    )协议
    。路由器在和服务器通信的时候,需要将IP地址转化为MAC地址,这里需要使用ARP协议(Address Resolution Protocol)。
  3. 服务器处理并返回HTTP报文。使用HTTP协议访问网页。

5.力扣93 复原IP地址

6.力扣468 验证IP地址

class Solution {
    public String validIPAddress(String queryIP) {
        //学习一下IPV4和IPV6地址
        //ipv6地址允许前导零,小写字母a到f大写字母a到f
        //如果是ipv4返回ipv4!如果是ipv6返回ipv6.否则的话返回Neither
        if(isIPV4(queryIP))return "IPv4";
        else if((isIPV6(queryIP)))return "IPv6";
        else return "Neither";
    }

    private boolean isIPV4(String ip){
        String[]arr = ip.split("\\.",-1);//注意.需要加转义符哦
        for(String a:arr){
            try{
                if(Integer.parseInt(a)>255||(a.charAt(0)=='0'&&a.length()!=1))return false;//要是parseInt报错,直接返回false
            }catch(NumberFormatException e){
                return false;
            }
        }
        return arr.length == 4;//有效的IPV4一定是四段呀
    }

    private boolean isIPV6(String ip){
        String[]arr =  ip.split(":",-1);
        for(String a: arr){
            try{
                if(Integer.parseInt(a,16)>65535||a.length()>4)return false;//wow~ 原来Integer.parse也可以解析十六进制哎!65535就是FFFF
            }catch(NumberFormatException e){
                return false;
            }
        }
        return arr.length == 8;//有效的Ipv6地址一定是8块哦!!
    }
}
#大数据开发工程师##秋招##阿里巴巴##快手##字节跳动#
全部评论
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复
分享
发布于 2022-09-19 09:56 北京

相关推荐

6 25 评论
分享
牛客网
牛客企业服务