首页 存档 技术 查看内容

Python面试题总结 python 面试题总结

2018-3-30 13:00 |来自: 互联网 386 0

摘要: python 面试题总结 文化 说说你对 zenofpython 的理解,你有什么办法看到它: import this 你在 github 上都 fork 过哪些 python 库,列举一下你经常使用的,每个库用一句话描述下其功能 说说你对 pythonic ...

python 面试题总结




文化


说说你对 zenofpython 的理解,你有什么办法看到它:

import this


你在 github 上都 fork 过哪些 python 库,列举一下你经常使用的,每个库用一句话描述下其功能


说说你对 pythonic 的看法,尝试解决下面的小问题:

交换两个变量值
a,b = b,a

去掉list中的重复元素
old_list = [1,1,1,3,4]
new_list = list(set(old_list))

翻转一个字符串
s = 'abcde'
ss = s[::-1]

用两个元素之间有对应关系的list构造一个dict
names = ['jianpx', 'yue']
ages = [23, 40]
m = dict(zip(names,ages))

将数量较多的字符串相连,如何效率较高,为什么
fruits = ['apple', 'banana']
result = ''.join(fruits)

python 字符串效率问题之一就是在连接字符串的时候使用‘ ’号,例如 s = ‘s1’ ‘s2’ ‘s3’ ... ’sN’,总共将 N 个字符串连接起来, 但是使用 号的话,python 需要申请 N-1 次内存空间, 然后进行字符串拷贝。原因是字符串对象 PyStringObject 在 python 当中是不可变 对象,所以每当需要合并两个字符串的时候,就要重新申请一个新的内存空间 (大小为两个字符串长度之和)来给这个合并之后的新字符串,然后进行拷贝。 所以用 号效率非常低。建议在连接字符串的时候使用字符串本身的方法 join(list),这个方法能提高效率,原因是它只是申请了一次内存空间, 因为它可以遍历 list 中的元素计算出总共需要申请的内存空间的大小,一次申请完。


你调试 python 代码的方法有哪些




基础


什么是 GIL


什么是元类 (meta_class)


对比一下 dict 中itemsiteritems




高级


是否遇到过 python 的模块间循环引用的问题,如何避免它


有用过 withstatement 吗?它的好处是什么?


说说 decorator 的用法和它的应用场景,如果可以的话,写一个 decorator


inspect 模块有什么用


写一个类,并让它尽可能多的支持操作符


说一说你见过比较 cool 的 python 实现

http://niusmallnan.github.io/_build/html/_templates/python_exam.html

sohu-dba

本文转载自:微信公众账号 - SOHU-DBA,版权归原作者所有!

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部