您现在的位置:首页 > >

python面试题(81-111)

发布时间:

第二部分 网络编程和并发(34题)

1、简述 OSI 七层协议。

????????物理层、数据链路层、网络层、传输层、会话层、表示层、应用层




2、什么是C/S和B/S架构?


?????????C/S传统程序架构,要有客户端和服务器端,典型的例子QQ就是基于C/S架构的,你本地只是一个客户端,而主程序运行在腾讯的服务器。



????????B/S架构就是给予浏览求的应用程序,网站就是很典型的代表,而通常所说的B/S架构则更是指的是基于网页的系统



3、简述 三次握手、四次挥手的流程。

????????建立连接协议(三次握手)



? ? ? (1)客户端发送一个带SYN标志的TCP报文到服务器
??????(2) 服务器端回应客户端的
??????(3) 客户必须再次回应服务段一个ACK报文



????????连接终止协议(四次挥手)



? ? ? (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送
??????(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1
??????(3) 服务器关闭客户端的连接,发送一个FIN给客户端
??????(4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1




4、什么是arp协议?



????????ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议



5、TCP和UDP的区别?


? ? ? ?? 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接



? ? ?? 2、TCP提供可靠的服务。通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付?
?????????3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流
??? UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
?????????4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
?????????5、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道




6、什么是局域网和广域网?


????????局域网和广域网是按规模大小而划分的两种计算机网络。




????????局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。





????????广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合,通常跨越省、市,甚至一个国家。广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。




7、为何基于tcp协议的通信比基于udp协议的通信更可靠?


????????tcp:TCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性




?????????udp:不可靠 一直发数据,不需要对方回应



8、什么是socket?简述基于tcp协议的套接字通信流程。

? ? ? ? ? ?? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
? ? ????? 服务端:创建socket对象,绑定ip端口bind(),? 设置最大链接数listen(),? accept()与客户端的connect()创建双向管道, send(), recv(),close()
?????????????客户端:创建socket对象,connect()与服务端accept()创建双向管道 ,? send(), recv(),close()





9、什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?


????????粘包:数据粘在一起



? ? ? ??主要因为:接收方不知道消息之间的界限,不知道一次性提取多少字节的数据造成的



? ? ? ? 数据量比较小,时间间隔比较短,就合并成了一个包,这是底层的一个优化算法(Nagle算法)




10、IO多路复用的作用?


????????I/O多路复用是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。




11、什么是防火墙以及作用? ?


??????简单的来说,防火墙就是一种,避免你的电脑被黑客入侵的一种防护工具,一种确保网络安全的方法!



??????设置防火墙目的都是为了在内部网与外部网之间设立唯一的通道,简化网络的安全管理。



? ? ?? 1、允许网络管理员定义一个中心点来防止非法用户进入内部网络。



? ? ?? 2、可以很方便地监视网络的安全性,并报警。



???????3.可以作为部署NAT(网络地址变换)的地点,利用NAT技术,将有限的IP地址动态或静态地与内部的IP地址对应起来,用来缓解地址空间短缺的问题。?



? ? ? ????????????防火墙可以阻止黑客入侵,但不能防止病毒入侵!





12、select、poll、epoll 模型的区别?




?
13、简述 进程、线程、协程的区别 以及应用场景


????????进程拥有自己的堆和栈,既不共享堆也不共享栈 进程由操作系统调度



? ? ? ? 线程拥有自己的堆和共享的栈 共享栈 但不共享堆 线程也是由操作系统调度



? ? ? ??协程和线程一样有自己的堆和共享的栈 共享栈但不共享堆 协程由开发人员在适当情况调用




14、GIL锁是什么鬼?


????????GIL:Global Interpreter Lock 全局解释器锁



????????当我们用多线程的时候,每一个进程中只有一个GIL锁,那么这多个线程中谁拿到GIL锁,谁即可以用cpu(ps:多个进程有多个Gil锁,但每个进程中只有一个GIL)





15、Python中如何使用线程池和进程池?

????????进程池:使用multiprocessing.Pool



? ? ? ? 线程池:使用ThreadPool模块 ?




16、threading.local的作用?


????????threadLocal解决了参数在一个线程中各个函数之间相互传递的问题



????????一个threadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本 互不干扰





17、进程之间如何进行通信?




????????创建一个queue队列,或使用 from multiprocessing import Manage管理要进行通信的数据?



18、什么是并发和并行?


????????并发:指两个或多个事件在同一时间间隔发生



????????并行:指两个或多个事件在同一时刻发生



????????并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。





19、进程锁和线程锁的作用?

? ? ? ? ? 进程锁:也是为了控制同一操作系统中多个进程访问一个共享资源,只是因为程序的独立性,各个进程是无法控制其他进程对资源的访问的,但是可以使用本地系统的信号量控制
? ? ? ? ? 线程锁:主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码,当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行完之后才能执行该代码段
?????????线程锁,进程锁的作用都是一样的,只是作用的范围大小不同。
?????????进程锁??大于??线程锁,能用线程锁的情况下使用进程锁也是可以的




20、解释什么是异步非阻塞?


????????异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。



????????非阻塞模式是指利用socket事件的消息机制,Server端与Client端之间的通信处于异步状态。




21、路由器和交换机的区别?


????????路由器(Router)亦称选径器,是在网络层实现互连的设备。可以连接多个网络或网段的网络设备,包括局域网和广域网。



????????交换机(Switch)是一种基于MAC(网卡的硬件地址)识别,为始发者和接收者之间建立临时的联网路径。



????????区别:



? ? ? ?? 1、工作层次不同:交换机比路由器更简单,路由器比交换器能获取更多信息
?????????2、数据转发所依据的对象不同
?????????3、传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域
?????????4、路由器提供了防火墙的服务




22、什么是域名解析? ?



????????域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务




23、如何修改本地hosts文件? ?


????????记事本打开C:WindowsSystem32driversetc下的hosts文件进行修改




24、生产者消费者模型应用场景及优势?


????????应用于一个生产数据一个处理数据的场景 ? ?



????????优势生产者和消费者之间不直接进行通信 而是通过一个队列相当于一个缓冲区,*衡了生产者和消费者的处理能力





25、什么是cdn?


????????CDN的全称是Content Delivery Network,即内容分发网络。 ? ? ??



????????其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接*用户的网络"边缘",使用户可以就*取得所需的内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。





26、LVS是什么及作用? ? ? ?




27、Nginx是什么及作用?

?????????Nginx是一个http服务器
?????????1、 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
?????????2、 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。基于端口的,不同的端口基于域名的,不同域名
?????????3、 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以*均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况




28、keepalived是什么及作用?
29、haproxy是什么以及作用?


30、什么是负载均衡?

?????????负载均衡是高可用网络基础架构的的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台
然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。 ?


热文推荐
猜你喜欢
友情链接: 团党工作范文 工作范文 表格模版 社科文档网 营销文档资料 工程文档大全