错过金三银四,但是你不能错过这份Python面试大全
大概会涉及到这些知识点
当然这些知识点,我也会分几期来跟大家说。怕大家一次记不住那么多~
-
掌握 Python 的基础语法
-
语法常见的 Python 应用场景
-
掌握 Python 闭包的使用以及装饰器的使用
-
生成器和迭代器的使用
-
常见的设计模式的使用
-
深浅拷贝的区别
-
线程、进程、协程的使用
-
了解 Python 中的元编程和反射
-
常见的数据结构和算法
-
爬虫相关知识,网络编程基本知识等
语言特性
1.谈谈对 Python 和其他语言的区别
2.简述解释型和编译型编程语言
3.Python 的解释器种类以及相关特点?
4.说说你知道的Python3 和 Python2 之间的区别?
5.Python3 和 Python2 中 int 和 long 区别?
6.xrange 和 range 的区别?
这部分主要就是考察大家的对Python语言的一些特性的了解,和对Python2和Python3的区别,当然现在绝大多数的人,用的都是Python3这个版本,对Python2可能了解比较少。所以Python2和Python3的区别,大家可以适当的了解。
编码规范
7.什么是 PEP8?
8.了解 Python 之禅么?
9.Python中的注释有几种?
10.例举你知道 Python 对象的命名规范,例如方法或者类等
11.如何优雅的给一个函数加注释?
12.如何给变量加注释?
13.Python 代码缩进中是否支持 Tab 键和空格混用。
14.是否可以在一句 import 中导入多个库?
15.在给 Py 文件命名的时候需要注意什么?
这部分考察大家平时对写代码的要求是否是符合PEP8的规范,毕竟写出来的代码不光给自己看,也要给别人看的,如果代码规范特别糟糕相信你在这家公司也不会得到长期的发展。所以请大家现在开始重视代码规范吧。
高级特性
16.函数装饰器有什么作用?请列举说明?
17.Python 垃圾回收机制?
18.魔法函数 __call__怎么使用?
19.如何判断一个对象是函数还是方法?
20.@classmethod 和@staticmethod 用法和区别
21.Python 中的反射了解么?
22.metaclass 作用?以及应用场景?
23.hasattr() getattr() setattr()的用法
24.请列举你知道的 Python 的魔法方法及用途。
25.如何知道一个 Python 对象的类型?
26.Python 的传参是传值还是传址?
27.Python 中的元类(metacla***举例
28.简述 any()和 all()方法
29.filter 方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
30.在 Python 中是如何管理内存的?
31.当退出 Python 时是否释放所有内存分配?
这部分属于Python语言中的高级特性,如果大家对这部分比较熟悉的话,可以在面试中帮大家脱颖而出。当时并不是说你把这写题目写出来就一定能找到高薪工作,而是这些知识是你找到高薪工作的基石。
爬虫相关
32.在 requests 模块中,requests.content 和 requests.text 什么区别
33.简要写一下 lxml 模块的使用方法框架
35.说一说 scrapy 的工作流程
36scrapy 的去重原理
37.scrapy 中间件有几种类,你用过哪些中间件
38.你写爬虫的时候都遇到过什么?反爬虫措施,你是怎么解决的?
39.为什么会用到代理?
40.代理失效了怎么处理?
41.列出你知道 header 的内容以及信息
42.说一说打开浏览器访问 www.baidu.com 获取到结果,整个流程。
43.爬取速度过快出现了验证码怎么处理
44.scrapy 和 scrapy-redis 有什么区别?为什么选择 redis 数据库?
45.分布式爬虫主要解决什么问题
46.写爬虫是用多进程好?还是多线程好?为什么?
47.解析网页的解析器使用最多的是哪几个
48.需要登录的网页,如何解决同时限制 ip,cookie,session(其中有一些是动态生成的)在不使用动态爬取的情况下?
49.验证码的解决(简单的:对图像做处理后可以得到的,困难的:验证码是点击,拖动等动态进行的?)
50.使用最多的数据库(mysql,mongodb,redis 等),对他的理解?
爬虫相信大家一定不会陌生的一个方向,很多小伙伴学习Python也是为了爬虫。当然现在很多网站的反爬措施也是越来越严重了。不过也劝大家尽量不要爬网站上的付费数据..... 原因你懂的
并发
51.说一说多线程,多进程和协程的区别。
52.简述 GIL
53.进程之间如何通信
54.什么是并发和并行?
55.一个线程 1 让线程 2 去调用一个函数怎么实现?
56.解释什么是异步非阻塞?
57.threading.local 的作用?
并发作为后端工程师的面试重灾区,在面试中百分之90都会被问到,这里给大家列举了一些面试中经常被问到的一些题目,大家要通过这些题目了解并发背后的知识。