阿里java编码规范考试总结
前几天,考了阿里编码规范刚好80险过,总结出以下例题,答案有错,欢迎评论
1.关于方法的返回值是否可以为null,下列说法正确的是(bcd)
a.方法的返回值可以为null,如果是集合,必须返回空集合
b.方法的返回值可以为null,不强制返回空集合,或者空对象等
c.方法实现者必须添加注释,充分说明什么情况下会返回null值
d.防止npe是调用者的责任
2.如何处理单元测试产生的数据,下列说法正确的是(ac)
a.测试数据入库时加特殊前缀标识
b.测试数据使用独立的测试库
c.自动回滚单元测试产生的脏数据
d.无须区别,统一在业务代码中进行判断和识别
3.关于count相关的使用,下列哪些说法符合阿里巴巴java规范 (acd)
a.不要使用count(列名)或count(常量)来替代count(*)
b.count(列名)会统计值为null的行,而count(*)不会统计
c.当某一列的值全是null时,count(列名)返回0
d.在程序代码中写分页查询逻辑是,若count为0应直接返回。以避免执行后面的查询
4.数组使用arrays.aslist转化为集合,下列说法哪些是正确的:(acd)
a.数据元素的修改,会影响到转化过来的集合
b.数组元素的修改,不会影响到转化过来的集合
c.对于转换过来的集合,它的add/remove/clear方法会抛出: unsupportedoperationexception 异常
d.arrays.aslist体现的是适配器模式,只是转换接口,后台的接口仍是数组
5.关于异常处理,下列哪些说法是正确的:(abcd)
a.try块放到了事务代码中,catch异常后,如果需要回滚事务,必须手动回滚事务
b.在finally块必须对文件秀进行关闭
c.不能在finally使用return,fanally块中的return返回方法结束执行,不会再执行 try 块中的 return 语句
d.循坏体中避免不必要的try-catch操作
6.对于索引的基本原理,下列哪些说法是正确的: abcd
a.索引的数据结构主要有b-tree,hash,r-tree,full-text等
b.从物理存储来看,主要分为聚集和非聚集
c.mysql的表是聚集索引组织表(index of table)
d.聚集索引的叶子节点存放的是数据,非聚集索引的叶子节点存放的瑟吉欧非聚集索引的key和主键的值
暂未找到相关资料,个人觉得全对
7.关于二方库的snapshot与release的区别,下列哪些说法是正确的(abd)
a.snapshot在本地编译时,都会到*库下载最新的二方库
b.release在本地编译时,如果已经存在相同的版本号,即使*仓库有最新相同版本的二方库也不会拉取
c.应用使用了a的release版本的二方库,a依赖了b的snapshot二方库,应用本地编译时,并不会拉取b最新的snapshot的jar
d.应用发布尽量使用release版本的二方库,此举是为了保证发布的冥等性
8.下列哪些说法符合阿里巴巴java开发手册:abcd
a.在使用正则表达式时,利用好其预编功能,可以有效加快正则匹配速度
b.在jdk8中,针对统计时间等场景,推荐使用instant类
c.尽量不要在vm中加入变量声明,逻辑运算符,更不要在vm模板中加入任何复杂的逻辑
d.后台输送给页面的变量必须加$!{var}----中间的感叹号
9.关于分页查询,下列哪些说法符合阿里巴巴java开发手册 abc
a.分页查询,当统计的count为0时,应直接返回,不要在执行分页查询语句
b.ibatis自带的queryforlist(stirng statemenname,int start,int size)分页接口有隐性隐患,不允许使用
c.定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑
d.可使用存储过程写分页逻辑,提高效率。
10.针对tcp协议。下列哪些说法是正确的: cd
a.tcp链接主动关闭的一方,在完成四次挥手协议后,即会立即关闭并释放socket
b.处于time_wait状态的socket,其实是已经关闭状态,当需要新建连接时,可以被马上复用
c.当大量的socket处于time-wait状态是,会导致可用的socket资源稀缺,从而导致服务器并发能力下降
d.通过修改/etc/syscti.conf配置文件,减小time_wait的超时时间,可以降低time_wait状态的socket数量
上一篇: js中const,var,let区别
下一篇: 滋补上品乌枣的功效和食用禁忌有哪些?