在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
自从互联网诞生以来,基本上所有的程序都属于网络程序,也就需要设计到网络编程,在python中,就是在python程序本身这个进程内,链接别的服务器进程的通信端口进行通信。在Python程序员找工作的时候,京城被问到关于网络编程的问题。下面就和大家分享一下那些面试中经常出现的问题吧。
1.Tcp 协议和 udp 协议有什么区别?
(1)TCP 面向连接(如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前不需要建立连接。
(2)每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信。
(3)TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。
(4)TCP 的逻辑通信信道是全双工的可靠信道,UDP 则是不可靠信道。
2.Post 和 get 区别?
(1)GET 请求的数据会暴露在地址栏中,而 POST 请求则存在表单中提交所以 post 相对安全。
(2)post 传输数据比 get 大。
(3)post 比 get 安全。
3.cookie 和 session 的区别?
(1)cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
(2)cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE欺骗考虑到安全应当使用 session。
(3)session 会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用 COOKIE。
(4)单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
(5)建议:将登陆信息等重要信息存放为 SESSION其他信息如果需要保留,可以放在 COOKIE 中。
4.什么是僵尸进程和孤儿进程,怎么避免僵尸进程?
(1)孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被会被其它进程收养,不会造成影响。
(2)僵尸进程:子进程退出,而父进程迟迟不回收,造成资源浪费。
(3)避免僵尸进程的方法:1.fork 两次用孙子进程去完成子进程的任务。2.用 wait()函数使父进程阻塞。
以上是4道常见的关于Python网络编程的面试题。对于没有接触过网络编程的同学,可能会觉得网络编程相关知识非常高深,当时熟悉其语法之后,就会变得非常简单。相对Python基础的面试类题目,网络编程在面试过程中并非常见的题目。不过作为工作中常用的核心技术,python开发工程师是务必需要掌握网络编程的。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python特点 Python是强语言类型还是弱语言类型?
Python是强语言类型还是弱语言类型?Python 是强类型的动态脚本语言。强类型:不允许不同类型相加。动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译。
8307
2019-06-27 10:57:02
Python开发的内存管理机制及调优手段?
Python 的内存管理机制及调优手段?Python内存管理机制:引用计数、垃圾回收、内存池。垃圾回收 :引用计数、标记清除、分代回收。引用计数进行高效的内存管理手段。调优手段:手动垃圾回收、调高垃圾回收阈值、避免循环引用。
7394
2019-06-28 14:59:42
Python开发多进程、多线程以及协程是什么?项目是否用?
其实多线程,多进程,在实际开发中用到的很少,进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序;线程:调度执行的最小单位,也叫执行路径;协程:是一种用户态的轻量级线程,协程的调度完全由用户控制。
10782
2019-07-02 16:33:41
Python工程师数据库常见面试题
Python最开始是被用于编写自动化脚本的,但是随着python版本的迭代以及语言新功能的添加,越来越多的被用在项目开发领域。作为计算机程序设计语言,都需要与数据库实现交互。所以作为Python开发工程师你一定要熟练数据的使用。下面就为大家分享一些Python开发工程师面试过程中遇到的关于数据库的题目。
8156
2019-07-05 17:43:23
怎样解决数据库高并发的问题
解决数据库高并发使用缓存式的Web应用程序架构、增加Redis缓存数据库、增加数据库索引、页面静态化、使用存储过程、MySQL主从读写分离、分表分库、负载均衡集群。
9781
2019-07-16 16:20:35