美团2024年秋招第一场笔试【前端移动端】

美团2024年秋招第一场笔试【前端&移动端】 2024/12/12

1.在一个长度为28的数组中删除第5个元素时(元素序号:1~28),需要向前移动(23)个元素。

2.如下图一个树型结构,其结点E在树的中序遍历中的位次为(5)

3.存在中缀表达式:(2*(3-4))*5,通过下面的代码将其转换为后缀表达式,则当扫描到字符4时,栈ops中所存元素为。  (*(-     

解析

4.计数排序算法是一种简单的排序算法,这种排序算法对一个待排序的表进行排序,并将结果存放在另一个表中,表中所有关键字各不相同,计数排序算法针对表中每个元素,通过扫描待排序的表一趟,统计出表中有多少个元素的关键字比该元素的关键字小,从而进行排序。在关键字序列{8,13,27,14,15,21}中,若采用计数排序,则得到的计数依次为(0,1,5,2,3,4)。

5.对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是? A

A.90,17,83,24,85,71

B.90,18,89,32,86,33

C.19,87,75,27,34,36

D.10,23,69,66,31,32

6.在TCP/IP四层模型中,TCP和UDP是传输层中两个非常重要的协议,下列选项中,关于这两种协议的区别描述错误的是(C)

A.TCP提供的是面向连接的、可靠的端到端通信机制

B.为了确保数据的可靠传输,TCP采用了确认和重发机制

C.允许丢包的前提下,TCP相比UDP传输效率更高

D.UDP相对数据传送可靠性要求没有TCP那么严格

7.有A、B和C三个作业同时到达,执行时间分别为4,3,6,且在系统中以单道方式运行,则可以获得最短的平均周转时间的执行顺序为(B,A,C)。

解析

由于三个作业同时到达,故在以单道方式运行的系统中,想要获得最短的平均周转时间,用SJF(短作业优先)调度算法的效果比较好

8.下列哪一个进程-资源图会产生死锁()

上图先分配资源,得到

R1=R2=R3=0,死锁

先分配资源,得到

R1=0,R2=1,R3=0

然后去掉所有从方框出发的箭头,图化简为

P1->R2, P2->R1, P3->R3

然后先满足P1->R2,P1结束,资源变成

R1=1, R2=1, R3=0

再满足P2->R1,P2结束,资源变成

R1=1, R2=2, R3=1

再满足P3->R3,P3结束,资源变成

R1=2, R2=3, R3=1

9.下列关于TCP和UDP说法错误的是(A)

A.UDP是面向字节流的协议

B.TCP的头部消息较UDP来说更全面

C.TCP是端对端的不支持广播、多播

D.TCP可以用在远程登陆方面,UDP可以用在语音通话方面

10.VLAN(Virtual Local Area Network,虚拟局域网),能够限制广播域,提高网络安全性。VLAN ID有效范围是1-4094,则下列选项中,哪个VLAN ID范围属于为FDDI和令牌环网使用的VLAN ID(1002-1005)

解析

VLAN ID:VLAN TAG包的VLAN ID号,有效范围是1-4094,0和4095都为协议保留值,VLAN ID 0 表示不属于任何VLAN,但携带802.1Q的优先级标签,所以一般被称为Priority-only frame,其一般作为系统使用,用户不可使用和删除。1为系统默认VLAN,即Native VLAN,2-1001是普通的VLAN,1006-1024保留仅系统使用,用户不能查看和使用,1002-1005是支持fddi和令牌环的VLAN,1025-4095是扩展的VLAN

11.某主机的 IP 地址为 212.212.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是?212.212.79.255

解析

由子网掩码可知前 22 位为子网号、后 10 位为主机号。IP 地址的第 3 个字节为 010011 01 ,后面2位是主机号,将主机号全置为 1,可得广播地址为 212.212.79.255

12.下面关于 InnoDB 存储引擎和 MyISAM 存储引擎正确的是(A)

A.InnoDB 支持行级锁和表级锁,而 MyISAM 支持表级锁

B.InnoDB 支持全文索引,而 MyISAM 不支持全文索引

C.InnoDB 不支持事务,而 MyISAM 支持事务

D.InnoDB 不支持外键,而 MyISAM 支持外键

13.在MySQL中可以用来执行预处理语句的是(EXECUTE)

解析

PREPARE语句准备好一条SQL语句,并分配给这条SQL语句一个名字供之后调用。准备好的SQL语句通过EXECUTE命令执行,通过DEALLOCATE PREPARE命令释放掉。

14.以下哪种设计模式可以动态地给对象增加扩展功能,为扩展功能提供了子类化的灵活替代方案(装饰器模式)

15.下面代码使用了哪种设计模式(抽象工厂模式)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

interface AbstractProductA {

    void operationA();

}

class ConcreteProductA1 implements AbstractProductA {

    public void operationA() {

        System.out.println("ConcreteProductA1 operationA");

    }

}

class ConcreteProductA2 implements AbstractProductA {

    public void operationA() {

        System.out.println("ConcreteProductA2 operationA");

    }

}

interface AbstractProductB {

    void operationB();

}

class ConcreteProductB1 implements AbstractProductB {

    public void operationB() {

        System.out.println("ConcreteProductB1 operationB");

    }

}

class ConcreteProductB2 implements AbstractProductB {

    public void operationB() {

        System.out.println("ConcreteProductB2 operationB");

    }

}

interface AbstractFact {

    AbstractProductA createProductA();

    AbstractProductB createProductB();

}

class ConcreteFact1 implements AbstractFact {

    public AbstractProductA createProductA() {

        return new ConcreteProductA1();

    }

    public AbstractProductB createProductB() {

        return new ConcreteProductB1();

    }

}

class ConcreteFact2 implements AbstractFact {

    public AbstractProductA createProductA() {

        return new ConcreteProductA2();

    }

    public AbstractProductB createProductB() {

        return new ConcreteProductB2();

    }

}

16.模板方法模式使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。下列说法不正确的是(C)

A.模板方法模式能提高系统的复用性,符合开闭原则

B.servlet中的Httprequest的doGet和doPost方法使用了模板方法模式

C.模板方法模式不会增加类的数目

D.模板方法模式的一个缺点是,如果父类添加新的抽象方法,所有子类都要改一遍

解析

模板方法模式的优缺点是:优点:1、提高复用性,2、提高扩展性,3、符合开闭原则

缺点:1、类数目增加,2、增加了系统实现的复杂度,3、继承关系自身的缺点,如果父类添加新的抽象方法,所有子类都要改一遍。

17.中间代码的主要优点是(提供了一种平台无关的中间表示)

18.在寄存器分配中常采用图染色法,以下不是其目的是(优化程序的逻辑结构)

19.假设有一个简单的正则表达式 [a-zA-Z_][a-zA-Z0-9_]* 用于匹配标识符。给定字符串 "abc123", 词法分析器会识别为多少个标识符(1)

解析

识别结果为a bc123

20.<input>标签的(D )属性规定必需在提交表单之前填写输入字段

A.multiple

B.pattern

C.placeholder

D.required

解析

A选项, multiple 属性适用于以下类型的 <input> 标签:email 和 file,multiple 属性规定 <input> 元素中可选择多个值。

B选项,pattern 属性描述了一个正则表达式用于验证 <input> 元素的值。

C选项,placeholder 属性提供一种提示,在用户输入值前会显示在输入域上。

D选项,required 属性规定必须在提交之前填写输入域。D选项正确

21.在background: #eee url(1.png) no-repeat 0 0 / contain;中,属性值“0 0”表示的属性是(C)

A.background-clip

B.background-size

C.background-position

D.background-origin

解析

在background组合属性中,能使用“/”的属性只有background-position和background-size,且background-position在前,background-size在后,也就是,属性值“0 0”表示的属性为background-position,属性值“contain“表示的属性是background-size

22.执行以下代码,为了清除浮动,下列做法可行且属于 BFC 应用的是(C)

1

2

3

4

5

6

7

8

9

10

11

12

13

<style>

    .box1 {

        width: 200px;

    }

    .box2 {

        float: left;

        width: 100px;

        height: 100px;

    }

</style>

<div class="box1">

    <div class="box2"></div>

</div>

A.在 box2 盒子后面添加加代码:<div style="clear: both;"></div>

B.在 box1 盒子后面添加加代码:<div style="clear: both;"></div>

C.在 box1 盒子中设置属性:overflow: hidden

D.在 box2 盒子中设置属性:overflow: hidden

解析

本题考察HTML元素和css属性。A选项可以清除浮动,但属于额外标签法,并不涉及BFC,不符合题意;C选项,在box1盒子设置overflow: hidden可以触发BFC,具备BFC属性的元素,可以包裹住内部的浮动子元素,从而达到清除浮动元素的作用,符合题意

23.下列选项不属于<meta>标签的http-equiv的取值的是(D)

A.content-type

B.default-style

C.refresh

D.keywords

解析

A选项,content-type规定文档的字符编码

B选项,default-style规定要使用的预定义的样式表

C选项,refresh定义文档自动刷新的时间间隔

D选项,http-equiv没有keywords这个取值。

24.下列代码的输出结果是?a b d c

1

2

3

4

5

6

console.info('a');

console.info('b');

setTimeout(() => {

    console.info('c');

}, 0);

console.info('d');

解析

JS 是单线程执行的,为了防止某段代码执行过久,产生阻塞,引入了异步。既然有异步就肯定有同步,在 JS 中同步任务进入主线程后立即执行,当主线程的任务执行完毕后,即主线程处于空闲状态时,才会读取事件队列中的任务,代码中 setTimeout 属于异步任务,其它属于同步任务立即执行

25.下列方式无法实现跨域通信的是?D

A.JSONP

B.WebSocket

C.CORS

D.Ajax

解析

A、B、C 均可实现跨域通信,除此之外还有 Hash 和 H5 新增的 postMessage() 可以实现跨域通信,Ajax 无法实现跨域通信。

26.请问以下 JS 代码最终输出的结果是(true、true)

1

2

3

4

5

function func1() {};

function func2() {};

func1.prototype = func2.prototype = {};

const son = new func1();

console.log(son instanceof func1, son instanceof func2);

解析

instanceof操作符用于检查一个对象是否属于某个特定的class,实例对象son由函数func1实例化得出,son instanceof func1自然是返回true,选项CD错误。

尽管实例对象son并非由函数func2实例化得到的,但是instanceof并不关心构造实例的函数,而是关心与原型链匹配的prototype,且son.__proto__ === func2.prototype,因此son instanceof func2将返回true

27.下列程序的输出结果是? 2 undefined 2

1

2

3

4

5

6

7

8

let func1 = (a, b) => a + b;

console.info(func1(1, 1));

let func2 = (a, b) => {a + b};

console.info(func2(1, 1));

let func3 = (a, b) => {return a + b};

console.info(func3(1, 1));

解析

考察 ES6 中的箭头函数,若箭头函数代码块部分没有大括号,默认返回表达式的结果,所以第一个输出应该为 2。若有大括号但是没有 return 语句,则没有任何返回值,所以第二个输出应为 undefined。若箭头函数代码块有大括号且有 return 语句,则返回结果,所以第三个输出为 2

28.'\\\\\\'.replace(new RegExp('\\\\\\\\', 'gi'), '/') 的执行结果是?  /\

解析

由于转义字符的原因,\\表示为一个\,RegExp('\\\\\\\\', 'gi')为一个正则匹配,含义如下

  1. \\\\\\\\

    • \\\\\\\\ 结果是在模式中是四个反斜杠,这将匹配文本中的两个反斜杠。
    • \\\\ 代表两个反斜杠。
    • \\ 在字符串中代表一个反斜杠。
  2. 标志'gi'

    • g - 全局匹配;找到所有匹配项,而不是在第一次匹配后停止。
    • i - 不区分大小写的匹配。

这个正则表达式的功能:

  • 它在文本中搜索任何两个反斜杠 (\\) 的出现。
  • 它会全局搜索整个字符串,忽略大小写(虽然反斜杠本身没有大小写之分)。

29.请问以下 JS 代码最终输出的结果是({go: ƒ}、window、window)

1

2

3

4

5

6

7

8

9

let method;

let obj = {

  go() {

    console.log(this);

  }

};

(obj.go)();

(method = obj.go)();

(obj.go || obj.stop)();

解析

(obj.go)()中的括号没有改变执行的顺序,点符号总是先执行,因此它可以认为是常规的调用对象方法,this指向对象obj下的go函数,选项D错误。

(method = obj.go)()其实可以拆成两步,第一步是对变量method赋值,第二步是在全局环境下单独调用method方法,因此this的指向是window,选项A错误。

同理,(obj.go || obj.stop)()因为表达式存在||,导致属性访问器转换为一个不包含允许设置this信息的普通值,也就是丢失了指向go函数的this值,因此this的指向也是window

30.编程题1-小美的密码

          小美准备登录美团,需要输入密码,小美忘记了密码,只记得密码可能是 𝑛n 个字符串中的一个。小美会按照密码的长度从小到大依次尝试每个字符串,对于相同长度的字符串,小美随机尝试,并且相同的密码只会尝试一次。小美想知道,她最少需要尝试多少次才能登录成功,最多需要尝试多少次才能登录成功。
          小美不会重新尝试已经尝试过的字符串。成功登录后会立即停止尝试。

输入描述

第一行输入一个整数 n (1≤n≤1000)代表密码字符串的个数。
第二行输入一个只由小写字母组成的字符串 (1≤∣s∣≤1000) 代表正确的密码。
接下来 n 行,每行输入一个长度不超过 1000 的字符串,代表小美记得的密码。

思路

不难,按照题意模拟即可

#include <bits/stdc++.h>
using namespace std;int n,ans;
string s,temp;
int cnt[1005]; //记录每个长度的不相同字符串个数
map<string,int> mp;int main() {cin>>n>>s;for(int i=0;i<n;i++){cin>>temp;//检查长度if(mp[temp]) continue;mp[temp]++;cnt[temp.size()]++;}// for(int i=1;i<=s.size();i++)//     cout<<cnt[i]<<" ";for(int i=1;i<s.size();i++){ans+=cnt[i];}ans++;cout<<ans<<" "<<ans+cnt[s.size()]-1;return 0;  
}

31.编程题2-小美的数组删除

小美有一个长度为 n 的数组 a1,a2,…,an ,他可以对数组进行如下操作:
● 删除第一个元素 a1​,同时数组的长度减一,花费为 x。

● 删除整个数组,花费为 k×MEX⁡(a) (其中 MEX⁡(a)表示 a 中未出现过的最小非负整数。例如 [0,1,2,4]的 MEX为3 )。

小美想知道将 a 数组全部清空的最小代价是多少,请你帮帮他吧。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T (1≤T≤1000) 代表数据组数,每组测试数据描述如下:
第一行输入三个正整数 n,k,x (1≤n≤2×10^5, 1≤k,x≤10^9)代表数组中的元素数量、删除整个数组的花费系数、删除单个元素的花费。

第二行输入 n 个整数 a1,a2,…,an (0≤ai≤n),表示数组元素。

除此之外,保证所有的 n 之和不超过 2×10^5。

思路

根据数据规模,遍历一次删除头部的花费情况,需要注意下更新MEX的方法。

#include <bits/stdc++.h>
using namespace std;const int N=2e5+10;
int T,n,k,x,a[N];int main() {cin>>T;while(T--){cin>>n>>k>>x;map<int,int> mp; //存储当前数组中每个数字对应的数量long long ans; //存储最优的花费int maxv; //当前数组中最小的未出现数for(int i=0;i<n;i++){cin>>a[i];mp[a[i]]++;}//初始化for(int i=0;i<=n;i++){ //这里最小出现的元素肯定是<=n的//找到没单个删除前当前最小未出现过的元素if(!mp[i]) {maxv=i;break;} }ans=maxv*k;long long temp=0;  //开始遍历每种情况for(int i=0;i<n;i++){//删除掉后的情况temp=(i+1)*x;mp[a[i]]--;//再次寻找maxvif(!mp[a[i]]){maxv=min(maxv,a[i]);}ans=min(ans,temp+maxv*k);}cout<<ans<<endl;}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025周易算命网站搭建详细方法+源码选择php环境的配置

以下是一个详细的搭建教程&#xff0c;包括网站分类、环境配置、程序设计和功能实现。 1. 环境准备 1.1 服务器选择 操作系统: Linux&#xff08;推荐使用Ubuntu或CentOS&#xff09;Web服务器: Nginx数据库: MySQLPHP版本: 7.4.x&#xff08;确保小于8.0&#xff09; 1.2 安…

【ABAP SAP】开发-BUG修补记录_采购申请打印时品名规格品牌为空

项目场景&#xff1a; TCODE:自开发程序ZMMF004 采购申请打印 问题描述 ZMMF004打印的时候&#xff0c;有的采购申请的品名、规格、品牌为空 原因分析&#xff1a; 1、首先我通过写SQL语句查底表来看这几条采购申请本身有无品名、规格、品牌 SQL语句如下&#xff0c;只需修…

人员离岗监测摄像机智能人员睡岗、逃岗监测 Python 语言结合 OpenCV

在安全生产领域&#xff0c;人员的在岗状态直接关系到生产流程的顺利进行和工作环境的安全稳定。人员离岗监测摄像机的出现&#xff0c;为智能人员睡岗、逃岗监测提供了高效精准的解决方案&#xff0c;而其中的核心技术如AI识别睡岗脱岗以及相关的算法盒子和常见的安全生产AI算…

Linux之条件变量,信号量,生产者消费者模型

Linux之条件变量&#xff0c;信号量&#xff0c;生产消费者模型&#xff0c;日志以及线程池 一.条件变量1.1条件变量的概念1.2条件变量的接口 二.信号量2.1信号量的重新认识2.2信号量的接口 三.生产者消费者模型3.1生产者消费者模型的概念3.2基于阻塞队列的生产者消费者模型3.3…

Leecode刷题C语言之K次乘法运算后的最终数组①

执行结果:通过 执行用时和内存消耗如下&#xff1a; 代码如下&#xff1a; int* getFinalState(int* nums, int numsSize, int k, int multiplier, int* returnSize) {int *ret (int *)malloc(sizeof(int) * numsSize);memcpy(ret, nums, sizeof(int) * numsSize);while (k…

配置中心 选型 : Apollo Vs. Nacos Vs. spring cloud config

为什么我们需要一个微服务配置中心&#xff1f; 首先&#xff0c;我们可以想象下&#xff0c;如果没有配置中心&#xff0c;我们的项目可能是这样的&#xff1a;不同环境的配置文件都放在项目里面&#xff0c;部署时可以通过启动参数来指定使用哪个环境的配置。 这种方式有两…

LAVE——基于大语言模型的新型代理辅助视频编辑工具允许用户根据自己的编辑风格进行调整

概述 论文地址&#xff1a;https://arxiv.org/abs/2402.10294 视频是一种非常强大的交流和讲述故事的媒介。随着社交媒体和视频共享平台的出现&#xff0c;视频的受欢迎程度直线上升&#xff0c;许多人都在制作和分享自己的内容。然而&#xff0c;对于初学者来说&#xff0c;视…

【Vulkan入门】09-CreateFrameBuffer

目录 先叨叨git信息关键代码VulkanEnv::FindHostVisitbaleMemoryTypeIndex()TestPipeLine::CreateFramebuffers() 与网上大多数文章不同&#xff0c;其他文章基本上都使用窗口框架&#xff08;X11、GLFW、WSL等&#xff09;提供的surface来显示Vulkan渲染出的图像。我认为那样会…

题目 1688: 数据结构-字符串插入

第一种方式字符串 #include<iostream> #include<cstring> #include<algorithm> using namespace std; int main(){string s1,s2;int n;cin>>s1>>s2>>n;s1.insert(n-1,s2);cout<<s1<<endl;return 0; } 第二种方式字符数组 …

【KodExplorer】可道云KodExplorer-个人网盘安装使用

说明&#xff1a;安装kodExplorer &#xff08;不是Kodbox&#xff09;&#xff1b;Kodbox需求服务器至少2核4G内存&#xff0c;要求环境具备php/redis/mysql/。安装kodExplorer 就是比较方便简单部署&#xff0c;个人版免费。 一、安装环境需求 服务器: Windows&#xff0c;…

在服务器(linux系统)安装anaconda

按照官方教程操作即可 1.下载anaconda3&#xff0c;选择对应版本 curl -O https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh2.安装anaconda bash ~/Anaconda3-2024.06-1-Linux-x86_64.sh一直按“enter”键查看协议&#xff0c;然后选择“yes”即可。…

使用 WebRtcStreamer 实现实时视频流播放

WebRtcStreamer 是一个基于 WebRTC 协议的轻量级开源工具&#xff0c;可以在浏览器中直接播放 RTSP 视频流。它利用 WebRTC 的强大功能&#xff0c;提供低延迟的视频流播放体验&#xff0c;非常适合实时监控和其他视频流应用场景。 本文将介绍如何在Vue.js项目中使用 WebRtcSt…

建立基于TCP的客户端和服务端

函数介绍&#xff1a; 1.socket() 作用&#xff1a;创建套接字 domain: AF_INET&#xff1a;IPv4 Internet 协议族。AF_INET6&#xff1a;IPv6 Internet 协议族。AF_UNIX&#xff1a;Unix 域协议族&#xff0c;用于在同一台主机上的进程间通信。 type: SOCK_STREAM&#xff1a…

SQL语句在MySQL中如何执行

MySQL的基础架构 首先就是客户端&#xff0c;其次Server服务层&#xff0c;大多数MySQL的核心服务都在这一层&#xff0c;包括连接、分析、优化、缓存以及所有的内置函数&#xff08;时间、日期、加密函数&#xff09;&#xff0c;所有跨存储引擎功能都在这一层实现&#xff1…

轻量化特征融合 | 一种基于增强层间特征相关性的轻量级特征融合网络 | 北理工新作

论文题目&#xff1a;A Lightweight Fusion Strategy With Enhanced Interlayer Feature Correlation for Small Object Detection 论文链接&#xff1a;https://ieeexplore.ieee.org/abstract/document/10671587 giuhub&#xff1a;https://github.com/nuliweixiao/EFC 关键词…

vue2+element-ui实现多行行内表格编辑

效果图展示 当在表格中点击编辑按钮时:点击的行变成文本框且数据回显可以点击确定按钮修改数据或者取消修改回退数据: 具体实现步骤 1. 行数据定义编辑标记 行数据定义编辑标记 当在组件中获取到用于表格展示数据的方法中,针对每一行数据添加一个编辑标记 this.list.f…

docker简单私有仓库的创建

1&#xff1a;下载Registry镜像 导入镜像到本地中 [rootlocalhost ~]# docker load -i registry.tag.gz 进行检查 2&#xff1a;开启Registry registry开启的端口号为5000 [rootlocalhost ~]# docker run -d -p 5000:5000 --restartalways registry [rootlocalhost ~]# dock…

使用 GD32F470ZGT6,手写 I2C 的实现

我的代码&#xff1a;https://gitee.com/a1422749310/gd32_-official_-code I2C 具体代码位置&#xff1a;https://gitee.com/a1422749310/gd32_-official_-code/blob/master/Hardware/i2c/i2c.c 黑马 - I2C原理 官方 - IIC 协议介绍 个人学习过程中的理解&#xff0c;有错误&…

VSCode,Anaconda,JupyterNotebook

文章目录 一. 下载VSCode并安装二. 下载Anaconda并安装1. anaconda介绍2. Anaconda的包管理功能3. Anaconda的虚拟环境管理4.Jupyter Notebook5. Jupyter Notebook使用简介6. Jupyter Notebook快捷键7.Jupyter notebook的功能扩展8. Jupyter notebook和Jupyter lab的区别 三. V…

【安全研究】某黑产网站后台滲透与逆向分析

文章目录 x01. 前言x02. 分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与…