进入新公司已经快半年了,这篇也拖了大半年了。。。
2018年5月中旬开始找python开发工作,以下题目都是面试过程中遇到的,主要是Python + Java,这边只写题目,因为答案不是唯一的,每个人有自己的理解。
1)flask框架具体做了什么?什么流程?
2)python项目是怎么部署的?
3)多进程、多线程、协程的区别?
4)CPU I/O计算密集型 应该选哪种?
5)Python比C效率低的原因?
6)不使用多线程的时候,需不需要GIL锁呢?
7)Django/Flask/Tornado区别
1)mysql的内连接和外链接
2)进程和线程的区别
3)堆和栈的区别
4)ajax怎么用的
5)tcp和udp的区别
1)mysql explain命令:如何知道索引起作用了
2)是什么
3)mysql有几种引擎,简单比较一下
4)同步异步阻塞的概念
1)python多线程
2)python的gc垃圾回收机制
3)python装饰器和生成器
4)mysql的两个存储引擎
5)mysql的索引
6)redis使用场景
7)linux虚拟化
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)什么是线程安全
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中印象比较深刻的题目
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包是否了解?
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)数据库索引的影响