【Linux】广州Y行信用卡中心大数据部数据开发岗笔试题
1.SELECT语句的完整语法比较复杂,但至少包括的部分:(B)
A.SELECT INTO
B.SELECT FROM
C.SELECT GROUP
D.仅SELECT
2.SELECT语句的完整语法比较复杂,使用关键字(A)可以把重复行屏蔽。
A.DISTINCT
B.UNION
C.ALL
D.TOP
3.将多个查询结果返回一个结果集合的运算时,使用:B
A.JOIN
B.UNION
C.INTO
D.LIKE
4.如果在SELECT语句中使用聚合函数时,一定在后面使用:(A)
A.GROUP BY
B.COMPUTE BY
C.HAVING
D.COMPUTE
5.若用如下的SQL语句创建表SC:
CREATE TABLE SC(S CHAR(6) NOT NULL,C CHAR(3) NOT NULL,SCORE INTEGER,NOTE VARCHAR(20)),
向SC表插入如下行时,(B)行可以被插入。
A.('201009','111',60,必修)
B.('200823','101',NULL,NULL)
C.(NULL,'103',80,'选修')
D.('201132',NULL,86,'')
6.分析以下的SQL语句,执行的返回结果是(C):
SELECT MANU_ID
FROM INVENTORY
WHERE MANU_ID LIKE '%N\%P\%O%' ESCAPE '\';'
A.所有包含'NPO'记录
B.所有包含'N\P\O'记录
C.所有包含'N%P%O'记录
D.所有包含'%N\P\O%'记录
7.以下SQL哪行有错误:(C)
SELECT DEPT_NO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(DEPT_NO)=
(SELECT MAX(COUNT(DEPT_NO))
FROM EMP
GROUP BY DEPT_NO
);
A.3
B.4
C.5
D.7
E.都没错
8.Oracle以下(A)语句从表TABLE_NAME中按字段COUNT_CNT倒序提取前10条记录。
A.SELECT * FROM (SELECT * FROM TABLE_NAME ORDER BY COUNT_CNT DESC NULLS LAST) T WHERE ROWNUM<=10;
B.SELECT * FROM TABLE_NAME WHERE ROWNUM<=10;-- 未排序,直接提取原表逻辑结构前10条记录
C.SELECT * FROM TABLE_NAME WHERE ROWNUM<=10 ORDER BY COUNT_CNT DESC NULLS LAST;-- 先按原表逻辑结构提取前10条记录再倒序排序
D.SELECT TOP 10 FROM TABLE_NAME ORDER BY COUNT_CNT DESC;-- Oracle不支持select top语句
9.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。
要查询选修“数据库”课程的全体男生姓名的SQL语句是:SELECT SNAME FROM S,C,SC WHERE(A):
A.S.S#=SC.S# AND C.C#=SC.C# AND S.SEX='男' AND C.CNAME='数据库';
B.S.S#=SC.S# AND C.C#=SC.C# AND S.SEX IN '男' AND C.CNAME IN '数据库';
C.S.SEX='男' AND C.CNAME='数据库';
D.S.SEX IN '男' AND C.CNAME IN '数据库';
10.HAVING和WHERE子句以及GROUP BY可以在同一SELECT语句中使用,其正确的先后顺序是(A)
A.WHERE,GROUP BY,HAVING
B.WHERE,HAVING,GROUP BY
C.HAVING,GROUP BY,WHERE
D.GROUP BY,WHERE,HAVING
11.以下SQL返回的运行结果(C)
SELECT CASE WHEN NULL=NULL THEN 'Yup' ELSE 'Nope' END AS RESULT FROM DUAL;
A.NULL
B.Yup
C.Nope
12.在Oracle数据库的逻辑结构中有以下组件:
A.表空间 B.数据块 C.区 D.段
这些组件从大到小的顺序依次是:(B)
A.A->B->C->D
B.A->D->C->B
C.A->D->B->C
D.D->A->C->B
13.在发出启动数据库的命令,实例和数据库经过怎样的过程最终打开?(B)
A.OPEN,NOMOUNT,MOUNT
B.NOMOUNT,MOUNT,OPEN
C.MOUNT,OPEN,NOMOUNT
D.NOMOUNT,OPEN,MOUNT
14.UNIX环境下显示进程相关的命令是(A)
A.ps
B.su
C.ln
D.kill
15.UNIX环境下改变文档和目录属性的命令是(A)
A.chown
B.chmod
C.chgrp
D.touch
16.UNIX环境下分页方式查看文件内容的命令是(C)
A.ls
B.cat
C.more
D.touch
17.假如需要找出/etc/my.conf文件属于哪个包,可以执行:(C)
A.rpm -q /etc/my.conf
B.rpm -requires /etc/my.conf
C.rpm -qf /etc/my.conf
D.rpm -q|grep /etc/my.conf
18.在bash中,export命令的作用是(C)
A.在子shell中执行命令
B.使在子shell中可以使用命令历史记录
C.为其他应用程序设置环境变量
D.提供NFS分区给网络中的其他系统使用
19.如果你的umask设置为022,默认创建新文件权限为(C)
A.-rw-r--r--
B.-rwxr--r--
C.-rwxr-xr-x
D.-rw-r--r-x
20.哪个命令用来显示系统各个分区中inode的使用情况(A)
A.df -i
B.df -H
C.free -b
D.du -a -c /
21.如何删除一个非空子目录/tmp/20190501(B)
A.del /tmp/20190501/*
B.rm -rf /tmp/20190501
C.rm -rf /tmp/20190501/*
D.rm -ra /tmp/20190501/*
22.对所有用户的变量设置,应该放在哪个文件下(A)
A./etc/profile
B./etc/bashrc
C.~/.bash_profile
D./etc/skel/.bashrc
23.在vi中退出不保存的命令是(D)
A.:q
B.:w
C.:wq
D.:q!
24.Oracle数据库,有哪几类索引,分别有什么特点?
B-Tree索引;位图索引;特定于该列只有几个枚举值的情况;函数的索引:经常对某个字段的查询带有函数操作;
分区索引和全局索引:适用于分区表
25.Union与Union All的区别?
Union对结果集去重,执行效率比Union all低;Union all不会去重,执行效率比Union高。
26.表tab中有100W行记录,主键为字段id,其中有100条重复记录,请写出快速删除重复数据的脚本。
delect from tab
where rowid in
(select max(rowid) from tab
group by id
having count(1)>=2);
27.假设有表Customers,数据如下:
Id | Name | ReferredBy |
1 | John Doe | NULL |
2 | Jane Smith | NULL |
3 | Anne Jenkins | 2 |
4 | Eric Branford | NULL |
5 | Pat Richards | 1 |
6 | Alice Barnes | 2 |
请查出ReferredBy<>1的记录。
--ReferredBy为数字类型
select c.* from Customers c
minus
select c.* from Customers c
where c.ReferredBy=1;
--ReferredBy为字符类型
select c.* from Customers c
where c.ReferredBy<>'1';
28.假设有商品表goods,数据如下:
Good_type | goods_name | price | goods_flag |
手机 | 华为 | 2999 | |
手机 | 苹果 | 7999 | |
手机 | 荣耀 | 2399 | |
水果 | 车厘子 | 79 | |
水果 | 葡萄 | 18 | |
水果 | 苹果 | 12 | |
电脑 | 金士顿16G | 499 |
…………
根据商品大类Goods_type对商品金额price从小到大排序,
前20%为低档,20%~85%为中档,于85%为打上标。
-- 三个子查询,一个表
select g.*,
case when rownum<=(select count(*) from goods)*0.2 then '低档'when rownum>=(select count(*) from goods)*0.85 then '高档'else '中档' end as goods_flag
from (select * from goods order by price) g
-- 两个子查询,两个表
select g.*,
case when rownum<=c.cnt*0.2 then '低档'when rownum>=c.cnt*0.85 then '高档'else '中档' end as goods_flag
from (select * from goods order by price) g,(select count(*) as cnt from goods) c;
29.Linux检查一个端口是否被占用的命令是?一旦被占用如何解决这个问题?
lsof -i:端口号
netstat -ntulp | grep 端口号
显示该被占用端口号对应的PID号,
使用kill -9 PID杀死进程。
30.Linux新建一个文件有哪些命令可以实现?
cat>文件名
touch 文件名
31.Linux查看进程和调度的命令分别是什么?
查看进程:ps -ef
调度:crontab -l
32.用shell脚本实现:把一个目录(/tmp)下的文件夹去出,并保存到/tmp/dirlist.txt中。
ls -ltr /tmp/|grep ^d >/tmp/dirlist.txt
for file in 'ls /tmp/'do if [-d /tmp/$file ]then echo $file >>/tmp/dirlist.txt n done
33.文件路径/data/in/下有业务系统上传的数据,文件格式为“文件类型_工号_上传日期.zip”,文件列表如下:
请使用shell脚本列出日期20181215所有上传人员的名单。
ls /data/in/shuju_*_20181215.zip|awk -F _'{print $2}'
注:客观题(选择题)答案全对,主观题27、28已测试验证,但28缺少用UPDATE的题解,如有错误和如需补充望指正。
原文地址:https://blog.csdn.net/Paladin_Roland/article/details/113620185
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:【数据库】【Linux】广州Y行信用卡中心大数据部数据开发岗笔试题