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
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马