绿盟科技面经

绿盟科技面试python开发岗位,问的基础挺多的。好几天了前了,现在记得的问题总结一下。如下:

http1.1和http1.0的区别

htto1.0,每次请求和响应都需要建立一个单独的连接,每次连接只是传输一个对象,严重影响客户机和服务器的性能。
http1.1支持持久连接,在一个TCP连接上可以传送多个http请求和响应,减少了建立和关闭连接的消耗和延迟。

http1.1还通过增加更多的请求头和响应头来改进和扩充http1.0的功能。

在http1.1中增加host请求头字段后,实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。

http1.1的持续连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接。

http1.1还有身份认证机制,许多web站点要求用户提供一个用户名一口令对才能访问存放其服务器中的文档,这种要求称为身份认证。http提供特殊的状态码和头部来帮助web站点执行身份认证。

http1.1支持文件断点续传,http1.0每次传送文件都是从文件头开始,即0字节处开始。

python中类的三大特性

封装:根据职责将属性和方法封装到一个抽象的类中;

继承:实现代码的重用,不需要重复编写代码。子类拥有父类所有的属性和方法。也可以重新写父类方法;

多态:不同的对象调用相同的代码,产生不同的效果,提高代码的灵活性。

ORM

对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单来说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

多进程和多线程的区别

程序:只是一组指令的有序集合,是计算机硬盘上的一些文件,是“死的”

进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单元,是“活的”

线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源

协程

协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。(gevent、yield)

数据库优化

SQL语句优化
索引优化
加缓存
读写分离
分区


就记得这么多了~~

猜你喜欢

转载自blog.csdn.net/qq_41891803/article/details/82846175