Python 爬虫 / web 面试常见问题

news2025/1/10 23:34:53

嗨喽,大家好呀~这里是爱看美女的茜茜呐


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


爬虫面试常见问题

一、项目问题:

1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎样解决的

2.用的什么框架。为什么选择这个框架

二、框架问题:

1.scrapy的基本结构(五个部分都是什么,请求发出去的整个流程)

2.scrapy的去重原理(指纹去重到底是什么原理)

3.scrapy中间件有几种类,你用过哪些中间件

4.scrapy中间件在哪里起的作业(面向切片编程)

三、代理问题:

1.为什么会用到代理

2.代理怎么使用(具体代码, 请求在什么时候添加的代理)

3.代理失效了怎么处理

四、验证码处理:

1.登陆验证码处理

2.爬取速度过快出现的验证码处理

3.如何用机器识别验证码

五、模拟登陆问题:

1.模拟登陆流程

2.cookie如何处理

3.如何处理网站传参加密的情况

六、分布式:

1.分布式原理

2.分布式如何判断爬虫已经停止了

3.分布式的去重原理

七、数据存储和数据库问题:

1.关系型数据库和非关系型数据库的区别

2.爬下来数据你会选择什么存储方式,为什么

3.各种数据库支持的数据类型,和特点

八、Python基础问题:

ps:基础问题是非常多的,因为是爬虫性质,所以抽了一些问的比较多的,总结如下:

1.Python2与Python3的区别,如何实现python2代码迁移到Python3环境

2.Python2和Python3的编码方式有什么差别

3.迭代器,生成器,装饰器

4.Python的数据类型

九、协议问题:

1.http协议,请求由什么组成,每个字段分别有什么用,https和http有什么差距

2.证书问题

3.TCP,UDP各种相关问题

十、数据提取问题:

1.主要使用什么样的结构化数据提取方式,可能会写一两个例子

2.正则的使用

3.动态加载的数据如何提取

4.json数据如何提取

十一、算法问题:

算法:你们要善用Python的数据类型,对Python的数据结构深入了解

Python web面试常见问题

一、Python语法以及其他基础部分:

1.可变与不可变类型

2.浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现

3.new()与init()的区别

4.你知道几种设计模式

5.编码与解码你了解过吗

6.列表推导式list comprehension和生成器的优劣

7.什么是装饰器;如果想在函数之后进行装饰,应该怎么做

8.手写个使用装饰器实现的单例模式

9.使用装饰器的单例和使用其他方法的单例,在后续使用中,有何区别

10.手写:正则邮箱地址

11.介绍下垃圾回收:引用计数/分代回收/孤立引用环

12.多进程和多线程的区别,cpu密集型适合用什么

13.进程通信的方式有几种

14.介绍下协程,为何比线程快

15.range和xrange的区别

二、算法排序部分:

1.手写快排;堆排;几种常用排序的算法复杂度是多少;快排平均复杂度多少,最坏情况如何优化

2.手写:已知一个长度n的无序列表,元素均是数字,要求把所有间隔为d的组合找出来,你写的解法算法复杂度多少

3.手写:一个列表A=[A1,A2,…,An],要求把列表中所有的组合情况打印出来;

4.手写:用一行python写出1+2+3+…+10**8

5.手写python:用递归的方式判断字符串是否为回文

6.单向链表长度未知,如何判断其中是否有环

7.单向链表如何使用快速排序算法进行排序

7.手写:一个长度n的无序数字元素列表,如何求中位数,如何尽快的估算中位数,9).你的算法复杂度是多少;

8.如何遍历一个内部未知的文件夹(两种树的优先遍历方式)

三、网络基础部分:

1.TCP/IP分别在模型的哪一层

2.socket长连接是什么意思

3.select和epoll你了解么,区别在哪

4.TCP UDP区别;三次握手四次挥手讲一下

5.TIME_WAIT过多是因为什么

6.http一次连接的全过程:你来说下从用户发起request——到用户接收到 response

7.http连接方式。get和post的区别,你还了解其他的方式么

8.restful你知道么

9.状态码你知道多少,比如200/403/404/504等等

四、数据库部分:

1.MySQL锁有几种;死锁是怎么产生的; 为何,以及如何分区、分表;

2.MySQL的char varchar text的区别:

了解join么,有几种有何区别,A LEFT JOIN B,查询的结果中,B没有的那部分是如何显示的(NULL)

3.索引类型有几种,BTree索引和hash索引的区别

4.手写:如何对查询命令进行优化

5.NoSQL了解么,和关系数据库的区别,redis有几种常用存储类型

五、linux部分:

1.讲一下你常用的Linux/git命令和作用;

2.查看当前进程是用什么命令,除了文件相关的操作外,你平时还有什么操作命令;

六. Django项目部分:

都是让简单的介绍下你在公司的项目,不管是不是后端相关的,主要是要体现出你干了什么

你在项目中遇到最难的部分是什么,你是怎么解决的; 你看过django的admin源码么

看过flask的源码么,你如何理解开源

MVC / MTV, 缓存怎么用, 中间件是干嘛的

CSRF是什么,django是如何避免的,XSS

如果你来设计login,简单的说一下思路

session和cookie的联系与区别,session为什么说是安全的

uWSGI和Nginx的作用;

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1050559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Excel技巧之【锁定工作簿】

Excel工作簿是Excel工作区中一个或多个工作表的集合,我们知道Excel可以设置锁定工作表,防止意外或被他人修改,但可能有小伙伴不知道,Excel工作簿也同样可以设置锁定,防止更改。 那工作簿锁定后会怎么样呢?…

Mysql——三、SQL语句(上篇)

Mysql 一、SQL语句基础1、SQL简介2、SQL语句分类3、SQL语句的书写规范 二、数据库操作三、MySQL 字符集1、变量2、utf8和utf8mb4的区别 四、数据库对象五、SELECT语句1、简单的SELECT语句2、SQL函数2.1 聚合函数2.2 数值型函数2.3 字符串函数2.4 日期和时间函数2.5 流程控制函数…

Spring结合自定义注解实现 AOP 切面功能

Spring结合自定义注解实现 AOP 切面功能 Spring AOP 注解概述Aspect 快速入门execution 切点表达式 拦截指定类的方法Pointcut("annotation(xx)") 拦截拥有指定注解的方法环绕通知 实现开关目标方法案例1:自定义注解切面实现统一日志处理1.自定义日志注解…

Python3中类的高级语法及实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 一: 类定义语法 通过下面的实例,你将会了解到如下的内容体系: (1)类静态属性 (2)类动态属性 (3)类初始化过程: __init__(self)被执行&am…

java对象半初始化问题是怎么回事

文章目录 一、前言1. 什么是Java对象半初始化2. 对象半初始化问题引发的影响 二、对象半初始化问题详解1. Java对象创建过程 2. 对象半初始化问题产生的原因三、实例分析:对象半初始化问题的表现1. 单线程环境下的半初始化2. 多线程环境下的半初始化 四、解决方案及…

Java 基于 SpringBoot 的校园疫情防控系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2.主要技术3 需求分析4系统设计4.1功能结构4.2 数据库设计4.2.1 数据库E/R图4.2.2 数据库表…

预编译(1)

目录 预定义符号: 使用: 结果: 预编译前后对比: #define定义常量: 基本语法: 举例1: 结果: 预编译前后对比: 举例2: 预编译前后对比: 注…

嵌入式软硬件

在这里插入图片描述

APP渗透测试

APP反抓包突破 抓包失败分析 工具证书未配置 app不使用HTTP/S协议 反模拟器 1.使用真机进行抓包 2.用模拟器模拟真机 3.逆向删除反模拟器代码打包重新测试 反证书 SSL证书绑定分为单向校验和双向校验,单向校验就是客户端校验服务端的证书,双向…

回调函数的用途

一、函数指针 在讲回调函数之前,我们需要了解函数指针。 我们都知道,C语言的灵魂是指针,我们经常使用整型指针,字符串指针,结构体指针等 int *p1; char *p2; STRUCT *p3; //STRUCT为我们定义的结构体但是好像我们一…

【CTFHUB】SSRF绕过方法之靶场实践(二)

SSRF POST请求 提示信息: 这次是发一个HTTP POST请求.对了.ssrf是用php的curl实现的.并且会跟踪302跳转.加油吧骚年 首先测试了http的服务请求,出现对话框 输入数值后提示:只能接受来自127.0.0.1的请求 右键查看源码发现key值 通过file协…

k8s+kubeedge+sedna安装的全套流程

一,环境准备 把两台虚拟机的ip地址设置成静态的IP地址,否则ip地址会变 虚拟机配置静态IP(NAT模式)_nat子网的准入_阿祖,收手吧的博客-CSDN博客​​​​​​ 节点IP软件 云节点192.168.133.139kubernetescloudcore边…

与初至波相关的常见误解

摘要: 初至波是指检波器首次接收到的波. 对它的误解会使我们失去重要的信息. 1. 波从震源到检波器的传导过程 从震源产生波以后, 有些波通过地面直接传导到检波器, 这些称为直达波 (面波);有些在地层中传播,遇到两种地层的分界面时 产生波的反射,在原来地层中形成一种新波, …

【算法——双指针】LeetCode 15 三数之和

题目描述: 解题思路:双指针 首先,按升序对数组进行排序。然后,我们可以用如下步骤求解: 初始化一个空的结果集result,用于存储找到的和为0的三元组。 遍历整个数组,直到倒数第三个元素&#xff…

基于APP数据爬取的运行环境

前提 数据爬取本就是“道高一尺,魔高一丈”;越往后,爬取越接近于真实,真实包含了真实的运行环境(不再是简单地伪造请求、User-Agent和Cookie等)和真实的操作流程。本文对APP的运行环境做了简单梳理以供参考…

python爬虫基于管道持久化存储操作

文章目录 基于管道持久化存储操作scrapy的使用步骤1.先转到想创建工程的目录下:cd ...2.创建一个工程3.创建之后要转到工程目录下4.在spiders子目录中创建一个爬虫文件5.执行工程setting文件中的参数 基于管道持久化存储的步骤:持久化存储1:保…

【Linux学习】05-1Linux上安装部署各类软件

Linux(B站黑马)学习笔记 01Linux初识与安装 02Linux基础命令 03Linux用户和权限 04Linux实用操作 05-1Linux上安装部署各类软件 文章目录 Linux(B站黑马)学习笔记前言05-1Linux上安装部署各类软件JDK安装部署Tomcat安装部署maven…

Matlab绘图函数subplot、tiledlayout、plot和scatter

一、绘图函数subplot subplot(m,n,p)将当前图窗划分为 mn 网格,并在 p 指定的位置创建坐标区。MATLAB按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,…

ahk系列——ahk_v2实现win10任意界面ocr

前言: 不依赖外部api接口,界面简洁,翻译快速,操作简单, 有网络就能用 、还可以把ocr结果非中文翻译成中文、同样可以识别中英日韩等60多个国家语言并翻译成中文,十分的nice 1、所需环境 windows10及其以上…

【小沐学C++】C++ 基于Premake构建工程项目(Windows)

文章目录 1、简介2、下载和安装2.1 下载2.3 快速入门 3、使用3.1 支持的工程文件Project Files3.2 构建设置Build Settings3.3 链接Linking3.4 配置Configurations3.5 平台Platforms3.6 过滤Filters3.7 预设值Tokens 4、测试4.1 测试1:入门例子4.2 测试2&#xff1a…