黑马程序员技术交流社区

标题: Python面试题分享——图迹信息科技 [打印本页]

作者: 逆风TO    时间: 2019-5-23 14:09
标题: Python面试题分享——图迹信息科技
本帖最后由 逆风TO 于 2019-5-23 14:25 编辑

公司名称:西安图迹信息科技有限公司
公司地址:锦业路69号创业研发园瞪羚谷A座9层
主营概况:2013年成立,大数据应用工程中心,为五大发电集团在内的数十家大型发电企业提供信息化服务,去的时候办公室大概十几个人,网上查到的信息是50-100人
公司网址:http://www.dt-future.com/

公司照片:

HR问到的一些问题都是我们面试经常会问到的一些问题,会问到上家公司的一些情况还有离职原因,希望大家一定要做些准备再去面试!我把和技术面试的一些题目整理了一下,方便大家参考。
1. 简述你对input()函数的理解?
在Python3中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。在Python2中有 raw_input()和input(), raw_input()和Python3中的input()作用是一样的, input()输入的是什么数据类型的,获取到的就是什么数据类型的。

2. Python中有日志吗?怎么使用?
Python自带logging模块,调用 logging.basicConfig()方法,配置需要的日志等级和相应的参数, Python 解释器会按照配置的参数生成相应的日志。
INFO
DEBUG
WARNING
ERROR
CRITICAL

3.Python中的作用域?
Python中,一个变量的作用域总是由在代码中被赋值的地方所决定。当Python遇到一个变量的话 它会按照这的顺序进行搜索: 本地作用域(Local)--->当前作用域被嵌入的本地作用域(Enclosing locals)--->全局/模块作用域(Global)--->内置作用域(Built-in)

4. Python 中三大框架各自的应用场景?
①. Django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,模板T和视图V。主要是用来搞快速开发的,他的亮点就是快速开发,节约成本
②. Flask
轻量级,主要是用来写接口的一个框架,实现前后端分离,提升开发效率,Flask 本身相当于一 个内核,其他几乎所有的功能都要用到扩展(邮件扩展 Flask-Mail,用户认证 Flask-Login),都需要 用第三方的扩展来实现。比如可以用 Flask-extension 加入 ORM、窗体验证工具,文件上传、身份验 证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。
③. Tornado
Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。
5.什么是 restful api,谈谈你的理解?
REST:Representational State Transfer 的缩写,翻译:“具象状态传输”。一般解释为“表现层 状态转换”。REST 是设计风格而不是标准。是指客户端和服务器的交互形式。我们需要关注的重点是如何设计 REST 风格的网络接口。
REST 的特点:
①. 具象的。一般指表现层,要表现的对象就是资源。比如,客户端访问服务器,获取的数据就是资 源。比如文字、图片、音视频等。
②. 表现:资源的表现形式。txt 格式、html 格式、json 格式、jpg 格式等。浏览器通过 URL 确定资 源的位置,但是需要在 HTTP 请求头中,用 Accept 和 Content-Type 字段指定,这两个字段是对资源 表现的描述。
③. 状态转换:客户端和服务器交互的过程。在这个过程中,一定会有数据和状态的转化,这种转化 叫做状态转换。其中,GET 表示获取资源,POST 表示新建资源,PUT 表示更新资源,DELETE 表示删 除资源。HTTP 协议中最常用的就是这四种操作方式。
RESTful 架构:
①. 每个 URL 代表一种资源;
②. 客户端和服务器之间,传递这种资源的某种表现层;
③. 客户端通过四个 http 动词,对服务器资源进行操作,实现表现层状态转换。
5.有用过 Django REST framework 吗?
Django REST framework 是一个强大而灵活的 Web API 工具。使用 RESTframework 的理由 有:Web browsable API 对开发者有极大的好处包括 OAuth1a 和 OAuth2 的认证策略支持 ORM 和非 ORM 数据资源的序列全程自定义开发——如果不想使用更加强大的功能,可仅仅使用常规的 function-based views 额外的文档和强大的社区支持。
6.查询集两大特性?惰性执行?
①. 惰性执行
创建查询集不会访问数据库,直到调用数据时,才会访问数据库,调用数据的情况包括迭代、序列化、与if合用
②. 缓存
使用同一个查询集,第一次使用时会发生数据库的查询,然后Django会把结果缓存下来,再次使用这个查询集时会使用缓存的数据,减少了数据库的查询次数。
7.HttpRequest 和 HttpResponse 是什么?干嘛用的?
HttpRequest 是 django 接受用户发送多来的请求报文后,将报文封装到 HttpRequest 对象中去。
HttpResponse 返回的是一个应答的数据报文。render 内部已经封装好了 HttpResponse 类。

8.你所知道的分布式爬虫方案有哪些?
三种分布式爬虫策略:
①. Slaver 端从 Master 端拿任务(Request/url/ID)进行数据抓取,在抓取数据的同时也生成新任务,并将任务抛给 Master。Master 端只有一个 Redis 数据库,负责对 Slaver 提交的任务进行去重、加入待爬队列。
优点: scrapy-redis 默认使用的就是这种策略,我们实现起来很简单,因为任务调度等工作 scrapyredis 都已经帮我们做好了,我们只需要继承 RedisSpider、指定 redis_key 就行了。
缺点: scrapy-redis 调度的任务是 Request 对象,里面信息量比较大(不仅包含 url,还有 callback 函数、headers 等信息),导致的结果就是会降低爬虫速度、而且会占用Redis 大量的存储空间。当然我们可以重写方法实现调度 url 或者用户 ID。
②. Master 端跑一个程序去生成任务(Request/url/ID)。Master 端负责的是生产任务,并把任务去重、加入到待爬队列。Slaver 只管从 Master 端拿任务去爬。
优点: 将生成任务和抓取数据分开,分工明确,减少了 Master 和 Slaver 之间的数据交流;Master 端生成任务还有一个好处就是:可以很方便地重写判重策略(当数据量大时优化判重的性能和速度还是很重要的)。
缺点: 像 QQ 或者新浪微博这种网站,发送一个请求,返回的内容里面可能包含几十个待爬的用户 ID,即几十个新爬虫任务。但有些网站一个请求只能得到一两个新任务,并且返回的内容里也包含爬虫要抓取的目标信息,如果将生成任务和抓取任务分开反而会降低爬虫抓取效率。毕竟带宽也是爬虫的一个瓶颈问题,我们要秉着发送尽量少的请求为原则,同时也是为了减轻网站服务器的压力,要做一只有道德的 Crawler。所以,视情况而定。
③. Master 中只有一个集合,它只有查询的作用。Slaver 在遇到新任务时询问 Master 此任务是否已爬,如果未爬则加入 Slaver 自己的待爬队列中,Master 把此任务记为已爬。它和策略一比较像,但明显比策略一简单。策略一的简单是因为有 scrapy-redis 实现了scheduler 中间件,它并不适用于非 scrapy 框架的爬虫。
优点: 实现简单,非 scrapy 框架的爬虫也适用。Master 端压力比较小,Master 与Slaver 的数据交流也不大。
缺点:“健壮性”不够,需要另外定时保存待爬队列以实现“断点续爬”功能。各 Slaver的待爬任务不通用。如果把 Slaver 比作工人,把 Master 比作工头。策略一就是工人遇到新任务都上报给工头,需要 干活的时候就去工头那里领任务;策略二就是工头去找新任务,工人只管从工头那里领任务干活;策略 三就是工人遇到新任务时询问工头此任务是否有人做了,没有的话工人就将此任务加到自己的“行程 表”。9.你用过的爬虫框架或者模块有哪些?谈谈他们的区别或者优缺点?
requests request是一个HTTP 库, 它只是用来,进行请求,对于HTTP 请求,他是一个强大的库,下载,解析全部自己处理,灵活性更高,高并发与分布式部署也非常灵活,对于功能可以更好实现Scrapy scrapy 是封装起来的框架,他包含了下载器,解析器,日志及异常处理,基于多线程,twisted的方式处理,对于固定单个网站的爬取开发,有优势,但是对于多网站爬取 100个网站,并发及分布式 处理方面,不够灵活,不便调整与括展。




作者: 逆风TO    时间: 2019-5-27 11:09
厉害厉害
作者: hongping    时间: 2019-5-27 13:49

厉害厉害
作者: 温柔一刀!喵!    时间: 2019-5-27 14:03

作者: daoqin    时间: 2019-5-27 14:03
赞赞赞
赞赞赞
赞赞赞
作者: 多喝点热水~    时间: 2019-5-27 14:10
                                                                     
作者: zhuyanting    时间: 2019-5-27 14:11
       
作者: xiaoheizi    时间: 2019-5-27 14:20
66666666666666666666666666
作者: 李娟玲老师    时间: 2019-5-27 14:27
66666666666666666666666
作者: so//sweet    时间: 2019-5-27 14:30
666666666666666666666666666666666666
作者: zhaosongzhi    时间: 2019-5-27 14:45
学习到很多
作者: hello!!!    时间: 2019-5-27 14:45
作者棒棒哒
作者: py@py    时间: 2019-5-27 14:45
感谢分享
作者: 爱笑的姑娘    时间: 2019-5-27 14:55
66666666666666666666666666
作者: duanshaobo    时间: 2019-5-27 14:59

西安黑马JavaEE就业34期
平均薪资7420元,毕业18个工作日,就业率49.21%
作者: yy1134787753    时间: 2019-5-27 15:04
感谢分享
作者: 半个程序员    时间: 2019-5-27 15:42
作用作用作用作用
作者: ruoquan    时间: 2019-5-27 15:43
赞赞赞,6666
作者: 专找bug    时间: 2019-5-27 15:53

赞赞赞
赞赞赞
赞赞赞
作者: 致橡树    时间: 2019-5-27 15:55
6666666666666666666666666666666
作者: 小公举    时间: 2019-5-27 16:26

作者: zhanghua342    时间: 2019-5-27 16:55
赞赞赞
赞赞赞
作者: JavaEE风清扬    时间: 2019-5-27 20:11
谢谢楼主,辛苦了...........
作者: 耙丫丫    时间: 2019-5-27 21:25


作者: fujiangbo    时间: 2019-5-27 22:01
谢谢楼主,辛苦了!
作者: yujq    时间: 2019-5-27 23:11
6666666666666666666
作者: 黑马程序员啊    时间: 2019-5-27 23:19
不错不错加油.............
作者: 黑马程序员啊    时间: 2019-5-27 23:51
不错不错加油.............
作者: manyihang    时间: 2019-5-28 06:40
赞赞赞!!
作者: 同心筑梦1    时间: 2019-5-28 09:52
666666666666666666666666666666666666666666
作者: 张莫名    时间: 2019-5-28 10:56
赞赞赞赞赞赞赞赞
作者: yangyifen    时间: 2019-5-28 11:11
666666666666666666666666666666666666666
作者: ouweina    时间: 2019-5-28 11:15
666666666666666666666
作者: 大安    时间: 2019-5-28 11:17
多喝水 多喝水 多喝水
作者: little_superman    时间: 2019-5-28 11:37
赞赞赞,6666
作者: 谢先森    时间: 2019-5-28 12:27
666666666666666666666
作者: zplxwl    时间: 2019-5-28 12:52
文章文采斐然,辞藻华美,语言朴实,文笔清新,情感丰富,人物形象饱满,条理清晰,结构层次分明,情节合理,跌宕起伏,描写生动,引人入胜,艺术感染力强,结尾画龙点睛,寓意深刻,发人深思,意味悠长。
作者: #风萧萧#    时间: 2019-5-28 17:54
666666666666666666666
作者: json0314    时间: 2019-5-28 18:01
谢谢楼主,辛苦了...........
作者: mydorling11    时间: 2019-5-28 22:30
恭喜孩子们。。。恭喜孩子们。。。恭喜孩子们。。。
作者: 零度☆黎明    时间: 2019-5-28 23:30
棒棒哒 ..................... ..................
作者: jsnoob    时间: 2019-5-29 08:04
加油~加油~加油~
作者: 你不爱我    时间: 2019-5-29 18:17
666666666666666666666
作者: 小伙啊    时间: 2019-5-29 18:17
黑马666666666666
作者: 茶包哥    时间: 2019-5-29 18:19
666666666666666666666
作者: 举个栗子    时间: 2019-5-29 18:31
666666
作者: 梅优良    时间: 2019-5-30 15:02
666666666666666
作者: kdhdjdj    时间: 2019-5-31 10:22

作者: 小丹子    时间: 2019-5-31 10:26

作者: ElizabethWang    时间: 2019-5-31 10:42
6666666666666666666666666666666666666666666666666666666666666666666666666666666666966666666666666666666666666666666666666666666666666669666666666666666666666666666666666666666666666666666666666666666666666666666666696666666666666666666666666
作者: 760486198    时间: 2019-5-31 10:56

作者: 哦嗨呦    时间: 2019-6-1 16:52
6666666666666666
作者: 逆风TO    时间: 2019-6-4 09:56
逆风TO 发表于 2019-5-27 11:09
厉害厉害

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:56
hongping 发表于 2019-5-27 13:49
厉害厉害

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:56
温柔一刀!喵! 发表于 2019-5-27 14:03

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:56
温柔一刀!喵! 发表于 2019-5-27 14:03

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:56
daoqin 发表于 2019-5-27 14:03
赞赞赞
赞赞赞
赞赞赞

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:56
温柔一刀!喵! 发表于 2019-5-27 14:03

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:56
daoqin 发表于 2019-5-27 14:03
赞赞赞
赞赞赞
赞赞赞

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:57
多喝点热水~ 发表于 2019-5-27 14:10

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
xiaoheizi 发表于 2019-5-27 14:20
66666666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
李娟玲老师 发表于 2019-5-27 14:27
66666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
so//sweet 发表于 2019-5-27 14:30
666666666666666666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
zhaosongzhi 发表于 2019-5-27 14:45
学习到很多

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
hello!!! 发表于 2019-5-27 14:45
作者棒棒哒

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
多喝点热水~ 发表于 2019-5-27 14:10

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:58
zhuyanting 发表于 2019-5-27 14:11

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
zhaosongzhi 发表于 2019-5-27 14:45
学习到很多

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
py@py 发表于 2019-5-27 14:45
感谢分享

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
爱笑的姑娘 发表于 2019-5-27 14:55
66666666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
duanshaobo 发表于 2019-5-27 14:59
西安黑马JavaEE就业34期
平均薪资7420元,毕业18个工作日,就业率49.21%

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
yy1134787753 发表于 2019-5-27 15:04
感谢分享

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
半个程序员 发表于 2019-5-27 15:42
作用作用作用作用

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
ruoquan 发表于 2019-5-27 15:43
赞赞赞,6666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
专找bug 发表于 2019-5-27 15:53
赞赞赞
赞赞赞
赞赞赞

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 09:59
致橡树 发表于 2019-5-27 15:55
6666666666666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:00
小公举 发表于 2019-5-27 16:26

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:00
zhanghua342 发表于 2019-5-27 16:55
赞赞赞
赞赞赞

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:00
JavaEE风清扬 发表于 2019-5-27 20:11
谢谢楼主,辛苦了...........

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:00
耙丫丫 发表于 2019-5-27 21:25

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:00
fujiangbo 发表于 2019-5-27 22:01
谢谢楼主,辛苦了!

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:00
yujq 发表于 2019-5-27 23:11
6666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:01
黑马程序员啊 发表于 2019-5-27 23:19
不错不错加油.............

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:01
黑马程序员啊 发表于 2019-5-27 23:51
不错不错加油.............

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:01
黑马程序员啊 发表于 2019-5-27 23:51
不错不错加油.............

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:01
manyihang 发表于 2019-5-28 06:40
赞赞赞!!

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:01
同心筑梦1 发表于 2019-5-28 09:52
666666666666666666666666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:15
张莫名 发表于 2019-5-28 10:56
赞赞赞赞赞赞赞赞

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:15
yangyifen 发表于 2019-5-28 11:11
666666666666666666666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
ouweina 发表于 2019-5-28 11:15
666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
大安 发表于 2019-5-28 11:17
多喝水 多喝水 多喝水

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
little_superman 发表于 2019-5-28 11:37
赞赞赞,6666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
谢先森 发表于 2019-5-28 12:27
666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
zplxwl 发表于 2019-5-28 12:52
文章文采斐然,辞藻华美,语言朴实,文笔清新,情感丰富,人物形象饱满,条理清晰,结构层次分明,情节合理 ...

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
#风萧萧# 发表于 2019-5-28 17:54
666666666666666666666

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:16
json0314 发表于 2019-5-28 18:01
谢谢楼主,辛苦了...........

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:17
mydorling11 发表于 2019-5-28 22:30
恭喜孩子们。。。恭喜孩子们。。。恭喜孩子们。。。

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:17
零度☆黎明 发表于 2019-5-28 23:30
棒棒哒 ..................... ..................

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:17
jsnoob 发表于 2019-5-29 08:04
加油~加油~加油~

加油,努力,向上
作者: 逆风TO    时间: 2019-6-4 10:17
你不爱我 发表于 2019-5-29 18:17
666666666666666666666

加油,努力,向上




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2