ICT领域面试常见问题总结(一)

原创 2013年12月09日 17:19:38

最近面试在基础知识这块表现不好,所以想着有空就总结下学过的知识点,一方面当是帮助记忆顺便练练笔,另一方面也可以把有些话题放在网上和大家探讨一下。


主要分四章来总结这些问题

包括:网络、操作系统、数据结构和C/C++程序设计。

第一章 网络

(1)OSI参考模型与TCP/IP参考模型概念及区别

    OSI的七层为:

        物理层            // 在信道上传输的原始的比特流

        链路层    ​    ​    ​// 将数据封装为帧,并接受确认帧,以确保正确性

        网络层    ​    ​    ​// 子网的运行控制,控制数据包在网络上的路由

        传输控制层    ​    ​// 从会话层接收数据按顺序并传递给网络

        会话层    ​    ​    ​// 确保不同的机器可以建立回话

        表示层    ​    ​    ​// 用于完成特定功能

        应用层    ​    ​    ​// 人们普遍需要使用的协议

   

    ​TCP的四层为:

        物理层            // 相当于一个物理链路层,直接提供主机到网络的数据交换

        网络层            // 给主机重新分配一个IP,然后处理主机数据包在各网络间的路由

        传输层            // 为应用程序提供一个端到端的连接保证数据的传输顺序和完整性

        应用层            // 根据用户在网络方面的需求提供各种服务

    OSI七层参考模型是理论模型,没有实际使用,而TCP/IP则使用较多,成为事实上的标准。


(2)TCP和UDP的作用和区别

    TCP的中文名字是传输控制协议,它提供一种可靠的字节流服务。

    UDP的中文名字是用户数据报协议,是一个简单的不可靠的服务,不能保证数据一定到达目的地。

    

    他们的区别主要有三个方面:

    1TCP提供了流量控制机制,而UDP没有。

    2TCP提供超时重发,丢弃重复和数据校验功能,而UDP虽有校验但没有重发机制,可靠性不如TCP。

    3TCP在传输数据前需要建立一个连接,而UDP不用。因TCP提供了超时重发的机制会占用一些时间,故速度不如UDP。


(3)TCP的三次握手和四次挥手过程

    ​TCP建立连接的三次握手

    ​    ​C    ​    ​    ​    ​     ​    ​       ​   S

    ​    ​|--------    SYN           ​-------->|

    ​    ​|<-------    SYN,ACK     -------|

    ​    ​|--------    ACK           ​-------->|

    ​TCP拆除连接的四次挥手

        C                                   S

        |--------    FIN           --------->|

        |<-------    ACK     ​      ---------|

    ​    ​|<-------    FIN,ACK     --------|

        |--------    ACK           -------->|

    ​为什么建立需要三次而拆除却需要四次?

    ​    建立连接时主要使用的是同步信号和确认信号,拆除连接时使用的是完成信号和确认信号。

    ​    ​因为服务器准备好随时和客户建立连接,所以一旦客户发出请求就可以立即确认,并准备开始连接。中间不需要时间差。

    ​    ​但是,在拆除连接的过程中,上图表示客户数据发送完成,等待结束,而服务端可能有数据没传完,所以先给客户端反馈一个确认信息,然后处理没完成的数据,这一步完成后,可以断开连接了,才发送FIN信号和ACK。这个中间有个时间差,所以需要拆成两次挥手。

    ​

    ​    ​注!在握手过程中,客户需要第三次握手确认建立连接,这里会隐藏一个攻击即SYN攻击,即攻击者可以向服务器发送N个SYN信号而不确认,这个服务器就需要建立N个未成功的连接,服务器不断向客户重发求确认未果,造成服务器计算和连接资源浪费而影响正常客户使用。针对这一攻击,增加了两个策略,一个是重发次数策略,一个是等待时间策略。当重发次数或或等待时间到达预定值时,这个对应的连接依然未成功时,将直接被拆除。


(未完待续)

百度面试相关问题

百度面试 FEB 11TH, 2014 | COMMENTS 百度移动云可穿戴部门的面试经历,面试官都非常热情友好,一上来到弄的我挺不好意思的。下面记录一下自己的面试过程,因为我真的没...
  • zhaojian3513012
  • zhaojian3513012
  • 2015年06月18日 13:32
  • 184

2014硕士面试经历一

2014校招开始了,最先来的是大华为,
  • Diaoliangwang
  • Diaoliangwang
  • 2014年09月02日 17:03
  • 784

ICT:IT与CT的融合之路

ICT的IT化之路   当前的移动互联网,正出现去电信化,或者叫电信的互联网化趋势。电信运营商如何顺应这一形势,在ICT发展中,补强以往薄弱的IT环节,关系到它下一步在整个产业链中主动权的得失。...
  • dolphin98629
  • dolphin98629
  • 2016年08月23日 16:24
  • 4376

【面试】【MySQL常见问题总结】【01】

001 数据库应用系统设计1.规划    2.需求分析    3.概念模型设计    4. 逻辑设计    5.物理设计    6.程序编制及调试    7.运行及维护。 002 创建数据库CREAT...
  • DERRANTCM
  • DERRANTCM
  • 2016年05月29日 21:09
  • 1703

IBM GDC 面试经验

投简历 进入http://www.ibmcampus.com/graduate.htm,选择感兴趣的职位,点击“点击申请该职位”。然后需要有注册51job注册账号,注意一定要准备好一份英文简历哦 !...
  • QQ1003701882
  • QQ1003701882
  • 2015年08月19日 21:35
  • 899

常见的软件测试人员面试问题

面试提问的技巧很多,而且提哪些问题也很重要,这里简单列了一下,经常要提的问题:l         为什么想离开目前的工作?l         你曾听说过我们公司吗?你对于本公司的第一印象如何?l ...
  • techweb
  • techweb
  • 2007年12月14日 17:02
  • 467

【面试】【MySQL常见问题总结】【03】

061 如何删除表?答案:运行命令 drop table table_name; 062 创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,...
  • DERRANTCM
  • DERRANTCM
  • 2016年05月29日 22:20
  • 9664

java面试常用问题的总结

1:JDK,JRE,JVM分别是什么?它们之间有什么关系?     jdk是Java开发环境,jre是Java运行环境,jvm是Java虚拟机,jre包含jvm。     2:什么是环境变量?用...
  • t0404
  • t0404
  • 2016年07月12日 22:24
  • 2658

转载:OS 面试相关问题

1、在同一个网站中,当有客户端访问的时候,会出现有的页面访问的速度快而有的慢,系统和服务完全正常、完全正常、网络正常。问这个是那里出现了问题 ?这个问题的核心在于“当有一个客户端访问时” 并没说明是同...
  • yuanxuran0101
  • yuanxuran0101
  • 2010年05月16日 23:26
  • 803

今天收到IBM CRL(中国研究中心)的电话面试。

国庆前投的简历,今天下午4:00多收到IBM CRL(中国研究中心)的电话面试。是IBM CRL的一个本校以前的师姐电话面试的。我的手机没有电了,然后让她打倒教研室来,很快就打来了,不过真的一点心理准...
  • jery_lee
  • jery_lee
  • 2004年10月13日 22:51
  • 5098
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICT领域面试常见问题总结(一)
举报原因:
原因补充:

(最多只允许输入30个字)