初级python爬虫工程师面试题_Python爬虫工程师常见面试题汇总
爬虫是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爬虫工程师常见面试题汇总相关推荐
- 【面试题】Redis篇-常见面试题p1
[面试题]Redis篇-常见面试题p1 备战实习,会定期的总结常考的面试题,大家一起加油!
- 2018常见的java面试题_2018新版Java常见面试题
千锋西安Java编程培训班的老师总结了2018新版Java常见面试题,一起来看! 1.1.java基础 ●面向对象的特征:继承.封装.多态 继承[构造器.protected关键字.向上转型Java实现 ...
- mysql常见面试题及答案_MySQL常见面试题与答案整理
1.MySQL 中有哪几种锁? 1.表级锁: 开销小, 加锁快: 不会出现死锁: 锁定粒度大, 发生锁冲突的概率最高, 并发度最低. 2.行级锁: 开销大, 加锁慢: 会出现死锁: 锁定粒度最小, 发 ...
- mysql数据库工程师考证题_100道MySQL常见面试题总结
原文链接:https://juejin.im/post/5d351303f265da1bd30596f9 前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐 ...
- html5游戏面试题及答案,HTML5常见面试题及答案(二)
1.HTML5的新特性 (1) 绘画canvas (2) 用于媒介回放的video和audio元素 (3) 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失 (4) sessi ...
- 最新Java面试题2021年,常见面试题及答案汇总
2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...
- SpringMVC常见面试题(5个最常见面试题,回答超详细)
以下题目顺序根据面试中问的概率排序的,尽量都背下来啊. 目录 面试题一:什么是Spring MVC ?简单介绍下你对springMVC的理解? 面试题二:SpringMVC的工作流程? 面试题三:Sp ...
- 小博老师收集Java经典面试题 ——Servlet和JSP常见面试题
[面试题] 1.简单说说tomcat的配置? JAVA_HOME=JDK的根目录 CATALINA_HOME=tomcat的根目录 CATALINA-HOME\conf\server.xml:可以配置 ...
- 【面试题系列】K8S常见面试题
目录 序言 问题 1. 简单说一下k8s集群内外网络如何互通的吧 2.描述一下pod的创建过程 3. 描述一下k8s pod的终止过程 4.Kubernetes 中的自动伸缩有哪些方式? 5.Kube ...
- android和ios兼容面试题,[转]移动端常见面试题一:移动端兼容解决方案
1.安卓浏览器看背景图片,有些设备会模糊 因为手机分辨率太小,如果按照分辨率来显示网页,字会非常小,安卓手机devicePixoRadio比较乱,有1.5的,有2的也有3的.想让图片在手机里显示更为清 ...
最新文章
- c语言函数与编译预处理教学视频,C语言课程第6章 函数及编译预处理.ppt
- 文曲星猜数游戏,无测试代码
- 3 Curator框架实现分布式锁
- delphi json
- Linux学习之系统编程篇:互斥锁(pthread_mutex_init / lock / trylock / unlock / destroy)
- Spring Boot2 整合 MyBatis 多数据源
- OS: 读者写者问题(写者优先+LINUX+多线程+互斥量+代码)(转)
- java可以做网页吗_如果我用java 只会做网页,那么我会不会被淘汰?
- urllib2 request 模拟伪装浏览器
- flink安装以及运行自带wordcount示例(单机版,无hadoop环境)
- UFLDL教程笔记及练习答案五(自编码线性解码器与处理大型图像**卷积与池化)...
- win10局域网文件服务器,win10 局域网文件共享
- python中fontsize_python size
- oracle数据存储层级
- 北风修仙笔记—2020年6月
- 师傅对徒弟有大小眼怎么办?
- 8、javascript数组
- 对话 UNIX: 使用 Screen 创建并管理多个 shell
- Excel TEXT函数怎么把数值转换成文本
- 通用mapper(mapper-mybatis)
热门文章
- PDF Password Remover 软件及其密钥
- 大学四年我终于成材了(爆笑)
- 求质(素)数中的筛选思想
- 小扎在Facebook高调晒图,Oculus最新交互设备长这样
- 你拿VR干什么?VR这五大领域你都体验过么?
- Anaconda3安装tensorflow 2.0版本cpu和gpu安装,Win10系统
- 批量将 svg 文件转成 png 文件
- 【i.MX6ULL】驱动开发11——LCD驱动实践
- hctf 2016 write up
- oracle 监听程序服务无法启动,ORA-12500: TNS: 监听程序无法启动专用服务器进程