栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python面试题合集

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python面试题合集

在Kali上配置远程redis服务 1. 下载安装好后,利用自带客户端,保证能够正常访问 2. vim 编辑 redis.conf 配置文件,修改如下参数

注释掉 bind 127.0.0.1

关闭保护模式 protected-mode no

修改守护进程 daemonize yes

添加密码 requirepass passwd

远程链接命令:redis-cli -h 192.168.136.128 -p 6379 -a Fbb33879

Python 杀死正在运行的进程的方式
  1. 退出标记

  2. ctypes 强制杀掉

超大文件按行读取处理 使用mmap

mmap是一种虚拟内存映射文件的方法

​ 将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。

​ 通过建立一个文件的内存映射将使用操作系统虚拟内存来直接访问文件系统上的数据,而不是使用常规的I/O函数访问数据。内存映射通常可以提供I/O性能,因为使用内存映射是,不需要对每个访问都建立一个单独的系统调用,也不需要在缓冲区之间复制数据;实际上,内核和用户应用都能直接访问内存,是目前测到最快的方法。

python

python是强类型的动态脚本语言。

强类型:不允许不同类型相加

动态:不使用显示数据类型声明

脚本语言:解释型语言(运行程序时翻译),运行时不需要编译,只需要解释器

编译型语言:程序运行前需要编译器将程序编译成机器语言(可执行文件)

python是一种解释型语言(运行前不需要解释),是一种动态语言(声明前不需要说明变量类型),适合面向对象编程(支持通过组合与继承的方式定义类),python中一切皆对象;python 编码快,但是运行速度比编译型语言通常要慢。

init 和 new的区别?

使用类名()方式创建对象时,python解释器会先为对象分配内存空间(new),再为对象初始化(init)

new方法内部做了两件事:

​ 1.为对象分配内存空间

​ 2.将对象的引用返回给python的解释器

new分配对象的内存空间–>将对象的引用返回给python的解释器–>python解释器将独享的引用传递给init的第一个参数self–>init在方法的内部针对该对象定义实例属性

sys.getsizeof() 可以得到一个对象使用的内存

python中变量的作用域

变量的作用域由代码中被赋值的地方决定。

变量作用于搜索范围:

  1. 本地作用域

  2. 当前作用域被嵌入的本地作用域

  3. 全局/模块 作用域

  4. 内置作用域

提升python程序运行性能?
  1. 使用多进程,充分利用多核性能
  2. 对于性能影响较大的代码,使用C/C++编写
  3. 对于IO阻塞造成的性能问题,使用IO多路复用解决
  4. 尽量使用python内建函数
  5. 尽量使用局部变量
单例模式应用场景
  1. 资源共享,避免因资源操作时的导致的性能或损耗。
  2. 控制资源,方便资源之间相互通信
多线程交互访问数据,如果访问不到就不访问了,如何避免重读?

创建一个已访问数据列表,加上互斥锁,多线程访问时先访问数据列表,若已存在直接跳过

函数可以作为参数传递的语言可以使用装饰器

类方法,类实例方法,静态方法

类方法:类对象的方法,定义时使用@classmethod进行装饰,形参为cls

类实例方法:类实例化对象的方法,只有实例对象可以调用,形参为self,指代对象本身

静态方法:任意函数在其上方用@staticmethod进行装饰,可用对象直接调用,静态方法跟类没太大关系

python 内存管理机制(垃圾回收机制)
  1. 引用计数
  2. 标记清除
  3. 分代回收
  4. 内存池
断言?

声明表达式的布尔值必须为真判定,发生异常则为假

设置断言的目的就是必须实现某个条件

回调函数如何通信?

把函数指针作为参数传递给另一个函数,将整个函数当作一个对象,赋值给调用的函数。

栈和队列

栈:先进后出

栈是一种限制仅在表的一端(表尾)进行操作(插入和删除)的线性表

表尾 = 栈顶,能插入,删除

表头 = 栈底,啥也不能干

栈的插入 = 入栈,时间复杂度O(1),空间复杂度O(1)

栈的删除 = 出栈,时间复杂度O(1),空间复杂度O(1)

栈是一种特殊的线性表

顺序存储的栈叫做顺序栈(存在栈满);链式存储的栈叫做链栈(不存在栈满)

队列:先进先出

队列是限制只在一端进行插入,在另一端进行删除操作的线性表

链队列;顺序队列;循环队列

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号