2018后端Python面试题汇总

进入新公司已经快半年了,这篇也拖了大半年了。。。

2018年5月中旬开始找python开发工作,以下题目都是面试过程中遇到的,主要是Python + Java,这边只写题目,因为答案不是唯一的,每个人有自己的理解。

A公司

1)flask框架具体做了什么?什么流程?

2)python项目是怎么部署的?

3)多进程、多线程、协程的区别?

4)CPU I/O计算密集型 应该选哪种?

5)Python比C效率低的原因?

6)不使用多线程的时候,需不需要GIL锁呢?

7)Django/Flask/Tornado区别

B公司

电面:

1)mysql的内连接和外链接

2)进程和线程的区别

3)堆和栈的区别

4)ajax怎么用的

5)tcp和udp的区别

技术面:

1)mysql explain命令:如何知道索引起作用了

2)是什么

3)mysql有几种引擎,简单比较一下

4)同步异步阻塞的概念

C公司

1)python多线程

2)python的gc垃圾回收机制

3)python装饰器和生成器

4)mysql的两个存储引擎

5)mysql的索引

6)redis使用场景

7)linux虚拟化

D公司

1)nginx中的慢日志,获取比例,使用shell。awk/cut

2)python中的多重继承。深度优先,从左向右。

3)http协议1.1和2.0的区别

4)tcp协议,滑动窗口协议

5)gil锁是用来干嘛的,cpu密集型如果使用多线程,如何避过gil锁

6)并发和并行的区别

7)django用了什么中间件,flask怎么部署

8)IO多路复用

9)redis持久化方案

10)mysql的搜索引擎,innodb有什么优势,使用的什么索引和数据结构

11)mysql中delete和drop有什么区别

12)什么是线程安全

E公司

1)flask和django比较

2)flask如何实现路由

3)flask 请求和返回之间是如何交互的

4)排序算法的稳定性

5)值传递和引用传递

6)list.sort()和sorted方法用的是深拷贝、浅拷贝?

7)python中的深拷贝方法,a=1,b=a,b有没有创建新的内存空间

8)uid和logindata如何获取每个用户的最新登录时间,用sql具体命令说一下

9)如何确认dict中的key是否存在,
if i in dict的复杂度 O(1)和if i in dict.keys()的复杂度 O(n)

10)python中 *和**的区别

11)装饰器的作用

12)redis介绍,持久化如何设置

13)以前项目中的用户认证,密码使用的什么编码方式

14)限制用户登录时,用的一个变量来记录用户登录频率,如何维护它呢?

15)你认为什么是想要的技术氛围

16)说一下你以前acm中印象比较深刻的题目

F公司

1)三道python编程,要通过测试用例文件

2)索引的定义,还有好处/坏处

3)多进程、多线程、协程
具体解释了一下协程(loop+queue+callback)

4)python中的new和init方法

5)python中的元编程
A,a=A(),type和object的区别

6)查看端口被哪个线程占用?回答了netsta后问还有什么命令

7)查看文件被哪个进程使用?

8)查看大文件的命令?查看文件末尾?动态查看日志文件

9)python中的ast包是否了解?

G公司

1)java的spring能否讲解一下

2)java中如何起一个线程

3)python中的基本数据结构
list和tuple的区别,tuple有什么作用

4)python中模块和包的区别

5)@用于什么?

6)python中的单例模式怎么写

7)class method和static method区别

8)flask的请求过程

9)http码 400/403/500

10)数据库索引的影响

你可能感兴趣的:(Python)