当前位置: 首页 / 技术干货 / 正文
好程序员Python分享爬虫工程师常见面试题汇总

2020-03-06

好程序员 Python Python教程 Python培训

  好程序员Python分享爬虫工程师常见面试题汇总,爬虫是Python的重要应用方向之一,也是学习Python的学员求职的主要方向。为了帮助学员更快更好的通过企业面试,好程序员Python培训小编悉心整理了5Python爬虫面试题及答案,希望能够给大家提供帮助!

好程序员

  1、简要介绍下scrapy框架及其优势

  scrapy是一个快速(fast)、高层次(high-level)的基于PythonWeb爬虫构架,用于抓取Web站点并从页面中提取结构化的数据。scrapy使用了Twisted异步网络库来处理网络通讯。

  scrapy框架的优点:1)更容易构建大规模的抓取项目;2)异步处理请求速度非常快;3)可以使用自动调节机制自动调整爬行速度。

  2、爬虫使用多线程好?还是多进程好?

  对于IO密集型代码(文件处理,网络爬虫),多线程能够有效提升效率(单线程下有IO操作会进行IO等待,会造成不必要的时间等待,而开启多线程后,A线程等待时,会自动切换到线程B,可以不浪费CPU的资源,从而提升程序执行效率)。在实际的采集过程中,既考虑网速和相应的问题,也需要考虑自身机器硬件的情况,来设置多进程或者多线程。

  3、什么是栈溢出?怎么解决?

  因为栈一般默认为1-2m,一旦出现死循环或者是大量的递归调用,在不断的压栈过程中,造成栈容量超过1m而导致溢出。

  栈溢出的情况有两种:1)局部数组过大。当函数内部数组过大时,有可能导致堆栈溢出。2)递归调用层次太多。递归函数在运行时会执行压栈操作,当压栈次数太多时,也会导致堆栈溢出。

  解决方法:1)用栈把递归转换成非递归。2)增大栈空间。

  4MySQL的索引在什么情况下失效?

  1)如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)

  要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引。

  2)对于多列索引,不是使用的第一部分,则不会使用索引。

  3)like查询以%开头。

  4)如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引。

  5)如果MySQL估计使用全表扫描要比使用索引快,则不使用索引。

  5HTTPS是如何实现安全传输数据的?

  客户端(通常是浏览器)先向服务器发出加密通信的请求;

  服务器收到请求,然后响应;

  客户端收到证书之后会首先会进行验证;

  服务器收到使用公钥加密的内容,在服务器端使用私钥解密之后获得随机数pre-master secret,然后根据radom1radom2pre-master secret通过一定的算法得出session KeyMAC算法秘钥,作为后面交互过程中使用对称秘钥。同时客户端也会使用radom1radom2pre-master secret,和同样的算法生成session KeyMAC算法的秘钥。

  然后再后续的交互中就使用session KeyMAC算法的秘钥对传输的内容进行加密和解密。

  当然,除了以上内容,企业在招聘Python爬虫工程师时还会考察其他内容,后续小编会继续整理分享给大家。如果你想更快更好的入行Python,可以来好程序员Python培训班,专业大牛讲师以项目驱动讲解高端潮流的课程,让你理论与实战兼备,筑造职场高起点,更有大量Python教程供大家免费学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号