网站大量收购独家精品文档,联系QQ:2885784924

Python面试题总结.docx

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python面试题总结

1.Python?线程池原理?? 我理解为线程池是一个存放很多线程的单位,同时还有一个对应的任务队列。整个执行过程其实就是使用线程池中已有有限的线程把任务队列中的任务做完。这样做的好处就是你不需要为每个任务都创建一个线程,因为当你创建第100个线程来执行第100个任务的时候,可能前面已经有50个线?程结束工作了。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。因此重复利用线程来执行任务,减少系统资源的开销。??2.Python合并字典,相同key的value如何相加?利用collections.Counter可轻松办到?x?=?{?apple:?1,?banana:?2?}?y?=?{?banana:?10,?pear:?11?}?from?collections?import?Counter?X,Y?=?Counter(x),?Counter(y)?z?=?dict(X+Y)?z{apple:?1,?banana:?12,?pear:?11}另一种写法from?collections?import?Counterdict(Counter(x)+Counter(y))??(?合并两个字典的方法方法1:dictMerged1=dict(dict1.items()+dict2.items())方法2:dictMerged2=dict(dict1,?**dict2)方法2等同于:dictMerged=dict1.copy()dictMerged.update(dict2)或者dictMerged=dict(dict1)dictMerged.update(dict2)3.解释GUI和GPL?GUI图形用户界面(Graphical?User?Interface,简称?GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。?GPL(GNU通用公共许可证)GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。?4.简述爬虫的基本步骤和流程?????网络爬虫的基本工作流程如下:????1.首先选取一部分精心挑选的URL;????2.将这些URL放入待抓取URL队列;????3.从待抓取URL队列中取出待抓取在URL,(解析DNS,并且得到主机的ip,)并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。4.分析已抓取URL队列中的URL和其中的有价值的数据,将新的URL,放入待抓取URL队列,将数据存储起来,从而进入下一个循环。?5.你们公司的业务中,并发能达到多少??6.如何循环抓取一个网站的1000张图片?流程大概是这样找到所有页数遍历所有的页数遍历当前页的所有相册(给每个相册建立一个目录)遍历当前相册的所有图片(遍历此相册的所有页(遍历当前页的所有照片并找到图片的url))获得图片url就存起来,然后通过图片url下载图片。引用计数当图片下载量达到1000张时,停止爬取。?7.如果对方网站可以反爬取,封ip怎么办?1、放慢抓取速度,减小对于目标网站造成的压力。但是这样会减少单位时间类的抓取量。2、第二种方法是通过设置代理IP等手段,突破反爬虫机制继续高频率抓取。但是这样需要多个稳定的代理IP。代理IP可以搜索到免费的,但是可能不太稳定,也有收费的,但是不一定划算,也可能不是长久之计。普通的基于ADSL拨号的解决办法?通常,在抓取过程中遇到禁止访问,可以重新进行ADSL拨号,获取新的IP,从而可以继续抓取。但是这样在多网站多线程抓取的时候,如果某一个网站的抓取被禁止了,同时也影响到了其他网站的抓取,整体来说也会降低抓取速度。一种可能的解决办法?同样也是基于ADSL拨号,不同的是,需要两台能够进行ADSL拨号的服务器,抓取过程中使用这两台服务器作为代理。假设有A、B两台可以进行ADSL拨号的服务器。爬虫程序在C服务器上运行,使用A作为代理访问外网,如果在抓取过程中遇到禁止访问的情况,立即将代理切换为B,然后将A进行重新拨号。如果再遇到禁止访问就切换为A做代理,B再拨号,如此反复。如下图:使用A为代理,B拨号:8.简述?移动端app?数据的抓取流程1、例如:爬取手机淘宝,核心还是一个WEB页面:/#index2、有很多资讯类的APP,核心都是一个WEB页面。直接用爬虫的方法抓就可以了。3、非WEB页面的APP,用APP自动化的一些东西试试4、不然就只有抓包了。?9.是否了解Python的函数参数传递的机制?python的参数传递机制具有值传递(int、float等值数据类型)和引用传递(以字典、列表等非值对象数据类型为代表)两种基本机制以及方便的关键字传递特性(直接使

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档