网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
任何一门技术面试,基础知识一定是重中之重。对于python程序员面试来说,我觉得下面三块内容比较重要,考察的频率也非常高。
- 语言基础
可变对象、不可变对象、装饰器、迭代器和生成器、线程和进程、魔术方法、动态解释性、元类等。
- web基础
http请求、状态码、网络安全、django处理请求的顺序、cookie和session
- 数据库
mysql的事务、索引、锁、性能调优,nosql数据库中redis考察的比较多。
Linux基础
Python基础
面向对象
项目飞机大战
如果你需要我也可以分享给你!扫描下方二维码,即可免费领取!
准备简历篇
简历不是用来记你的流水账的。罗列一堆技术点、你完成了什么任务以及你的自我评价没多大价值,只是造就了一份又臭又长的简历。
你可以按照以下几点来修改自己的简历:
- 控制简历页数在 2 页以下,简历不是写得越长越牛逼,而是用内容去吸引人家的。
- 按照用人方的要求以及自身具备但别人不怎么会的领域去写技术栈,不用大篇幅地去罗列技术栈。你熟悉 React 的话人家就默认你熟悉前端三大件了,更不用说用编辑器写代码、用 Git 提交代码、用 Ajax 请求数据了,把原本用来罗列这些技术栈的篇幅留给更重要的项目吧
- 写项目经历的时候把重点的几个项目拿出来介绍就行了,不需要把你做过的所有项目都罗列出来。具体内容可以参考 Star 法则,也就是做了什么,得到了怎样的结果。怎样的结果是最重要的而不是罗列自己做了什么任务。用数据去量化你的结果是一个很好的方式,不知道怎么去量化的话可以多了解下你的上级是如何写 PPT、画大饼的。举个例子你们要提高日活,那么肯定会有个具体提高的数值,这个数值就是可量化的。
- 斟酌熟悉、精通等字眼,不要给自己挖坑。最后确保每一个写上去的技术点自己都能说出点什么,不要出现面试官问你一个技术点却只能答出用过。
- 别用 Word 格式,容易出问题,PDF 是更好的选择。
- 不推荐用模板,要不花里胡哨要不都是招聘网站的 Logo,自己用 Markdown 写完直接转 PDF 就好了。
- 文件命名格式:姓名_求职岗位必写
一般来说简历的排版格式如下:
排版格式 |
---|
你的个人信息:姓名、年级、性别、手机号、邮箱、学校及专业 |
你的技术栈,按照用人方来罗列 |
项目经历挑几个讲,按照 Star 法则 |
python刷题
一、Python 基础
(一) Python 基础语法
- Python有哪些特点和优点?
- 简述解释型和编译型编程语言?
- Python解释器种类以及特点
- python常见的PEP8规范
- 通过代码实现如下进制转换
- 三元运算规则以及应用场景
- 列举 Python2和Python3的区别【Python基础语法】
- is和==的区别
- try except用法和作用
- Python LEGB规则
- python简单的列表去重
- 区分break,continue和pass?
- 什么是python迭代器?
- 如何在python中写注释?
- 如何在python中注释多行?
- 什么是Python中的文档Docstrings?
- Python是通用编程语言吗?
- Python是如何解释语言的?
- 什么是pep?
- Python中的命名空间是什么?
- 什么是PYTHONPATH?
- Python中的局部变量和全局变量是什么?
- python是否区分大小写?
- 如何在Windows上安装Python并设置路径变量?
- python中是否需要缩进?
- 列举布尔值为False的常见值
- 怎样声明多个变量并赋值?
- 其中哪一个是floor division?
- 标识符的最大可能长度是多少?
- 为什么不鼓励以下划线开头的局部变量名?
- 以下哪项是无效声明?
- 以下哪项是无效声明?
- 以下是什么输出?
- a=1, b=2, 不用中间变量交换a和b的值.
- 请写出打印结果
- A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?
- 有25匹马,速度都不同,但每匹马的速度都是定值。现在只有5条赛道,无法计时,即每赛一场最多只能知道5匹马的相对快慢。问最少赛几场可以找出25匹马中速度最快的前3名?
- 介绍一下except的用法和作用?
- Python中pass语句的作用是什么?
- 单引号,双引号,三引号的区别
- 浮点数运算
- 介绍一下except的用法和作用?
- Python中pass语句的作用是什么?
- 反转一个整数,例如-123 --> -321
- 一行代码实现1-100之和
- Python-遍历列表时删除元素的正确做法
- 字符串 “123” 转换成 123,不使用内置api,例如 int()
- 求出列表所有奇数并构造新列表
- 用一行python代码写出1+2+3+10248
- python常见的列表推导式?
- Python中pass语句的作用是什么?
- 如何交换两个变量的值?
- Python中pass语句的作用是什么?
- Python区分大小写吗?
- Python中的标识符长度能有多长?
- Python中的pass语句是什么?
- 解释一下Python中的//,%和 ** 运算符
- 在Python中有多少种运算符?解释一下算数运算符。
- 解释一下Python中的关系运算符
- 解释一下Python中的赋值运算符
- 解释一下Python中的逻辑运算符
- 解释一下Python中的成员运算符
- 解释一下Python中的身份运算符
- 讲讲Python中的位运算符
- 在Python中如何使用多进制数字?
- 怎样声明多个变量并赋值?
- PYTHONPATH变量是什么?
- 在Python中如何声明一条注释?
- 什么是Python中的连接(concatenation)?
- 请用一行代码 实现将1-N 的整数列表以3为单位分组
- 避免转义给字符串加哪个字母表示原始字符串?
- X是什么类型?
- 单引号、双引号、三引号用法
- int(“1.4”),int(1.4)输出结果?
- 列举3条以上PEP8编码规范
- IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
- 递归求和
- 介绍一下except的用法和作用?
- Python中pass语句的作用是什么?
- Json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
- Python写9*9乘法表的两种简单方法
(二) 文件操作
- 大数据的文件读取
- 在python中编译和链接的过程是什么?
- 请写一个Python逻辑,计算一个文件中的大写字母数量
- 介绍一下except的用法和作用?
- 要打开文件c:\ scores.txt进行编写,我们使用:
- 以下是什么输出?
- 何时执行try-except-else的else部分?
- 简述with方法打开处理文件帮我我们做了什么?
- 用python删除文件和用linux命令删除文件方法
- 写一段自定义异常代码
- 举例说明异常模块中try except else finally的相关意义
- IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
- r、r+、rb、rb+文件打开模式区别
- 深拷贝和浅拷贝之间的区别是什么?
- 请写一个Python逻辑,计算一个文件中的大写字母数量
- 如何用Python找出你目前在哪个目录?
- 如何以相反顺序展示一个文件的内容?
- 4G 内存怎么读取一个 5G 的数据?
- 说明一下 os.path 和 sys.path 分别代表什么?
- Python 中的 os 模块常见方法?
- python的read() 、readline()、readlines()、xreadlines()
- 使用代码实现查看列举目录下的所有文件
- 如何在Python中删除文件?
- 设计实现遍历目录与子目录,抓取.pyc文件
- 简述read、readline、readlines的区别?
- 用python删除文件和用linux命令删除文件方法
- 简述with方法打开处理文件帮我我们做了什么?
- 写一段自定义异常代码
(三) 模块与包
- 深拷贝和浅拷贝的区别是什么?
- 如何在Python中随机化列表中的项目?
- 如何用Python来发送邮件?
- Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
- Python里面如何生成随机数?
- 介绍一下Python中webbrowser的用法?
- 有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
- 列出5个python标准库
- 利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
- 生成0-100的随机数
- 如何在Python中创建自己的包?
- 常用的 Python 标准库都有哪些?
- 输入某年某月某日,判断这一天是这一年的第几天?(可以用 Python 标准库)
- Python的 sys 模块常用方法?
- Python里面如何拷贝一个对象?
- 简述Python的深浅拷贝以及应用场景
- 如何安装第三方模块?以及用过哪些第三方模块?
- 常用模块都有那些?
- 什么是python模块?Python中有哪些常用的内置模块?
- 如何在Python中生成随机数?
- range&xrange有什么区别?
- Python里面如何生成随机数?
- 在Python中如何生成一个随机数?
- 利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
- 列出5个python标准库
- 生成0-100的随机数
- 如何安装第三方模块?以及用过哪些第三方模块?
- 常用模块都有那些?
(四) 数据类型
- Python里面如何实现tuple和list的转换?
- 列表和元组有什么不同?
- 什么是负指数,为什么使用它们?
- 单引号,双引号,三引号的区别?
- 有两个序列a,b,大小都为n,序列元素的值任意整形数,无序?
- Python中的标识符长度能有多长?
- 在Python中如何使用多进制数字?
- 元组的解封装是什么?
- Python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景?
- 以下哪个语句创建字典?(多个正确的答案可能)
- 假设list1是[2,33,222,14,25],什么是list1 [-1]?
- 单引号,双引号,三引号的区别
- 怎样获取字典中所有键的列表?
- 字典如何删除键和合并两个字典
- python实现列表去重的方法
- python内建数据类型有哪些
- python中生成随机整数、随机小数、0–1之间小数方法
- 列出python中可变数据类型和不可变数据类型,并简述原理
- 字典根据键从小到大排序
- 列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- a=(1,)b=(1),c=(“1”) 分别是什么类型的数据?
- 两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]
- [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
- x=“abc”,y=“def”,z=[“d”,“e”,“f”],分别求出x.join(y)和x.join(z)返回的结果
- a="hello"和b="你好"编码成bytes类型
- [1,2,3]+[4,5,6]的结果是多少?
- 求三个方法打印结果
- 计算代码运行结果,zip函数历史文章已经说了,得出[(“a”,1),(“b”,2),(“c”,3),(“d”,4),(“e”,5)]
- python中copy和deepcopy区别
- 举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]
- 对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序
- 使用lambda函数对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为
- 列表嵌套字典的排序,分别根据年龄和姓名排序
- 列表嵌套元组,分别按字母和数字排序
- 列表嵌套列表排序,年龄数字相同怎么办?
- 根据键对字典排序(方法一,zip函数)
- 根据键对字典排序(方法二,不用zip)
- 列表推导式、字典推导式、生成器
- 最后出一道检验题目,根据字符串长度排序,看排序是否灵活运用
- python字典和json字符串相互转化方法
- 求两个列表的交集、差集、并集
- python中读取Excel文件的方法
- 列表和元组之间的区别是?
- Python中的字典是什么?
- 什么是负索引?
- 如何以就地操作方式打乱一个列表的元素?
- 解释Python中的join()和split()函数
- 怎样获取字典中所有键的列表?
- 元组的解封装是什么?
- Python支持什么数据类型?
- docstring是什么?
- 什么是切片?
- 什么是namedtuple ?
- 在Python中怎样将字符串转换为整型变量?
- Python中的不可变集合(frozenset)是什么?
- 什么是迭代器?
- 请按alist中元素的age由大到小排序
- 下面代码的输出结果将是什么?
- 写一个列表生成式,产生一个公差为11的等差数列
- 给定两个列表,怎么找出他们相同的元素和不同的元素?
- 请写出一段python代码实现删除list里面的重复元素?
- 给定两个list A,B ,请用找出A,B中相同与不同的元素
- Python里面如何实现tuple和list的转换?
- 请写出一段Python代码实现删除一个list里面的重复元素
- 字符串、列表、元组、字典每个常用的5个方法(整型,浮点,字符串,布尔型,列表、元组、字典、集合、日期)
- Python里面如何实现tuple和list的转换?
- 请写出一段Python代码实现删除一个list里面的重复元素
- 如何在一个function里面设置一个全局的变量?
- 列表的扁平化和降维
- 如果将一个列表传入函数中,在函数中修改后,全局的列表会被修改吗?
- 什么是Python中的类型转换?
- Python数组和列表有什么区别?
- [:: - 1}表示什么?
- NumPy中有哪些操作Python列表的函数?
- 按字典中的value值进行排序
- 字典和json的区别
- 可变、不可变类型
- 常用的字符串格式化
- 字符串驻留机制
- 删除list中重复元素
- 列举字符串、列表、元组、字典的5个常用方法
- 什么是反射,以及应用场景
- 列表和迭代器的区别
- enumerate的作用
- 描述数组、链表、队列、堆栈的区别?
- …
(五)企业面试题
- 分别从前端、后端、数据库阐述web项目的性能优化
- 我们都知道现在Python很火,但是对于一门技术我们不光要知道它的优点,也要知道它的缺点,请谈谈Python的不足之处。
- 如果你困在了死循环里,怎么打破它?
- 请谈谈.pyc文件和.py文件的不同之处
- 请反转字符串 “aStr”?
- 将字符串 “k:1 |k1:2|k2:3|k3:4”,处理成字典 {k:1,k1:2,…}
- 利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法.
- 请设计一个decorator,它可作用于任何函数上,并打印该函数的执行时间
- 解释一下python的and-or语法
- 你在爬虫过程中,都是怎么解决反爬的,爬取多少数据,用了多长时间?
- 爬取这些数据都用来做什么的?怎么交付给公司?客户是谁?爬取数据的影响因素?
- 有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
- 说一下 mysql 的原理?
- 数据库索引
- 数据库怎么优化查询效率?
- 简单谈谈ACID,并解释每一个特性。
- Python的主要功能是什么?
- 装饰器的写法以及应用场景
- 异常处理写法以及如何主动跑出异常(应用场景)
- isinstance作用以及应用场景?
- json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?
- 线上服务可能因为种种原因导致挂掉怎么办?
- 如何提高python的运行效率
- 线上服务可能因为种种原因导致挂掉怎么办?
- 如何提高python的运行效率
- 字符串的操作题目
- 介绍Cython,Pypy Cpython Numba各有什么缺点
- 手写一个判断时间的装饰器
- 生成器,迭代器的区别?
- Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
- 如何判断是函数还是方法?
- 为什么函数名字可以当做参数用?
- 分别从前端、后端、数据库阐述web项目的性能优化
- python新式类和经典类的区别?
- 线上服务可能因为种种原因导致挂掉怎么办?
- 如何提高python的运行效率
- Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
- 如何判断是函数还是方法?
二、Python 高级
(一) 元类
- @property的用法
- new和init的区别
- 如何实现一个单例
- python查找对象属性的顺序
- 什么是init?
- Python中的self是什么?
- 深拷贝和浅拷贝有什么区别?
- 什么是猴子补丁?
- 字典推导式
- super函数的具体用法和场景
- Python中类方法、类实例方法、静态方法有何区别?
- 遍历一个object的所有属性,并print每一个属性名?
- 写一个类,并让它尽可能多的支持操作符?
- 请描述抽象类和接口类的区别和联系
- Python中如何动态获取和设置对象的属性?
- 对设计模式的理解,简述你了解的设计模式?
- 单例模式的应用场景有那些?
- 对装饰器的理解,并写出一个计时器记录方法执行性能的装饰器?
- Python的魔法方法
- 什么是Python monkey补丁?
- 阅读下面的代码,它的输出结果是什么?
- 写一个单列模式
- 什么是猴子补丁?
- 描述元类的概念。Python有没有接口?元类和Java的接口有什么异同?
(二)内存管理与垃圾回收机制
- Python是如何进行内存管理的?
- 对象的引用计数机制
- 垃圾回收
- 内存池机制
- 当Python退出时,为什么不清除所有分配的内存?
- Python是如何进行内存管理的?
- python垃圾回收机制
- 当退出 Python 时是否释放所有内存分配?
- 如何获取任何网址或网页的Google缓存时限?
- Python中变量的作用域?(变量查找顺序)
- 哪些操作会导致Python内存溢出,怎么处理?
- 关于Python内存管理
- Python的内存管理机制及调优手段?【内存管理与垃圾回收机制】
- 内存泄露是什么?如何避免?
- 在Python中是如何管理内存的?
- 当退出Python时,是否释放全部内存?
- Python2 中 range 和 xrange 的区别?
- 浅拷贝会创建新对象,其内容非原对象本身的引用,而是原对象内第一层对象的引用。
- python中交换两个数值
- 提高python运行效率的方法
- 简述python引用计数机制
- 引用计数算法
- python垃圾回收机制
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
是原对象内第一层对象的引用。
19. python中交换两个数值
20. 提高python运行效率的方法
21. 简述python引用计数机制
22. 引用计数算法
23. python垃圾回收机制
[外链图片转存中…(img-iFDrTHGI-1715544121534)]
[外链图片转存中…(img-K37uR17i-1715544121534)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!