写在开篇:
新的一年的金三银四又快到了,相信不少朋友已经开始在狂刷面试题了,来迎接自己的面试。作为一个成功上岸一年入职腾讯的过来人,在这里想给大家分享一些经验。虽然说python网上资源很多,但是网上现有的资源质量参差不齐,大多数人都无法分辨好坏。相信很多人都出现过这样的情况:有些关键的题目,回答得很简单,并没有点出什么。有些代码想复制过去,但是却无法使用,这就导致我们还需要找其他发布类似的教程,这个就很难受。
个人基本介绍
本人出生深圳,在本地读的书。毕业之后在本地找了一份工作,学历就是211本科,其他各方面也还行。因此在简历上也能够充分体现我自己的优势,所以在当时海投简历后,也接到一些橄榄枝,只要是面试顺利,属于那种公司任你选的状态。
python常见面试基础题
1、 Python垃圾回收机制是什么
作为Python的使用者来说,Python中的垃圾回收主要以引用计数为主,再引入标记、清除,分代为辅来解决循环引用的问题。
一个对象被引用时,引用计数加1,当对象被del时,引用计数减去1,为0时,对象就被清除,一般情况下用户不会去操作Python 的垃圾回收机制,但它留有API接口。
2 、元组和列表的区别
主要区别是列表是可变的,而元组是不可变的。
>>> mylist=[1,3,3]
>>> mylist[1]=2
>>> mytuple=(1,3,3)
>>> mytuple[1]=2
Traceback (most recent call last):
File "<pyshell#97>", line 1, in <module>
3、进程 线程 协程
3.1 进程
1、操作系统进行资源分配和调度的基本单位,多个进程之间相互独立
2、稳定性好,如果一个进程崩溃,不影响其他进程,但是进程消耗资源大,开启的进程数量有限制
3.2 线程
1、CPU进行资源分配和调度的基本单位,线程是进程的一部分,是比进程更小的能独立运行的基本单位,一个进程下的多个线程可以共享该进程的所有资源
2、如果IO操作密集,则可以多线程运行效率高,缺点是如果一个线程崩溃,都会造成进程的崩溃
3.3 协程
1、子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。
2、协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。
4、赋值、浅拷贝和深拷贝
深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象。在Python中,我们使用函数deepcopy()执行深拷贝
浅拷贝则是将一个对象的引用拷贝到另一个对象上,所以如果我们在拷贝中改动,会影响到原对象
5、 GIL
GIL是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大
我是如何准备面试的?
(1)观看零基础学习视频
看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,首先学习python语法基础,再到框架,从基础到深入,还是很容易入门的。至于视频,网络上实际上有一大堆,我这边是学长给我的珍藏版,应该是搜索不到,如果你需要,当然我也可以免费分享给你。可以在后台私信回复111.
python基础
(2)阅读前辈的一些书籍和笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
(3)动手实操做一些小项目
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去。
python面试刷题
1、Python有哪些特点和优点?
2、简述解释型和编译型编程语言?
3、Python解释器种类以及特点
4、python常见的PEP8规范
6、通过代码实现如下进制转换
7、三元运算规则以及应用场景
8、列举 Python2和Python3的区别【Python基础语法】
9、is和==的区别
10、try except用法和作用
11、Python LEGB规则
12、python简单的列表去重
13、区分break,continue和pass?
14、什么是python迭代器?
15、如何在python中写注释?
16、如何在python中注释多行?
17、什么是Python中的文档Docstrings?
18、Python是通用编程语言吗?
19、Python是如何解释语言的?
20、什么是pep?
21、Python中的命名空间是什么?
22、什么是PYTHONPATH?
23、Python中的局部变量和全局变量是什么?
24、python是否区分大小写?
25、如何在Windows上安装Python并设置路径变量?
26、python中是否需要缩进?
27、列举布尔值为False的常见值
28、怎样声明多个变量并赋值?
29、其中哪一个是floor division?
30、标识符的最大可能长度是多少?
31、为什么不鼓励以下划线开头的局部变量名?
32、以下哪项是无效声明?
33、以下哪项是无效声明?
34、以下是什么输出?
35、a=1, b=2, 不用中间变量交换a和b的值.
36、在Python中有多少种运算符?解释一下算数运算符。
37、解释一下Python中的关系运算符
38、解释一下Python中的赋值运算符
39、解释一下Python中的逻辑运算符
40、解释一下Python中的成员运算符
41、解释一下Python中的身份运算符
42、讲讲Python中的位运算符
43、在Python中如何使用多进制数字?
44、怎样声明多个变量并赋值?
45、PYTHONPATH变量是什么?
46、在Python中如何声明一条注释?
47、什么是Python中的连接(concatenation)?
48、请用一行代码 实现将1-N 的整数列表以3为单位分组
49、避免转义给字符串加哪个字母表示原始字符串?
50、X是什么类型
最后
其实python的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
上面分享的腾讯、头条、阿里、美团、字节跳动等公司2020-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是给大家展示一部分。关于python的面试刷题都整理在python面试宝典中。
如果有需要领取python学习资料的朋友可以私信我,回复111.