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

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

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

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

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

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

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

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

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

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

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

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

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

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

3)like查询以%开头。

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

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

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

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

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

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

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

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

文章来源: www.oschina.net,作者:osc_cnb6sdnb,版权归原作者所有,如需转载,请联系作者。

原文链接:https://my.oschina.net/u/4277346/blog/3209267

初级python爬虫工程师面试题_Python爬虫工程师常见面试题汇总相关推荐

  1. 【面试题】Redis篇-常见面试题p1

    [面试题]Redis篇-常见面试题p1 备战实习,会定期的总结常考的面试题,大家一起加油!

  2. 2018常见的java面试题_2018新版Java常见面试题

    千锋西安Java编程培训班的老师总结了2018新版Java常见面试题,一起来看! 1.1.java基础 ●面向对象的特征:继承.封装.多态 继承[构造器.protected关键字.向上转型Java实现 ...

  3. mysql常见面试题及答案_MySQL常见面试题与答案整理

    1.MySQL 中有哪几种锁? 1.表级锁: 开销小, 加锁快: 不会出现死锁: 锁定粒度大, 发生锁冲突的概率最高, 并发度最低. 2.行级锁: 开销大, 加锁慢: 会出现死锁: 锁定粒度最小, 发 ...

  4. mysql数据库工程师考证题_100道MySQL常见面试题总结

    原文链接:https://juejin.im/post/5d351303f265da1bd30596f9 前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐 ...

  5. html5游戏面试题及答案,HTML5常见面试题及答案(二)

    1.HTML5的新特性 (1) 绘画canvas (2) 用于媒介回放的video和audio元素 (3) 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失 (4) sessi ...

  6. 最新Java面试题2021年,常见面试题及答案汇总

    2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...

  7. SpringMVC常见面试题(5个最常见面试题,回答超详细)

    以下题目顺序根据面试中问的概率排序的,尽量都背下来啊. 目录 面试题一:什么是Spring MVC ?简单介绍下你对springMVC的理解? 面试题二:SpringMVC的工作流程? 面试题三:Sp ...

  8. 小博老师收集Java经典面试题 ——Servlet和JSP常见面试题

    [面试题] 1.简单说说tomcat的配置? JAVA_HOME=JDK的根目录 CATALINA_HOME=tomcat的根目录 CATALINA-HOME\conf\server.xml:可以配置 ...

  9. 【面试题系列】K8S常见面试题

    目录 序言 问题 1. 简单说一下k8s集群内外网络如何互通的吧 2.描述一下pod的创建过程 3. 描述一下k8s pod的终止过程 4.Kubernetes 中的自动伸缩有哪些方式? 5.Kube ...

  10. android和ios兼容面试题,[转]移动端常见面试题一:移动端兼容解决方案

    1.安卓浏览器看背景图片,有些设备会模糊 因为手机分辨率太小,如果按照分辨率来显示网页,字会非常小,安卓手机devicePixoRadio比较乱,有1.5的,有2的也有3的.想让图片在手机里显示更为清 ...

最新文章

  1. c语言函数与编译预处理教学视频,C语言课程第6章 函数及编译预处理.ppt
  2. 文曲星猜数游戏,无测试代码
  3. 3 Curator框架实现分布式锁
  4. delphi json
  5. Linux学习之系统编程篇:互斥锁(pthread_mutex_init / lock / trylock / unlock / destroy)
  6. Spring Boot2 整合 MyBatis 多数据源
  7. OS: 读者写者问题(写者优先+LINUX+多线程+互斥量+代码)(转)
  8. java可以做网页吗_如果我用java 只会做网页,那么我会不会被淘汰?
  9. urllib2 request 模拟伪装浏览器
  10. flink安装以及运行自带wordcount示例(单机版,无hadoop环境)
  11. UFLDL教程笔记及练习答案五(自编码线性解码器与处理大型图像**卷积与池化)...
  12. win10局域网文件服务器,win10 局域网文件共享
  13. python中fontsize_python size
  14. oracle数据存储层级
  15. 北风修仙笔记—2020年6月
  16. 师傅对徒弟有大小眼怎么办?
  17. 8、javascript数组
  18. 对话 UNIX: 使用 Screen 创建并管理多个 shell
  19. Excel TEXT函数怎么把数值转换成文本
  20. 通用mapper(mapper-mybatis)

热门文章

  1. PDF Password Remover 软件及其密钥
  2. 大学四年我终于成材了(爆笑)
  3. 求质(素)数中的筛选思想
  4. 小扎在Facebook高调晒图,Oculus最新交互设备长这样
  5. 你拿VR干什么?VR这五大领域你都体验过么?
  6. Anaconda3安装tensorflow 2.0版本cpu和gpu安装,Win10系统
  7. 批量将 svg 文件转成 png 文件
  8. 【i.MX6ULL】驱动开发11——LCD驱动实践
  9. hctf 2016 write up
  10. oracle 监听程序服务无法启动,ORA-12500: TNS: 监听程序无法启动专用服务器进程