首页 > 编程学习 > 企业python面试题

企业python面试题

发布时间:2022/11/18 20:36:29

1.列举常见的内置函数

2.简述yield和yield from关键字

3. 常用模块都有哪些?列举8个

4.json序列化时,可以处理的数据类型有哪些?如何保持原字典的顺序?

5.@classmethod,@staticmethod,@property含义及用法

6.写一个可以给定出错重试次数的装饰器,用来处理HTTP超时等

def get_response(url):
	r = requests.get("www.baidu.com")
	return r.content

7.写出5个你最熟悉linux命令,并简要说明使用场景。

8.简述python的垃圾回收机制

引用计数、标记回收、隔代回收
引用计数:当一个对象被引用,则会+1,反之-1,如果为0则消除没对象,但是会导致一个循环引用的问题,所以引出标记回收。
标记回收:成本较高
隔代回收:分三代回收

9.HTTP协议中,Cookie和session的区别是什么?GET和POST分别是做什么用的,你还知道其他的方法吗?

1.HTTP是无状态请求,cookie和session都是为了记录客户端状态,cookie是保存在客服端的,大小限制为4K。session保存存在服务器,相对cookie更安全,存储信息更多,缺点就是服务器压力大
2.GET请求获取数据,POST提交数据,DELETE删除数据,PUT更新单挑数据,PATCH更新部分数据

10.python中有哪些方法可以实现并行,他们分别适用于什么场景?

方法:进程、协程、线程,io多路复用(select、poll、epoll)
场景:爬虫(进程+协程)、nginx(IO多路复用)

11.python中的装饰器是什么?@classmethod,@staticmethod,@property,这些装饰器的用途分别是什么?

装饰器:在不改变原来函数代码基础上,增加额外的功能
@classmethod:类方法
@staticmethod:静态方法
@property:属性,把类的方法,装饰城属性一样调用

12.简要描述数组、链表、队列、堆栈的区别?

13.写出你知道的排序算法,并使用python实现一种排序算法,对0-100的整数列表进行排序

14.什么是可变与不可变类型?

15.浅拷贝和深拷贝的实现方式、区别?

在python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另外一个变量的时候,python并没有拷贝这个对象,只是拷贝这个对象的引用而已。
浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已,也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制
深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用。也就是说,把对象复制一遍,并且该对象中引用的其他对象我也复制

16.new()与__init__()的区别?

17.编码和解码

编码:encode
解码:encode
编码:在python3中将str转化成bytes类型,python2将unicode转化为str
解码:在python3中将bytes按照utf-8或者gdk编码方式转为成str类型,python2是将str转化为unicode

18.range和xrange的区别?

xrange用户与range完全相同,所不同的就是生成的不是一个数组,而是一个生成器
要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,在python3中,range()是像xrange()那样实现,xrange()被抛弃

19.TCP/IP分别在模型的那一层?

20.socket长连接是什么意思?

21.http一次连接的全过程,你来说下从用户发起request-到用户response;

22.线程和进程的联系和区别?

23.死锁的条件有哪些?

24.List和tuple的区别有哪些?

25.Set类型的特点是什么?

26.GIL是什么?他对python多线程变成有什么影响?

27.函数参数*args和**kwargs分别是什么意思?

28.numbers是一个列表,元素都是整型,请写出代码求numbers中的所有值的和。

29.请为下面这个函数写一个装饰器,使用之后,在函数调用前和调用后分别输出Log到stderr(简单的print log即可)

	def foo():
		print("Function foo")

30.函数bar()可能会抛出一个自定义的异常CustomError,请写代码实现如下功能:如果bar()抛出了CustomError,打印"custom error",否则打印"success"

31.浮点数比较,是否正确,如何比较浮点数大小

double a,b
a = 0.1 * 3
b = 0.1 + 0.1 + 0.1,
a == b 

32.你知道的汉子编码方式有哪些?在HTTP GET请求中,一般如何向后端传递汉字信息比较好?

33.请根据下面的关系数据库表格,回答问题

一张雇员表employee,例如:

idnamesalarydepartment id
1Joe70001
2Henry80002
3Sam60002
4Max90001
5Janet90001
6Randv85001

一张部门表department,例如:

idname
1IT
2Sales

1)请写出sql,找出IT部门薪水最高的3个人

select name from employee order by salary desc where department_id=(select id from department where name='IT') limit 3 ;

2)请写出sql,找出每个部门薪水最高的人(可能有多人并列最高)

33.打印目录(包括子目录)下面的所有文件的绝对路径

34.给你两个已经排序好的数组(从小到大排序)

数组A:[1,5,8,14,16,25,28,39]
数组B:[2,3,6,8,12,13,16,21,25,28]
请你写一段代码,找出里面重复的元素

35.给你一个字符串,比如“abc”,请打印出该字符串的所有排序组合

36.列举http协议头部字段,并说明每个字段的主要作用

37.变成:使用python实现讲数据库的studnet表中提取的数据写入db.txt

38.简述Left join和right join的区别?

39.简述HTTP协议下,一个HTTP请求的数据结构,简述HTTP和HTTPS协议的差异

40.python2和python3的区别

41.常见的HTTP状态码有哪些?

42.你常用的musql引擎有哪些?各引擎间有什么区别?

43.如何用python删除一个文件?

44.获取a和b的交集和差集

a=[21,22,55]
b=[21,55,77]

45.写一段代码用json数据的处理方式获取

这一段json中第一个人的名字:

{"person":[{"name":"yu","age":"23"},{"name":"zhang","age":"34"}]}

46.举例说明异常模块中try except else finally的相关意义

47.python中基本数据结构的操作

元祖、列表、字典、集合,分别写出定义、新增、更改、删除

48.请尽可能列举python列表的成员方法,并给出一个列表操作的答案

a = [1,2,3,4,5]
a[::2] = ?
a[-2] = ?

49.python中的变量作用域(变量查找顺序)

50.git的常用命令

git clone <url>  :克隆远程版本库
git init  :初始化本地版本库
git status  :查看状态
git diff  :查看变更内容
git add . :跟踪所有改动过的文件
git add <file>  :跟踪指定的文件
git commit -m "commit message"  :提交所有更新过的文件
git log  :查看提交历史
git reset --hard HEAD  : 撤销工作目录中所有未提交文件的修改内容
git branch  :显示所有本地分支 
git checkout <branch/tag>  :切换到指定分支或标签
git branch <new-branch>  :切换到指定分支或标签
git push <remote> <branch>  :上传代码并快速合并
git push <remote> : <branch/tag-name> :删除远程分支或标签

51.is和==的区别

is比较的是两个实体对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同
== 比较的是两个对象的内容是否相等,即内存地址可以不一样,内容一样就可以了

52.什么是lambda函数?它有什么好处?

53.分别写一个或多个关于filter()、reduce()、map()的使用实例

54.单引号,双引号,三引号的区别

单引号和双引号:主要用来表示字符串
三单引号’‘‘Python’’':也可以标识字符串一般用来输入多行文本,或者用户大段的注释
三双引号"““Python””":一般用在类里面,用来注释类

55.python里面如何实现tuple和list的转换

56.请写一段python代码实现删除一个list里面的重复元素

list_element = ['a','c','z','x','a']
delete_element = list(set(list_element)) #利用集合的唯一性删除重复元素
delete_element.sort(key=list_element.index)  #对修改后的列表进行排序

57.python中pass语句的作用是什么?

58.python中如何产生随机数?

59.请简述TCP三次握手的过程?

60.题目,把"www.baidu.com",反转字符串

61.如何判断字符串A里面是否包含字符串B里面所有的字符

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式