Python部分面试题整理(会持续补充...)

本文对比了TCP和UDP的特点与优缺点,并详细介绍了Python中装饰器的作用及应用场景,同时概述了通过WSGI请求动态资源的过程及浏览器访问www.baidu.com的具体步骤。

题目:

1.简述TCP和UDP的区别以及优缺点

2.函数装饰器有什么作用请列举出至少三个并举出一些实例

3.简答浏览器通过WSGI请求动态资源的过程

4.描述用浏览器器访问www.baidu.com的过程。

1.简述TCP和UDP的区别以及优缺点

2.函数装饰器有什么作用请列举出至少三个并举出一些实例

3.简答浏览器通过WSGI请求动态资源的过程

4.描述用浏览器器访问www.baidu.com的过程。

参考答案:

1.

UDP:

特点:UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息。

优点:UDP速度快、操作简单、需要求系统资源较少,由于通讯不需要连接,可以实现广播发送。

缺点:UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,也不用重发,不可靠。

TCP:

特点:TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时四次挥手。

优点:TCP在数据传递时,有确认、窗口、重传、拥塞控制机制,能保证数据正确性,较为可靠。

缺点:TCP相对于UDP速度慢一点、要求系统资源较多。

2.

装饰器本质上是一个python函数,它可以在让其他函数在不需要做任何代码的变动的前提下增加额外的功能,装饰器的返回值也是一个函数的对象,它经常用于有切面需求的场景,比如:参数效验、插入日志、性能测试、事务处理、缓存、权限的校检等场景。有了装饰器就可以抽离出大量的与函数功能本身无关的的雷同的代码并发并继续使用。

3.

1.发送http请求动态资源给web服务器2.web服务器收到请求后通过WSGI调用一个属性给(应用程序框架)3.(应用程序框架)通过引用WSGI调用web服务器的方法,设置返回的状态和头信息4.调用后返回,此时web服务器保存了刚刚设置的信息5.(应用程序框架)查询数据库,生成动态页面的body信息6.把生成的body信息返回给web服务器7.web服务器把数据返回给浏览器

4.

1.先要解析出baidu.com对应的ip地址

1.1.要先使用arp获取默认网关的mac地址 1.2.组织数据发送给默认网关(ip还是dns服务器的ip,但是mac地址是默认网关的mac地址) 1.3.默认网关拥有转发数据的能力,把数据转发给路由器 1.4.路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关

1.5,目的网关(dns服务器所在的网关),把数据转发给dns服务器

1.6.dns服务器查询解析出baidu.com对应的ip地址,并原路返回请求这个域名的client

2.得到了baidu.com对应的ip地址之后,会发送tcp的3次握手,进行连接

2.1 使用http协议发送请求数据个web服务器

2.2 web服务器收到数据请求之后,通过查询自己的服务器得到相应的结果,原路返回给浏览器

2.3 浏览器接收到数据之后通过浏览器自己的渲染功能来显示这个网页

2.4 浏览器关闭tcp连接,即4次挥手结束,完成整个访问过程。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值