青岛做网站建设哪家好,网站开发软件科技公司,徐州网站无障碍建设,wordpress 文章页404百度23届秋招研发岗A卷 2024/12/16
1.下面关于 SparkSQL 中 Catalyst 优化器的说法正确的是#xff08;ABC#xff09;
A.Catalyst 优化器利用高级编程语言功能#xff08;例如 Scala 的模式匹配#xff09;来构建可扩展的查询优化器
B.Catalyst 包含树和操作树的规则集…百度23届秋招研发岗A卷 2024/12/16
1.下面关于 SparkSQL 中 Catalyst 优化器的说法正确的是ABC
A.Catalyst 优化器利用高级编程语言功能例如 Scala 的模式匹配来构建可扩展的查询优化器
B.Catalyst 包含树和操作树的规则集
C.Catalyst 有不同的规则集处理不同的查询阶段
D.Catalyst 没有特定的库来处理关系查询
2.编程题-小红走矩阵
小红拿到了一个字符矩阵矩阵仅由r、e、d三种字符组成。她初始站在左上角每次可以走到一个相邻的字符上每个字符上、下、左、右最多4个相邻。但有个限制小红不能从r走到d从e走到r从d走到e其他情况都能走。 小红想知道从左上角走到右下角至少需要多少步
#include bits/stdc.husing namespace std;/*
思路
类似于迷宫问题最少移动步数 bfs寻找最优解
*/int n,m;
char g[505][505];
bool vis[505][505];
int dx[4]{-1,0,1,0},dy[4]{0,1,0,-1};struct node{int x,y,cnt250001; //从原点到该位置的最短步数
};//检查是否可以由b得到a
bool check(char a,char b){if((adbr)||(arbe)||(aebd)) return false;return true;
}
int bfs(int x,int y){queuenode q;q.push({x,y,0});vis[x][y]1;while(!q.empty()){node nowq.front(); q.pop();if(now.xnnow.ym) return now.cnt;for(int i0;i4;i){int nexnow.xdx[i],neynow.ydy[i];if(nex0||nexn||ney0||neym) continue;if(!vis[nex][ney]check(g[nex][ney],g[now.x][now.y])){//可以移动q.push({nex,ney,now.cnt1});vis[nex][ney]1;}}}return -1;
}
int main() {cinnm;for(int i1;in;i){string s;cins;for(int j0;jm;j){g[i][j1]s[j];}}coutbfs(1,1);return 0;
}
3.下面关于 Spark 的说法错误的是AD
A.RDD 的特点可分区、可序列化、可修改
B.Spark Job 默认的调度模式是 FIFO
C.Spark 比 MapReduce 框架性能快
D.Spark R 是 Spark 的四大组件之一
解析
RDD 的特点可分区、可序列化、可持久化不可修改
Spark 的四大组件1、SparkStreaming针对实时数据进行流式计算的组件2、SparkSQL用来操作结构化数据的组件3GraphXSpark面向图计算提供的框架与算法库4MLlib一个机器学习算法库。
4.如下4个选项表示了四种入栈次序以及最少需要的栈空间len最后保证都可以得到出栈序列“sequence”len值错误的是C
A.cneuqese 7
B.uqeseecn 4
C.seecneuq 5
D.eneesquc 5
5.一组记录的关键码为21,88,19,45,13,25,66,33,18则利用快速排序的方法以第一个记录为基准从小到大排序得到的一次划分结果为B
A.18,13,19,21,45,25,66,88,33
B.18,13,19,21,45,25,66,33,88
C.18,13,19,45,21,25,66,33,88
D.18,13,19,21,25,45,33,66,88
解析
首尾分别设置指针i和j与基准元素比较如果j指向元素小于基准那么将j指向元素交换到前面然后切换到i指针同理比较如果j指向元素大于等于基准那么位置不变j--。
6.给定数组 [1,5,11,30,45,47,47,50]若要查找某一元素是否存在使用二分查找则至多需要查找4次。
7.当一个 B 类地址的子网掩码为 255.255.252.0每个子网最多可以有多少主机数 当一个 C 类地址的子网掩码为 255.255.255.252每个子网最多可以有多少主机数1022,2
8.小明居家办公时需要将计算机本地的ssh公钥文件id_rsa.pub安装到实验室远程主机rootip 地址为192:168:7:2对应的账户下可以通过以下哪个命令完成C
A.ssh-add -i ~/.ssh/id_rsa.pub root192.168.7.2
B.ssh-agent -i ~/.ssh/id_rsa.pub root192.168.7.2
C.ssh-copy-id -i ~/.ssh/id_rsa.pub root192.168.7.2
D.ssh-keygen -i ~/.ssh/id_rsa.pub root192.168.7.2
解析
本题考查Linux的系统安全。
ssh-add适用于把专用密钥添加到ssh-agent的高速缓存中A错误。
ssh-agent适用于保存公钥身份验证所使用的私钥B错误。
ssh-copy-id可以把本地的ssh公钥文件安装到远程主机对应的账户下C正确。
ssh-keygen适用于ssh生成、管理和转换认证密钥D错误。
9.下列所给选项中哪个不是MBR的组成部分A
A.开始标志
B.主引导程序
C.分区表
D.结束标志
解析
本题考查Linux的磁盘管理。
MBR主引导记录Master Boot Record由3个部分组成
1主引导程序负责从活动分区中装载并运行系统引导程序B选项包括
2分区表含4个分区项每个分区表项长16字节C选项包括
3结束标志占2个字节固定为55AAD选项包括。
MBR是位于磁盘最前边的一段引导没有开始标志故题解为A。
10.牛牛系统中现在有三个进程分别是牛1、牛2和牛3这三个进程共享同一个缓冲区来完成消息处理牛1负责把消息放入缓冲区牛2负责在缓冲区中对消息进行加工牛3负责把消息从缓冲区读出现请问牛1和牛3之间的制约关系是互斥和同步关系、
解析
并发进程因为共享资源而产生相互之间的制约关系可以分为两类
①互斥关系指进程之间因相互竞争使用独占型资源(互斥资源)所产生的制约关系
②同步关系指进程之间为协同工作需要交换信息、相互等待而产生的制约关系。
本题中两个进程之间的制约关系是同步关系进程牛3必须在进程牛1将数据放入缓冲区后才能从缓冲区中读出数据。
此外共享缓冲区是互斥访问的所以它们也具有互斥关系。
11.关于下面 C 代码的执行结果说法正确的是CD 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 #include iostream class Test { public: Test() default; ~Test() { std::cout ~Test std::endl; } void print1() { std::cout print1 std::endl; } virtual void print2() { std::cout print2 std::endl; } }; int main() { { Test *t nullptr; t-print1(); t-print2(); } std::cout Im OK std::endl; return 0; }
A.程序输出中包含 ~Test
B.程序使用空指针调用 print1因此会崩溃
C.程序使用空指针调用 print2因此会崩溃
D.如果将 virtual 去掉那么程序就能正常执行
解析
本题考察对象成员函数和虚函数的理解。
Test() default; 表示编译器会自动生成一个默认构造函数这个构造函数不接受任何参数也不执行任何操作。
~Test() 是析构函数当一个 Test 类的对象被销毁时例如对象超出作用域、被删除等情况这个析构函数就会被调用。
print1 是一个普通成员函数保存在代码区编译后已经存在且没有使用类中的任何成员因此可以使用空指针调用
print2 是一个虚函数通过虚函数表进行定位而虚函数表的指针需要对象创建才有因此空指针调用虚函数无法找到虚函数表会出现异常
如果将 print2 变为普通函数那么就可以正常使用print2 也没有使用任何类成员。因此 D 选项正确。
12.下列说法中错误的是BD
A.不可以将构造函数声明为虚函数
B.当构造一个对象时先执行构造函数体内的内容再初始化各个成员变量
C.构造函数不能带返回值也不能返回void
D.类成员变量初始化顺序由构造函数初始化列表顺序决定
解析
构造函数不能被声明为虚函数因为虚函数的调用依赖于虚表vtable而虚表是在对象构造完成后才被设置好的。因此构造函数不能是虚函数。
B选项当构造一个对象时先初始化各个成员变量再执行构造函数体内的内容D选项类成员变量初始化顺序由成员变量在类定义中的声明顺序决定的
构造函数不返回任何值甚至连void也不能作为返回类型。构造函数的目的是初始化对象而不是返回值。
13.在 C 中以下关于静态成员函数与普通成员函数区别说法正确的是ABC
A.普通成员函数有 this 指针
B.普通成员函数可以访问类中任意成员
C.静态成员函数没有 this 指针
D.静态成员函数可以访问类中任意成员
解析
A. 普通成员函数有this指针正确。普通成员函数非静态成员函数确实有一个隐含的this指针它指向当前对象。这个this指针是成员函数的第一个参数虽然它不需要在函数参数列表中显式声明。
B. 普通成员函数可以访问类中任意成员正确。普通成员函数可以访问类中的任意成员包括静态成员和非静态成员。
C. 静态成员函数没有this指针正确。静态成员函数没有this指针因为静态成员函数不属于任何特定的对象它们属于类本身。
D. 静态成员函数可以访问类中任意成员错误。静态成员函数只能访问静态成员变量和其他静态成员函数。它不能直接访问非静态成员变量因为非静态成员变量属于对象而静态成员函数不属于任何特定的对象。
20.在Linux中有一个名为test的文件如下所示执行awk {print $NF} test命令将输出 1,2,3,4
5,6,7,8
9,10,11,12
end test1 1,2,3,4 test2 5,6,7,8 tet3 9,10,11,12 tst4 13,14,15,16 end 解析
awk {print $NF} 是一个 awk 命令用于打印每行的最后一个字段。
这里的 $NF 是一个特殊变量表示当前行的最后一个字段
当你运行这个命令时awk 会读取输入的每一行分割成字段默认使用空白字符作为分隔符然后打印每行的最后一个字段。
14.查询student_table中男生、女生的平均年龄忽略age为NULL的记录以下正确的是B
表中全部记录如下 1 2 3 4 5 6 7 8 9 10 ------------------------------------------ | id | name | birth | sex | age | ------------------------------------------ | 1005 | | | NULL | 21 | | 1006 | 王五 | 2000-08-06 | 女 | NULL | | 1008 | 张三 | 2002-12-01 | 女 | 20 | | 1010 | 李四 | 2001-01-01 | 男 | 23 | | 1011 | 李四 | 2002-08-06 | 女 | 23 | | 1012 | 张三 | 2001-12-01 | 女 | 20 | | 1013 | 赵六 | 2000-09-06 | 男 | NULL |
A.SELECT sex ,average(age) FROM student_table WHERE sex IS NOT NULL GROUP BY sex ;
B.SELECT sex ,avg(age) FROM student_table WHERE sex IS NOT NULL GROUP BY sex ;
C.SELECT sex ,sum(age)/count(*) FROM student_table WHERE sex IS NOT NULL GROUP BY sex ;
D.SELECT sex ,sum(age)/count(sex) FROM student_table WHERE sex IS NOT NULL GROUP BY sex ;
解析
CD错误count(*)是全部记录count(sex) 是sex不为NULL的记录需要用【sum(age)/count(age)】才正确avg默认不计入NULL
15. 如果要选择Student_A和Student_B表中公共部分并按照class_id降序输出请问该如何补全以下这段SQL语句A注明只需要输出Student_A或Student_B的student_id和student_name字段SELECT student_id, student_name FROM Student_A __________________;
A.INTERSECT SELECT student_id, student_name FROM Student_B ORDER BY class_id DESC
B.EXCEPT SELECT student_id, student_name FROM Student_B ORDER BY class_id DESC
C.INTERSECT SELECT student_id, student_name FROM Student_B ORDER BY class_id
D.NOT INTERSECT SELECT student_id, student_name FROM Student_B ORDER BY class_id DESC
解析
可以使用INTERSECT获取两个集合中公共部分。
A选项正确B选项使用的是EXCEPT表示差集不符合题意C选项是升序排序不符合题意D选项为非公共部分不符合题意故本题选择A。
16.下列关于SQL的描述错误的是D
A.SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统RDBMS
B.SQL 的范围包括数据插入、查询、更新和删除数据库模式创建和修改以及数据访问控制
C.关系型数据库中虽然存在着多种不同版本的 SQL 语言但它们都以相似的方式共同地来支持一些主要的命令比如 SELECT、UPDATE、DELETE、INSERT、WHERE
D.Mysql、Oracle、Redis都是关系型数据库都有相应的SQL语言
解析
Mysql和Oracle数据库是典型的关系型数据库但Redis是非关系型数据库是一个遵守BSD 协议的高性能的 key-value 键值对类型的数据库