阿里云技能测试数据库初级中级高级

初级(90)

涉及知识点:具备数据库基础知识,了解数据库的分类,具备安装MySQL数据库的能力,掌握MySQL数据类型知识,基本了解常用SQL语句,对阿里云数据库产品有基本认知。
成绩:90(https://developer.aliyun.com/exam/result/975323)
错题和原因:
多选 16.数据库性能下降,执行时间长,等待时间长,可能的原因是?

1
2
3
4
A. 查询语句写的不好
B. 索引失效
C. 关联查询太多join
D. 服务器参数未调优

选择:ACD,数据变大会导致执行时间长,所以ACD应该都是说得通的,毕竟小数据量再烂的sql也能跑挺快,一旦数据量变大,才会暴露出问题
答案:不明,

多选 17.在数据库中,一个关系通常具有的性质是()。

1
2
3
4
A. 属性的顺序并不重要。
B. 每个属性都有一个不同的名字。
C. 同一关系模式中各关系可以重名。
D. 各元组互不相同,不存在重复元组。

选择:AB,个人理解关系型数据库的关系,就是表,所以按照表的性质回答的
答案:不明

中级(90)

涉及知识点:可对MySQL数据库进行备份与恢复,熟练的使用SQL语句进行单表多表查询等操作,快速上手阿里云RDS MySQL数据库。了解常见NOSQL数据库,如MongoDB、Redis等的概念、安装、配置。
成绩:90(https://developer.aliyun.com/exam/result/975505)
错题和原因:
1.查询语句select * from table where name not like ‘%[0-9]%’表示:

1
2
3
4
A. 查询name字段中含有数字的。
B. 查询name字段中不包含有数字的。
C. 查询name字段中首尾字符不包含有数字的。
D. 查询name字段仅包含数字的。

选择A,审题错误,not like
答案:B

单选 15.MySQL中如何把查询的name字符串转换为小写输出?

1
2
3
4
A. SELECT LenCASE(name) AS name
B. SELECT Low(name) AS name
C. SELECT LCASE(name) AS name
D. SELECT LowCASE(name) AS name

选择D
答案:B,查了下应该是lower,而不是Low感觉是题目答案有问题

高级(65)

涉及知识点:掌握MySQL高级技巧,包括索引策略、存储引擎,熟悉MySQL锁机制,MySQL主从复制,熟练掌握日常SQL诊断和性能分析工具和策略。可对云数据库备份恢复与监控、安全策略、性能优化。
成绩:65(https://developer.aliyun.com/exam/result/975334)
错题和原因:

单选 2.在嵌套查询中,db.students.find({“$and”:[{“age”:{“$gte”:19}},{“parents”:{“$elemMatch”:{“job”:”局长”}}}]);可以查出?

1
2
3
4
A. 查询出年龄19岁的学生,父母都是局长的信息
B. 查询出年龄19岁的学生,父母有人是局长的信息
C. 查询出年龄大于19岁的学生,父母都是局长的信息
D. 查询出年龄大于19岁的学生,父母有人是局长的信息

选择D,gte应该是大于等于,所以AB不对(当然CD也不对,但是感觉是笔误了),elemMatch这个没用过,D不对就是C吧
答案:估计C

单选 9.下列哪个是MySQL的慢查询日志分析工具的用法?

1
2
3
4
A. mysqlslow -h
B. mysqlslowlog -h
C. mysqldumpslow -h
D. mysqllowslow -h

选择:B,较少使用,一般是查看sql的执行计划是否充分使用了索引
答案:C

单选 11.MongoDB库中,年龄19岁的学生有5个,如果要将他们的成绩全部改成100分,以下哪个语句是正确的。

1
2
3
4
A. db.students.update({"age":19},{"$set":{"score":100}},true,true);
B. db.students.update({"age":19},{"$set":{"score":100}},false,false);
C. db.students.update({"age":19},{"$set":{"score":101}},false,true);
D. db.students.update({"age":19},{"$set":{"score":102}},true,false);

选择A
答案B,忘记后面true和false的含义了,
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

单选 12.要删除王五的语文、英语、政治三门课程,MongoDB的命令行语句可以怎么写?

1
2
3
4
A. db.students.update({"name":"王五"},{"$pop":{"course":["语文","数学,"政治"]}});
B. db.students.update({"name":"王五"},{"$unset":{"course":["语文","数学,"政治"]}});
C. db.students.update({"name":"王五"},{"$pullAll":{"course":["语文","数学,"政治"]}});
D. db.students.update({"name":"王五"},{"$pull":{"course":["语文","数学,"政治"]}});

选择A,一般使用remove,很少用update来删除
答案:B

13.在MongoDB中,$push相当于将内容追加到指定的成员之中,基本是数组。

1
2
正确
错误

选择:错误
答案:正确

多选 18.以下可以进行查询parents成员是否存在的数据语句是?

1
2
3
4
A. db.getCollection('students').find({"parents":{"$exists":true}})
B. db.getCollection('students').find({"parents":{"$exists":false}})
C. db.students.find({"parents":{"$exists":true}})
D. db.students.find({"parents":{"$exists":false}})

选择C
答案:不明

19.Redis常见的应用场景是?

1
2
3
4
A. 游戏
B. 社交
C. 抢红包
D. 远程手术

选择AC,内存数据库,大多用户实时性较高的场景,肯定有C,其次游戏应该也算吧,
答案:不明

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×