近些年随着Python语言越来越流行,越来越多的人选择Python语言作为自己的职业方向。如何在心仪公司的面试中获得好成绩,并最终成功获得offer是每一个Python开发者都要慎重对待的事情,如下是笔者整理的Python程序员在面试中经常被问到的问题,供您参考,未尽题目,欢迎留言补充。
这些面试问题大致可以分为四类:什么(what)?如何做(how)?说区别/谈优势(difference)以及实践操作(practice)。
What?
1. 什么是Python?
2. 什么是Python自省?
3. 什么是PEP?
4. 什么是pickling和unpick?
5. 什么是Python装饰器?
6. 什么是Python的命名空间?
7. 什么是字典推导式和列表推导式?
8. Lambda函数是什么?
9. *Argos,**warthogs参数是什么?
10. 什么是Pass语句?
11. unittest是什么?
11. 构造器是什么?
12. doc string是什么?
13. 负索引是什么?
14. 模块和包是什么?
15. 垃圾回收是什么?
16. CSRF是什么?
How?
1. 如何让你的程序更具可读性?
2. Python是如何被解释的?
3. 如何在Python中拷贝一个对象?
4. 如何用Python删除一个文件?
5. 如何将一个数字转换成一个字符串?
6. Python是如何进行内存管理的?
7. 如何实现duple和list的转换?
8. Python里面如何生成随机数?
9. 如何在一个function里面设置一个全局的变量
10. Python如何实现单例模式?其他23种设计模式python如何实现?
11. Deepcopy如何实现?
12. 算法排序在最坏情况下如何优化?
13. 如何判断单向链表中是否有环?
14. 如何遍历一个内部未知的文件夹?
15. 数据库如何分区、分表?
16. 如何对查询命令进行优化?
17. 如何理解开源?
18. 如何用MVC/MTV的缓存?
19. Mys的死锁是如何产生的?
20. Sql注入是如何产生的,如何防止?
21. xxs如何预防?
22. 如何生成共享秘钥? 如何防范中间人攻击?
23. 如何管理不同版本的代码?
Different
1. 数组和元组之间的区别?
2. _new_和_init_的区别?
3. Python中单下划线和双下划綫的区别?
4. 浅拷贝与深拷贝的区别是?
5. 使用装饰器的单例和使用其他方法的单例,在后续使用中,有何区别?
6. 多进程与多线程的区别?
7. select和epoll的区别?
8. TCP和UDP的区别?边缘触发和水平触发的区别?
9. HTTP连接:get和post的区别?
10. varchar与char的区别?
11. BTree索引和hash索引的区别?
12. 在判断object是否是class的instances时,type和Constance函数的区别?
13. primary key和unique的区别?
14. ecb和cbc模式有什么区别?
15. 对称加密与非对称加密的区别?
16. staticmethod和装饰器的区别?
17. Xrange和range的区别?
18. deepcopy 和 copy的区别?
19. os.path和sys.path的区别?
20. 生成器(generator)与函数的区别?
21. os与sys模块的区别?
22. NoSQL和关系数据库的区别?
Practice
这种实践操作类题目比较丰富多样,如下几类比较常见:
1. 补充缺失的代码,例如:
2. 下面这段代码的输出结果是什么?请解释。例如:
3. 下面的代码能够运行么?请解释?例如:
4. 将函数按照执行效率高低排序,并证明自己的答案是正确的。例如:
……
以上就是小编整理出来的Python面试常用问题,供广大Python程序员参考,希望能提供一点助力。预祝每位Python程序员都能早日拿到理想的offer!