A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 人工智能 于 2018-8-6 17:53 编辑

为了Python的自学党们,黑马真的是拼了!我们不仅有“人工智能+Python学习路线图,还根据以往的经验,总结出Python的部分面试问题,想详细了解,从此贴开始吧!!!


公司名称:西安房地产信息网
公司地址:西安市北大街2号金钟大厦B座7楼
公司规模:100-499人

笔试题:



面试环节:
Q:说一下mysql、redis和MongoDB数据库的区别
A:Redis是一个内存数据库,Redis所有数据都是放在内存中的,持久化是使用RDB方式或者aof方式。MySQL是关系型数据库,数据和索引都存放在硬盘中,到要使用的时候才交换到内存中,能够处理超过内存总量的数据,在不同的引擎上有不同的存储方式。MongoDB的所有数据是存放在硬盘的,所有要操作的数据通过mmap的方式映射到内存某个区域内。然后,MongoDB就在这块区域里面进行数据修改避免了零碎的硬盘操作至于mmap上的内容flush到硬盘就是操作系统的事情了,所以如果MongoDB在内存中修改了数据后mmap数据flush到硬盘之前系统宕机了数据就会丢失。
Q:说说一般爬虫的流程
A:1、爬虫引擎获得初始请求开始抓取。
2、爬虫引擎开始请求调度程序,并准备对下一次的请求进行抓取。
3、爬虫调度器返回下一个请求给爬虫引擎。
4、引擎请求发送到下载器,通过下载中间件下载网络数据。
5、一旦下载器完成页面下载,将下载结果返回给爬虫引擎。
6、引擎将下载器的响应通过中间件返回给爬虫进行处理。
7、爬虫处理响应,并通过中间件返回处理后的items,以及新的请求给引擎。
8、引擎发送处理后的items到项目管道,然后把处理结果返回给调度器,调度器计划处理下一个请求抓取。
9、重复以上步骤,直到爬取完所有的url请求。
Q:简单介绍下scrapy的异步处理?
A:scrapy框架的异步机制是基于twisted异步网络框架处理的,在settings.py文件里可以设置具体的并发量数值(默认是并发量16)。
Q:scrapy和scrapy-redis有什么区别?为什么选择redis数据库?
A:scrapy是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而scrapy-redis是一套基于redis数据库、运行在scrapy框架之上的组件,可以让scrapy支持分布式策略,Slaver端共享Master端redis数据库里的item队列、请求队列和请求指纹集合。至于为什么选择redis数据库,因为redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高。
Q:实现模拟登录的方式有哪些?
A:建立账号池,然后使用cookie;使用一个具有登录状态的cookie,结合请求报头一起发送,可以直接发送get请求,访问登录后才能访问的页面。先发送登录界面的get请求,在登录页面HTML里获取登录需要的数据(如果需要的话),然后结合账户密码,再发送post请求,即可登录成功。然后根据获取的cookie信息,继续访问之后的页面。
Q:如何处理cookie的过期问题?
A:做一个异常类,如果有异常的话cookie抛出异常类在执行程序
Q:分布式有哪些方案,你觉得哪一种最好?
A:主要有celery、beanstalk、gearman,个人认为gearman比较好。原因主要有这么几点:技术类型简单,维护成本低。简单至上,能满足当前的技术需求即可 (分布式任务处理、异步同步任务同时支持、任务队列的持久化、维护部署简单)。有成熟的使用案例,instagram就是使用的gearman来完成图片的处理的相关任务,有成功的经验,我们当然应该借鉴。

面试总结:
      回顾这次面试,笔试相对比较基础,面试则重点考察爬虫的专业技能,程度上则有深有浅。总的来说遇到自己会的就尽量说多说全展现出自己的自信和风采,不太了解的按自己的理解和经验尽量阐述即可,并且要保持一个冷静和彬彬有礼的状态。



你想要的传送门:






118 个回复

倒序浏览
感谢分享~
回复 举报
666666666666666666666
回复 举报
666666666666666666666
回复 举报
感谢分享
回复 举报
   楼主辛苦啦   祝您工作愉快   嘻嘻嘻
回复 举报
感谢分享
回复 举报

  花花送给你,楼主辛苦啦   祝您工作愉快   嘻嘻嘻
回复 举报
文章文采斐然,辞藻华美,语言朴实,文笔清新,情感丰富,人物形象饱满,条理清晰,结构层次分明,情节合理,跌宕起伏,描写生动,引人入胜,艺术感染力强,结尾画龙点睛,寓意深刻,发人深思,意味悠长。
回复 举报
花花送给你,楼主辛苦啦   祝您工作愉快   嘻嘻嘻
回复 举报
顶!!!!!!!!!
回复 举报

感谢分享
回复 举报
最有文采的程序员
回复 举报
回复 举报
顶顶顶。。。。。。。。。。。。
回复 举报
zhanghua342 来自手机 中级黑马 2018-8-13 15:40:06
16#
感谢分享
回复 举报
回复 举报
666666666666666666666666
回复 举报

感谢分享
回复 举报
这个面试很简单so easy这个面试很简单so easy这个面试很简单so easy
回复 举报
您需要登录后才可以回帖 登录 | 加入黑马