Python面试题网络和并发编程
第五章 网络和并发编程
- python的底层网络交互模块有哪些?
- 简述 OSI 七层协议。
- 什么是C/S和B/S架构?
- 简述 TCP 三次握手、四次挥手的流程。
- 什么是arp协议?
- TCP和UDP的区别?为何基于tcp协议的通信比基于udp协议的通信更可靠?
- 什么是局域网和广域网?
- 什么是socket?简述基于tcp协议的套接字通信流程。
- 什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?
- IO多路复用的作用?
- 什么是防火墙以及作用?
- select、poll、epoll 模型的区别?
- 简述 进程、线程、协程的区别 以及应用场景?
- 什么是GIL锁?
- Python中如何使用线程池和进程池?
- threading.local的作用?
- 进程之间如何进行通信?
- 什么是并发和并行?
- 解释什么是异步非阻塞?
- 路由器和交换机的区别?
- 什么是域名解析?
- 如何修改本地hosts文件?
- 生产者消费者模型应用场景?
- 什么是cdn?
- 程序从Flag A执行到Flag B的时间大致为多少秒
- 有A.txt和B.txt 两个文件, 使用多进程和进程池的方式分别读取这两个文件
- 以下那些是常见的TCP Flags?(多选)
A. SYN
B. RST
C. ACK
D. URG
- 下面关于网络七层和四层的描述, 那条是错误的?
A.
SNMP工作在四层
B. 四层是指网络的传输层, 主要包括IP和端口信息
C. 七层是指网络的应用层(协议层), 比如http协议就工作在七层
D. 四层主要应用于TCP和UDP的代理, 七层主要应用于HTTP等协议的代理
- tracerroute 一般使用的是那种网络层协议
A.
VRRP
B. UDP
C. ARP
D. ICMP
- iptables知识考察, 根据要求写出防火墙规则?
A. 屏蔽192.168.1.5访问本机dns服务端口
B. 允许10.1.1.0/24访问本机的udp 8888 9999端口
- 业务服务器192.168.1.2访问192.168.1.3数据接口, 无法正常返回数据, 请根据以上信息写出排查思路。
- 请实现一个简单的socket编程, 要求
1. 实现server端的功能即可
2. 遵循基本语言编程规范
- 谈一下对于多线程编程的理解, 对于CPU密集型怎样使用多线程, 说说线程池, 线程锁的用法, 有没有用过multiprocessing或concurrent.future?
- 关于守护线程的说法, 正确的是
A. 所有非守护线程终止, 即使存在守护线程, 进程运行终止
B. 所有守护线程终止, 即使存在非守护线程, 进程运行终止
C. 只要有守护线程或者非守护线程其中之一存在, 进程就不会终止
D. 只要所有的守护线程和非守护线程中终止运行之后, 进程才会终止
- TCP协议在每次建立或者拆除连接时, 都要在收发双方之间交换()报文
A.一个 B.两个
C.三个 D.四个
- 描述多进程开发中join与deamon的区别
- 请简述GIL对Python性能的影响
- 曾经在哪里使用过:线程、进程、协程?
- 请使用yield实现一个协程?
- 请使用python内置async语法实现一个协程?
- 简述线程死锁是如何造成的?如何避免?
- asynio是什么?
- gevent模块是什么?
- 什么是twisted框架?
- 什么是LVS?
- 什么是Nginx?
- 什么是keepalived?
- 什么是haproxy?
- 什么是负载均衡?
- 什么是rpc及应用场景?
- 什么是反向代理和反向代理?
- csv文件【erotic.csv】中共存在271万多条数据,请获取其中的subscription_id,并使用线程池为每100条数据创建一个线程去处理(打印或通过爬虫去提交到某处),erotic.csv文件格式为:
"subscription_id","erotic","num"
"UCURGHWsDe7S-v1ufCAq9Rfw","5","1"