Python开发工程师面试题(三)

李燕西 2018-09-11

继续上一部分的内容,我们来看看《Python开发工程师面试题(三)》:

11. 主键和外键的区别?

主键在本表中是唯一的、不可唯空的,外键可以重复可以唯空;外键和另一张表的主键关联,不能创建对应表中不存在的外键。

12. 在数据库中查询语句速度很慢,如何优化?

(1)建索引 ;

(2)减少表之间的关联 ;

(3)优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据 量大的表排在前面 ;

(4)简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据 ;

(5)数据库做好读写分离。

13. Oracle和Mysql的区别?

1)库函数不同。

2)Oracle是用表空间来管理的,Mysql不是。

3)显示当前所有的表、用户、改变连接用户、显示当前连接用户、执行外部脚本的语句的不同。

4)分页查询时候时候不同 。

5)sql的语法的不同。

14.tcp和udp的区别?

tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议。是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的,面向字节流。

udp(用户数据报协议)是iso参考模型中一种无连接的传输层协议,提供面向操作的简单不可靠的非连接传输层服务,面向报文。

它们之间的区别:

1、tcp是基于连接的,安全性高;udp是基于无连接的,安全性较低;

2、由于tcp是连接的通信,需要有三次握手、重新确认等连接过程,会有延时,实时性差;同时过程复杂,也使其易于被攻击;而udp无连接,无建立连接的过程,因而实时性较强,也稍安全;

3、tcp连接是点到点的电话接通通信;udp支持一对一、一对多、多对一、多对多的广播通信。

15.对if __name__ == 'main'的理解?

“ if __name__ == '__main__':”

在Python中分为两类:一种是直接执行,另外一种是作为模块时才被调用。

__name__ 作为模块的内置属性,即".py"文件的调用方式。如果等于“__main__"就直接执行本文件,如果是别的就是作为模块被调用。

《Python开发工程师面试题(三)》的内容就是以上这些,希望大家会喜欢~

相关推荐