python面试题No6

  1. 说说对 cookie 和 session 的理解, 并说出他们的区别 ?

cookie , session 是常用的会话跟踪技术.

Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,

除了使用Cookie,Web应用程序中还经常使用Session来记录客户端状态。Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相应的也增加了服务器的存储压力。
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

  2. 进程, 线程, 协程 ?

进程:  一个运行的程序就是一个进程, 进程是系统资源分配的最小单位, 进程拥有自己的独立内存空间, so 进程间数据不共享,内存空间开销大.

线程: 执行的最小单位, 也叫执行路径, 不能独立存在依赖进程存在一个进行至少有一个线程(主线程), 线程之间共享内存(数据,全局变量) 从而极大地提高程序的运行效率

协程: 是一种用户级别的轻量级线程, 协程的调度完全由用户控制, 协程拥有自己的寄存器上下文和栈.

python的自省:

面向对象的语言所写的程序在运行时, 能够知道对象的类型, 简单说 就是运行是能够获知对象的类型.

缺省参数:

就是默认值参数. 调用函数时没有传入参数的情况下, 调用默认参数 ; 调用函数的同事赋值, 所传入的参数会代替默认值参数.

七层模型,四层模型 ?

七层模型: 应用层 表示层 回话层 传输层 网络层 网络层 数据了链路层 物理层

四层模型: 应用层 传输层 网间层 网络接口层

IP : 网络层, TCP/UDP : 传输层 ,  HTTP, RTSP, FTP : 应用层

原文地址:https://www.cnblogs.com/zhuyalong/p/11079011.html