iOS开发·计算机网络常考面试题

网络相关

1.描述一下网络的三次握手四次挥手,为什么要这样做?

  • 三次握手:

    1、客户端调用connect()发起请求,请求报文SYN = 1, seq = x发送给服务器, 客户端此时为SYN_SENT状态,等待服务器确认;

    2、服务器收到SYN = 1,知道客户端要请求连接,ack = x + 1,ACK = 1,SYN = 1, seq = y发送给客户端,服务器是SYN_RCVD状态;

    3、客户端收到ack = x + 1,然后把ack = y + 1,ACK = 1,发送给服务器, 最后服务器确认ack = y+ 1,然后建立成功,两方进入ESTABLISH状态.

三次握手.png
  • 四次挥手:

    1、客户端发送一个结束FIN = 1, 用来主动关闭和服务器的数据传输,停止发送数据,报文首部:FIN = 1,seq = u,随后客户端进入终止等待状态1, FIN_WAIT_1;

    2、服务端收到这个FIN,发出确认报文 ACK = 1,确认收到的序号是收到的序号+1,即ack = u + 1,且带上自己的序列号,seq = v,和SYN一样,一个FIN将占用一个序号;如果服务器要发送数据,客户端依然要接收,该状态会维持一段时间,服务端会进入关闭等待状态,CLOSE_WAIT,客户端收到服务器的确认请求后,进入终止等待2状态FIN_WAIT_2,等待服务器发送链接释放报文,

    3、服务器向客户端发送链接释放报文, FIN = 1, ack = u + 1,此时服务端还处于半关闭状态,服务器可能还会发送一些数据,此时序列号为seq = w,如此,服务器进入最后确认状态,LAST_ACK,等待客户端的确认.

    4.客户端收到服务器的链接释放报文后,回发确认, ACK = 1, ack = w + 1,序列号是seq = u +1,此时客户端进入时间等待状态TIME_WAIT,此时TCP连接还没有释放,必须经过最长报文段寿命的时间后,才进入CLOSED状态, MSL:最长报文段寿命,一般为2分钟,TCP连接释放时,主动方必须经过2MSL后才进入CLOSED状态,因此主动方关闭比较晚.

四次挥手.png

2.网络的OSI七层模型,并对应说说除了物理层外的各层功能,并说说各层中有什么协议? 还有 TCP/IP四层模型, 各层的协议?

OSI七层模型:

  • 应用层运行访问OSI环境的手段,传输单位为APDU,主要包括的协议为FTPHTTPDNSSMTP

  • 表示层对数据进行翻译、加密和压缩、传输单位为 PPDU, 主要包括的协议为 JPEGASII

  • 会话层建立、管理和终止会话,传输单位为 SPDU,主要包括的协议为RPCNFS

  • 传输层提供端到端的可靠报文传递和错误恢复,传输单位为报文,主要包括的协议为 TCPUDP

  • 网络层负责将数据包从源到宿的传递和网际互联,传输单位是包,主要协议是 IPARPICMP

  • 数据链路层将比特组装成帧和点到点的传递,传输单位是帧,主要协议是 MACLANPPP

  • 物理层 通过媒介传输比特,单位是bit,主要协议是 IEEE802.3CLOCKRJ45

    TCP/IP四层模型:

    • 应用层是用来给用户提供服务的,包含了各种应用服务协议:FTP, HTTPDNS;封装成http数据;

    • 传输层是用来提供两台计算机之间的数据传输;包含TCPUDP;给http数据打上tcp的首部;

    • 网络层是用来处理网络中传输的数据包;与对方计算机之间进行多台计算机或网络设备进行传输时,网络层就是在众多的选项中选择一条传输路线.再打上一层IP首部,

    • 数据链路层用来处理连接网络的硬件部分,如光纤、网卡、驱动、操作系统,再打上以太网首部

    3.HTTPSHTTP之间的区别,为什么要使用HTTPSHTTPS的实现原理(这三个是层层递进的问的,所以不要只知道HTTPS比较安全,使用了什么什么非对称加密和对称加密算法...最好是整个流程都去了解一下,如何获取公钥,数字证书有什么用,虽然工作中不是很重要,但是面试大家都是背八股文长大的,那不是更得知道的多才能显得你与众不同吗)

    区别:

    • 底层:HTTP底层是通过建立socket通道实现数据传输的,是基于TCP的安全可靠的协议;HTTPS是在HTTP的基础上加上安全套接字层SSL协议,构建的可进行加密传输身份认证的协议;

    • 数据传输: HTTP是以明文发送内容,不适合传输敏感信息;HTTPS是依靠证书验证服务器的身份,实现通信加密;

    • 连接方式: 两者使用完全不同的链接方式, HTTP端口是80;HTTPS端口使用443.

    • 响应速度: HTTP要比HTTPS响应速度快,首先都要先经过TCP三次握手,CS之间交换三个包,而HTTPS还要加上SSL握手需要的九个包,一共是12个包.

    HTTPS实现原理:

    1. 客户端发出请求HTTPS与服务端建立SSL链接,然后服务端返回一个公钥证书,

    2. 客户端产生一个随机对称密钥;

    3. 使用公钥加密对称密钥;

    4. 发送加密后的对称密钥,服务器给个回应;

    5. 使用对称密钥进行加密通信.

    4.ARP协议如何工作(这个也比较简单,但是后面会扩展问一些TCPUDP的问题),会问某些场景是否使用TCP或者UDP,后面还转进了http1.0和1.1的长连接,感觉这个也是一个考点,记得不是很深刻了

    5.进程和线程的区别,为什么要有线程,线程拥有什么独立的资源, 多线程如何安全的访问进程中的资源,讲一下各种锁(这个也是八股文,操作系统必问,懂得都懂)

    • 进程就是系统中正在运行的一个应用程序,可以理解为一个app;

    • 线程是程序执行的最小单元,是进城中的一个实体,进程就是一系列的线程执行单元组成的

    • 一个进程中可以有多个线程,但至少得有一个线程

    • 多核CPU中,多个线程一起执行可以提高程序的执行效率

    • 自旋锁:

    • 互斥锁:

    6.操作系统中的虚拟内存是什么,讲一讲 页面置换算法,是否有了解过三级缓存机制(也是递进的问的!三级缓存机制是APP开发常用的也会考查)

    7.最后有一道算法题,leetcode 59,螺旋矩阵

    • 定义上下左右四个边界

    • 内缩遍历

    8.IP地址和MAC地址的区别?

    1. MAC地址物理层数据链路层使用的地址,用来定义网络设备的位置, IP地址网络层和以上各层使用的地址;

    2. IP地址是放在IP数据报的首部,而 MAC地址是放在 MAC帧的首部.

    9.请介绍一个操作系统中的中断

    1. 中断是指CPU对系统发生的某个事件做出的一种反应,CPU 暂停正在执行的程序, 保存现场后自动去执行相应的处理程序,处理完该事件后再返回中断处,继续执行原来的程序.

    2. 中断一般分为三类:一种是由CPU外部引起的,如I/O中断,时钟中断,一种是来自CPU内部事件或程序执行中引起的中断,例如(程序非法操作,地址越界,浮点溢出), 最后一种是在程序中使用了系统调用引起的.

    3. 中断处理一般分为中断响应和中断处理两个步骤,中断响应由硬件实施,中断处理主要由软件实施.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容