计网
2.网络编程(29道)  2.1  列举一下 OSI  协议的各种分层。说说你最熟悉的一层协议的功能。 (1)七层划分为:应用层、表示层、会话层、传输层、网络层、 数据 链路层、物理层。(2)五层划分为:应用层、传输层、网络层、 数据 链路层、物理层。 (3)四层划分为:应用层、传输层、网络层、网络接口层。(TCP/IP协议对应模型) (4)各层功能:                                         应用层                                                         在实现多个应用进程相互通信的同时,完成一系列业务处理所需的服务,比如电子邮件、文件传输、远程登录等。                                                                         传输层                                                         为通信双方的主机提供端到端的服务,有两个不同的传输协议  TCP和  UDP,  TCP提供可靠交付,而  UDP并不能保证可靠交付。                                                                         网络层                                                         处理分组在网络中的活动,例如分组的选路。                                                                         网络接口层                                                         处理与电缆(或其他任何传输媒介)的物理接口细节。                                             2.2 TCP/IP  协议包括?                                         应用层                                                         Telnet                                         (远程登录服务)、                           FTP                                         (文件传输,使用  TCP)、                                   SMTP                                         (建立于  FTP上的邮件服务)、  DNS(域名与  IP地址相互转换)等                                                                         传输层                                                         UDP                                         (无连接、不可靠)、  TCP(面向连接、可靠传输)                                                                         网络层                                                         IP  (为主机提供一种无连接、不可靠、尽力而为的 数据 服务)、  ICMP(主机与路由器之间传递控制信息)、  IGMP(主机与路由器之间进行组播成员信息交互)                                                                         网络接口层                                                         ARP  (IP   地址-> MAC  地址)、RARP                                         (  MAC地址   -> IP地址)等                                          2.3 TCP  通信建立和释放的过程?端口的作用? (1)连接是三次握手,释放是四次挥手。 (2)端口是一个软件结构,被客户进程或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口。     2.4 IP  地址转换成物理地址的协议?反之? 答案: (1)将IP地址转换成物理地址的协议是ARP(地址解析协议)。 (2)反之则是RARP(反地址解析协议)。 解读: (1)ARP协议工作流程: ①首先,每台主机都会在自己的ARP缓冲区( ARP Cache )中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。   ②当源主机需要将一个 数据 包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有﹐就直接将  数据 包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求    数据 包里包括源主机的IP地址、  硬件 地址、以及目的主机的IP地址。 ③网络中所有的主机收到这个ARP请求后,会检查 数据 包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此  数据 包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应     数据 包,告诉对方自己是它需要查找的MAC地址; ④源主机收到这个ARP响应 数据 包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始  数据 的传输。如果源主机一直没有收到ARP响应 数据 包,表示ARP查询失败。 (2)RARP协议工作流程: ①网络上的每台设备都会有一个独一无二的硬件 地址,通常是由设备厂商分配的MAC地址。PC1从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播  数据 包,请求RARP服务器回复该PC的IP地址。 ②RARP服务器收到了RARP请求 数据 包,为其分配IP地址,并将RARP回应发送给PC1。 ③PC1收到RARP回应后,就使用得到的IP地址进行通讯。     2.5 IP  地址的编码分为哪两部分? IP地址由两部分组成,网络号和主机号。不过是要和"子网掩码"按位与上之后才能区分哪些是网络位哪些是主机位。     2.6  应用程序ping  发出的是什么报文? 答案:应用程序ping发出的是ICMP请求报文。 解读:  ping的原理是利用网络上机器IP地址的唯一性,给目标IP地址发送一个 数据 包,通过对方回复的  数据 包来确定两台网络机器是否连接相通,时延是多少。     2.7 socket  编程的流程? (1)服务器端流程:                                         函数                                                         作用                                                                         socket()                                                         创建套接字                                                                         bind()                                                         绑定本地  IP地址和端口号                                                                         listen()                                                         设置监听队列长度                                                                         accept()                                                         等待连接                                                                         read()                                                         接收信息                                                                         close()                                                         关闭套接字                                         (2)客户端流程:                                         函数                                                         作用                                                                         socket()                                                         创建套接字                                                                         connect()                                                         发送连接请求                                                                         write()                                                         发送信息                                                                         close()                                                         关闭套接字                                             2.8 epoll  是什么? (1)epoll是Linux网络编程中用于处理大批量文件描述符的机制,是对select/poll的改进。 (2)select监听的fd是有上限的,32位处理器一般为1024;且select/poll每次调用会遍历所有fd,时间复杂度为O(n),效率太低。而epoll监听的fd数量没有限制,且能在O(1)的时间复杂度内完成操作。 (3)epoll相关的系统调用有:epoll_creat、epoll_ctl、epoll_wait/epoll_pwait(可屏蔽特定信号),分别用来创建一个epoll文件描述符、添加/删除/修改需要侦听的文件描述符及事件、接收被侦听描述符的IO事件。epoll文件描述符用完之后直接close关闭即可。    以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:                  https://blog.nowcoder.net/zhuanlan/v0ELPM 嵌入式公司推荐:华为、                    小米                    、OPPO、VIVO、荣耀、一加、  CVTE、  style="" target="_blank">大疆 、insta360影石、  美的 、       style="" target="_blank">TCL   、 海信、创维、烽火、比亚迪                     、吉利、长安、大众、经纬恒润 、小鹏、  style="" target="_blank">图森未来、      百度 、 style="" target="_blank">滴滴、蔚来、理想、 联发科、 紫光展锐 、全志、 style="" target="_blank">寒武纪 、晶晨半导体 、汇顶、 style="" target="_blank">华为、    中兴、 style="" target="_blank">浪潮 、TP-LINK、讯飞、商汤、 style="" target="_blank">海康威视 、浙江大华  、360、小马智行、元戎启行              、深信服                                     、移动、联通、电信、旷视                    、四维图新                     、中芯国际                 、复旦微电子    
点赞 3
评论 0
全部评论

相关推荐

如题,鼠鼠快碎掉了。鼠鼠正在投暑期和日常的实习,可能是因为简历太差吧,好多初筛都没有过,所以其实格外珍惜每一次的约面。尤其鼠鼠是八股选手,但凡碰到喜欢问项目的面试官是直接速通鼠掉。那是一个万里无云的晚上,鼠鼠接到tx某子公司的约面,虽然没算法题但是问得我汗流浃背,面试官从我的八股批判到我的项目继而批判到我的实习,感觉基本上除了八股这种特定答案之外每一个问题都要质问我,尤其是询问到实习的时候我解释完之后直接来了一句“那你实习也啥也没做啊”,鼠鼠直接原地碎掉。之后的问题鼠鼠也不太记得了,大部分都是直接吟诵咒语,肌肉记忆直接不过脑子。因为接二连三的压力鼠鼠直接摆烂了,回答的时候也不太看屏幕直接开始搓...
机器人为什么是猫呀:楼主要自信。好的面试官是会照顾面试者情绪的,不会直接说那么伤人的话。面试表现其实很看自己的心态跟情绪,这些又和面试官的反馈很相关。而且有些面试官很高傲,不求甚解,自认为你的东西看一眼很简单,就不会听你说了,却没有从一个没有丰富工作经验的人的角度去思考。楼主不要因为这些影响心态,不要怀疑自己,只要遇到一个“合适”的面试官就会好很多的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务