2018 python面试题

在开始看面试题时,我以为咱们颇有必要去了解一下市场须要什么样的python开发人员:css

1.python爬虫工程师(scrapy,xpath,正则,mongdb,redis,http 协议,html)html

2.python web(django,flask,mysql,nuittest,http,html,css)python

3.python 自动化运维(脚本)mysql

4.python 数据分析(pandas,numpy,tf,算法,建模,分析)web

肯定本身的职业方向后,能够看看我幸幸苦苦采集来的面试题吧面试

1.mvc的思想:redis

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计建立 Web 应用程序的模式: 
Model(模型)表示应用程序核心(好比数据库记录列表)。 
View(视图)显示数据(数据库记录)。 
Controller(控制器)处理输入(写入数据库记录)。 
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的彻底控制。 
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。 
  一般模型对象负责在数据库中存取数据。 
View(视图)是应用程序中处理数据显示的部分。 
  一般视图是依据模型数据建立的。 
Controller(控制器)是应用程序中处理用户交互的部分。 
  一般控制器负责从视图读取数据,控制用户输入,并向模型发送数据。算法

 

2.迭代器:sql

其实也就是一个带状态的对象,它能够把你调用next()方法时,返回容器的下一个值。数据库

也就是next(容器)

容器能够是list,hase,touple。

 

3.list去重的方法:

使用set()

L=[1,2,2,2,4,5,6]

list(set(L))

 

4.有两个list,每一个list内有4个数字,如何使它们的差最小?

先把俩个list合并成一个list,再对这个list进行排序,这时在拿相邻的相减,把差累加即可

 

5.python的map()和reduce()的使用(要会,应为大数据也有mapreduce)

map()函数接受两个参数,一个是函数,一个是序列,map将传入的函数做用到序列的

每一个元素zhong,并把结果返回新的list。

reduce()函数接受两个参数,把结果继续和序列的下一个元素作累加计算。

 

6.状态码 200/403/404/504

200:成功

403:资源不可用

404:服务器不响应

504:网关超时

 

7.python单元测试:

使用python的nuittest模块:

unitTest模块是一个自带的单元测试框架,结构以下:

testCase 是一个测试用例

testSlite 多个测试用例结合在一块儿

testLoader用来加载testCase

testRuner 用来测试

testResult 用来存放结果

 

8.is,==,浅拷贝,深拷贝

is比较的是存储地址。

==对比的是值。

浅拷贝只拷贝对象自己

深拷贝还拷贝对象的父级

 

9.python进程,线程,协程

问到这些,你无论啥,就先说python不支持真正的多线程,应为GIL的存在并可不以真正的提升效率。建议使用

协程(yield)

 

10.python如何进行内存管理的

内存机制:python中有一个内存池机制,用于办理小块内存请求和释放。

计算机制:当对象被建立时为1,应用加1,超出引用做用域或被从新赋值减1,当为0时,会被回收。

代机制:记不清了,请自行查找

 

11.redis的了解,高并发案例

k-v存储结构,有string,map,list,set,sortset。

抢购:2W强100个商品,使用redis队列,把先进来的的人存到队列中,当队列大于100后就将这些用户的页面转到结束页面

相关文章
相关标签/搜索