zoukankan      html  css  js  c++  java
  • 面试——网络

    1. 分层结构

    2. TCP/IP在哪个层?

    3. TCP和UDP的区别,和应用场景

    4. TCP三次握手的过程,为什么不是两次握手或者是四次握手?

    5. HTTP请求在哪一层?有哪些操作?

    6. Get和POST两个操作的区别?GET请求可以提交吗?(URL中包含用户名和密码,那它可以提交吗)?

    7. 有配置过服务器吗?你们用的是什么类型的服务器?一个请求访问首页的URL,到达服务器后具体的操作?如何调用本地的方法的?

    1、OSI七层模型和TCP/IP四层模型

    1、TCP 和 UDP 的区别?如何保证 TCP 的可靠性?

    1. 在浏览器中输入 www.baidu.com 后执行的全部过程

    1. 应用层上使用了HTTP协议

    1)首先客户端通过DNS解析域名请求(UDP协议),得到URL对应的IP地址。DNS解析过程

    1. 浏览器缓存。(2~30min)
    2. 系统缓存(windows:gethostbyname)
    3. 路由器缓存
    4. ISP DNS缓存
    5. 递归搜索:从根域名服务器开始递归搜索。其中,为了消除例如微博这种多个IP对应一个域名的问题,使用
      • 循环DNS,是DNS查找时返回多个IP时的解决方案
      • 负载平衡器,以一个特定的IP地址进行侦听,并将网络请求转发到集群服务器上的硬件设备。
      • 地理DNS,根据用户所在地理位置,通过把域名映射到多个不同的IP地址提高可扩展性。
      • Anycast, 是一个IP地址映射多个物理主机的路由技术。与TCP协议适应性不是很好,但是大多数DNS服务器使用Any cast来获得高效低延迟的DNS

    2)浏览器客户端发起一个HTTP请求到这个IP地址(HTTP协议是以ASCII传输)

    2. 在传输层使用了TCP协议建立连接,通过流量控制、拥塞控制、差错控制保证数据传输的稳定性。

    • 把HTTP请求分成报文段,添加源和目的端口,封装成TCP协议报。
      • 例如服务器端使用80端口监听客户端请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回客户端的5000端口。
    • 输入网络层

    3. 网络层:使用IP、ICMP、ARP、RARP协议

    1)首先,进行寻址和路由。使用路由表确定到达服务器的路径以及ARP协议将IP地址转化成服务器MAC地址。ARP解析过程(广播发送ARP请求,单播发送ARP响应):

    1. 首先,每个主机在自己的ARP缓存区,建立一个ARP列表,包含IP和MAC的对应关系
    2. 当源主机要发送数据时,首先检查ARP列表中是否有对应IP和MAC地址,如果不存在,则广播发送ARP请求,包含了:自己的IP、MAC和目的IP地址
    3. 在广播域中的主机,接受到ARP数据包后,首先检查是否是自己的IP地址,如果不是,则忽略;如果是,则单播给源主机自己的MAC地址。

    它是IPv4网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代

    2)同时使用ICMP协议,对数据报进行差错控制

    3)然后对IP数据报进行拆分和重装,添加IP信息,传入数据链路层。

    4. 数据链路层:

    将IP数据报加上控制信息:校验码/验证码+帧定界符,封装成数据帧,传入物理层

    5. 物理层:

    将数据帧转换成0,1比特流。最后,使用真正的电信号通过多种传输介质传输到百度的服务器。

    当电信号到达服务器,对数据帧进行拆分,直到应用层。

    4. HTTP协议包含哪些请求方式

    GET:获取URL下的资源、提交表单信息(用户名、密码)

    POST:向服务器提交更新数据(创建或更新服务器资源)

    PUT:存储一个资源到请求的URL

    DELETE:删除给定的URL所标志的资源

    HEAD:返回URL标志的头信息

    TRACE:返回TRACE请求附带的头字段

    OPTION:返回服务器支持的HTTP请求

    1、计算机网络

    1.请你说一下HTTP的报文段是什么样的?

    2.请你回答一下HTTP用的什么连接?

    3.请你说一说TCP的三次握手?

    4.请你说一下在浏览器中输入一个网址它的运行过程是怎样的?

    5请你说一说http rest

    6.请你说一说http请求报文

    7.请你说一说get post区别

    8.请你说一下tcp和udp的区别

    9.请你说一下get和post的区别

    10.请你说一下为什么tcp可靠,哪些方法保证可靠

    11.请你说一说TCP的流量控制

    12.请你回答一下TCP三次握手,以及为什么不是两次

    13.请你回答一下ipv6的位数

    14.请你说一说osi七层模型

    15.请你说一说DNS解析过程

    16*请你说一说http和https区别

    17.请你说一说get和post区别

    18.请你说一下**https中SSL层原理

    19.请你说一说TCP断连过程,以及单向连接关闭后还能否通信

    20.请你说说TCP和UDP用一个端口发送信息是否冲突

    21.请你说说HTTP常见头

    22.请你说说**HTTP状态码

    23.请你说说soket编程和http协议

    24请你说说tcp三次握手四次挥手

    25请你说说post和get的区别

    26.请你说说HTTP状态码,HTTP请求协议

    26、请你说一说http缓存问题,缓存寿命,以及怎么判断文件在服务器是否更改的

    27.请你回答一下搜索敏感词汇时,页面被重置的原理

    28请你说一说两个机器之间的通讯过程?以及计算机网络为什么有七层?

    29请你说一说http缓存问题,缓存寿命,怎么判断文件在服务器是否更改的

    30请你说一说什么是http协议,http的数据段包括什么?http 为什么是无状态的,http和https的区别?ip地址的abcd类是怎样分的,ABCD分层协议为什么如此分层,什么是长连接和短链接**

    31请你说一说**tcp数据段都包括什么?tcp三次握手四次挥手过程、为什么挥手是四次

    32请你说一下tcp与udp的区别,以及**tcp为什么可靠,tcp滑动窗口,同传,拆包组装包是如何实现的

    33请你说一下tcp/ip四层网络协议

    34手写代码:从网络日志中,提取出date 字段,并排序。

    35、从打开浏览器输入url到到达服务器上项目中某一个Controller上,请你来描述一下这一串过程

    36请你介绍下session

    37请问你知道跨域吗,条件是什么,在header里需要加什么,有几种方案 

    38请你来回答一下,比如淘宝的搜索算法,输入关键词,会给出搜索出来的商品结果,对于这样的算法,如何评价它的好坏?

    39、商品的种类有几十万种,在这种大数据的情况下,如何评价搜索算法的好坏?

  • 相关阅读:
    linux使用Windows中的ttf字体
    Filmic Tonemapping rocks
    Directionally Localized AntiAliasing
    OpenGL ES Emulator横向比较
    Gamma的传说
    KlayGE的Realtime GI正式上线
    CUDA 4.0真技术解析
    Antialias的前世今生(二):Post process based AA
    Antialias的前世今生(一)
    完整的“KlayGE中的延迟渲染”
  • 原文地址:https://www.cnblogs.com/gaogo/p/13656443.html
Copyright © 2011-2022 走看看