|

Python常见面试题
Python面试题:如何提高python的运行效率?
使用生成器;关键代码使用外部功能包(Cython,pylnlne,pypy,pyrex);针对循环的优化–尽量避免在循环中访问变量的属性 ;
Python面试题:django对数据查询结果排序怎么做,降序怎么做,查询大于某个字段怎么做?
排序使用order_by
降序需要在排序字段名前加-
查询字段大于某个值:使用filter(字段名_gt=值)
Python开发面试题: Django 本身提供了 runserver,为什么不能用来部署?
runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的
WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。
uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。注意 uwsgi 是一种通信协议,而 uWSGI 是实现 uwsgi 协议和 WSGI 协议的 Web 服务器。uWSGI 具有超快的性能、低内存占用和多 app 管理等优点,并且搭配着 Nginx
就是一个生产环境了,能够将用户访问请求与应用 app 隔离开,实现真正的部署 。相比来讲,支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。
Python面试题:Django重定向你是如何实现的?用的什么状态码?
使用HttpResponseRedirect
redirect和reverse
状态码:302,301
Python面试题:简单谈下GIL:
Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。
在多线程环境中,Python 虚拟机按以下方式执行:
[list=1,
[*,设置GIL
[*,切换到一个线程去运行
[*,运行:a. 指定数量的字节码指令,或者b. 线程主动让出控制(可以调用time.sleep(0))
[*,把线程设置为睡眠状态
[*,解锁GIL
[*,再次重复以上所有步骤
[/list,以上就是小科今天整理提供的Python开发面试题,希望为学习Python的同学提供了有用的面试素材,以后小科每日均会提供Python及Web相关的习题。 |
|