Python面试题目
- 暂时整理这么多,有好的答案可以在下面留言,并注明问题序号
- 题目有描述错误的也欢迎指正
- 部分问题答案可参考: 关于Python的面试题以及答案
======================================
- 简要描述Python的垃圾回收机制(garbage collection)?
- 这些是什么意思:@classmethod, @staticmethod, @property?
- 这两个参数是什么意思:
*args
,**kwargs
?我们为什么要使用它们? - “猴子补丁” (monkey patching)指的是什么?这种做法好吗?
- 解释什么是Python?
- Python中的模块和包是什么?
- Python中的docstring是什么?
- 在Python中什么是构造器?
- 在Python中什么是silcing?
- Python中的unittest是什么?
- 为什么lambda没有语句?
- 什么是Python的命名空间?
- Python都有哪些自带的数据结构?
- 字典推导式和列表推导式是什么?
- 参数按值传递和引用传递是怎样实现的?
- 数组和元组之间的区别是什么?
- 什么是Python装饰器?
- Python是怎样管理内存的?
- Python是如何被解释的?
- 什么是pickling和unpickling?
- 什么是PEP8?
- Python是如何进行内存管理的?
- 单引号,双引号,三引号的区别?
- Python里关于“堆”这种数据结构的模块是哪个?“堆”有什么优点和缺点?
- 写一个类,并让它尽可能多的支持操作符
- 说说decorator的用法和它的应用场景,如果可以的话,请写一个decorator
- 有一个长度是101的数组,存在1-100的数字,有一个是重复的,如何把重复的找出来?
- Python列表与元组的区别是什么?分别在什么情况下使用?
- 介绍一下Python getopt模块?
- 打乱一个排好序的list对象alist
- 有一个dict对象adict,里面包含了一百万个元素,查找其中的某个元素的平均需要多少次比较?
- Python代码怎么得到列表list的交集与差集
- Python里面如何实现tuple和list的转换?
- Python匹配HTML tag的时候,<.*> 和 <.*?> 有什么区别?
- Python中如何定义一个函数?
- Python里如何反序的迭代一个序列?
- 是否遇到过Python的模块间循环引用的问题,如何避免它?
- 什么是元类(meta_class)?
- 调试Python代码的方法有哪些?
- 交叉链表求交点
- 合并两个有序列表
- 如何1->2->3->4转换成2->1->4->3?
- 用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠的覆盖一个2*n的大矩形,总共有多少种方法?
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
- 解释XSRF和XSS
- 网站用户密码保存问题
- Apache和Nginx的区别?
- cookie和session的异同点?
- urllib和urllib2的区别?
- 什么是三次握手?
- 解释MylSAM和InnoDB
- 解释下乐观锁和悲观锁
__new__
和__init__
的区别是什么?- Python中重载是什么?
- 什么是鸭子类型?
- 什么是自省?
- 什么是协程?
- 什么是GIL线程全局锁?
- Python中的作用域
- 如何用Python来发送邮件?
- Python里面如何实现tuple和list的转换?
- Python如何捕获异常?
- 写一个简单的Python socket编程
- Python如何copy一个文件?
- 如何用Python删除一个文件?
- 如何在一个function里面设置一个全局的变量?
- 有没有一个工具可以帮助查找Python的bug和进行静态的代码分析?
- proc,lambda,和Proc的区别?
- Python里面如何生成随机数?
- Python里面 secarch() 和 match() 的区别?
- 如何用Python来进行查询和替换一个文本字符串?
- 介绍一下Python下range()函数的用法
- 如何知道一个Python对象的类型?
- Python中pass语句的作用是什么?
- 介绍一下except的用法和作用
- Python里面如何拷贝一个对象?
- 介绍一下Python Date Time方面的类
- 请写出一段Python代码实现删除一个list里面的重复元素
- Python是如何进行类型转换的?
- 介绍一下Python的and-or语法
- 介绍一下Python中webbrowser的用法
- 如何用Python输出一个Fibonacci数列?
- 什么是lambda函数?它有什么好处?
- Python下多线程的限制以及多进程中传递参数的方式
- alias的用法,alias与alias_method的区别
- Python如何实现单例模式?
- RE模块中match和search的方法的不同