阿里java编码规范考试总结

 

 

 

前几天,考了阿里编码规范刚好80险过,总结出以下例题,答案有错,欢迎评论

1.关于方法的返回值是否可以为null,下列说法正确的是(BCD)

A.方法的返回值可以为null,如果是集合,必须返回空集合

B.方法的返回值可以为null,不强制返回空集合,或者空对象等

C.方法实现者必须添加注释,充分说明什么情况下会返回null值

D.防止NPE是调用者的责任

阿里java编码规范考试总结_第1张图片

 

 2.如何处理单元测试产生的数据,下列说法正确的是(AC)

A.测试数据入库时加特殊前缀标识

B.测试数据使用独立的测试库

C.自动回滚单元测试产生的脏数据

D.无须区别,统一在业务代码中进行判断和识别

阿里java编码规范考试总结_第2张图片

 3.关于count相关的使用,下列哪些说法符合阿里巴巴java规范 (ACD)

A.不要使用count(列名)或count(常量)来替代count(*)

B.count(列名)会统计值为null的行,而count(*)不会统计

C.当某一列的值全是NULL时,count(列名)返回0

D.在程序代码中写分页查询逻辑是,若count为0应直接返回。以避免执行后面的查询

阿里java编码规范考试总结_第3张图片

4.数组使用Arrays.asList转化为集合,下列说法哪些是正确的:(ACD)

A.数据元素的修改,会影响到转化过来的集合

B.数组元素的修改,不会影响到转化过来的集合

C.对于转换过来的集合,它的add/remove/clear方法会抛出: UnsupportedOperationException 异常

D.Arrays.asList体现的是适配器模式,只是转换接口,后台的接口仍是数组

阿里java编码规范考试总结_第4张图片

5.关于异常处理,下列哪些说法是正确的:(ABCD)

A.try块放到了事务代码中,catch异常后,如果需要回滚事务,必须手动回滚事务

B.在finally块必须对文件秀进行关闭

C.不能在finally使用return,fanally块中的return返回方法结束执行,不会再执行 try 块中的 return 语句

D.循坏体中避免不必要的try-catch操作

阿里java编码规范考试总结_第5张图片

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版本的二方库,此举是为了保证发布的冥等性

阿里java编码规范考试总结_第6张图片

阿里java编码规范考试总结_第7张图片

8.下列哪些说法符合阿里巴巴java开发手册:ABCD

A.在使用正则表达式时,利用好其预编功能,可以有效加快正则匹配速度

B.在JDK8中,针对统计时间等场景,推荐使用instant类

C.尽量不要在vm中加入变量声明,逻辑运算符,更不要在vm模板中加入任何复杂的逻辑

D.后台输送给页面的变量必须加$!{var}----中间的感叹号

 阿里java编码规范考试总结_第8张图片

阿里java编码规范考试总结_第9张图片

9.关于分页查询,下列哪些说法符合阿里巴巴java开发手册 ABC

A.分页查询,当统计的count为0时,应直接返回,不要在执行分页查询语句

B.IBATIS自带的queryForList(Stirng statemenName,int start,int size)分页接口有隐性隐患,不允许使用

C.定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑

D.可使用存储过程写分页逻辑,提高效率。

阿里java编码规范考试总结_第10张图片

10.针对tcp协议。下列哪些说法是正确的: CD

A.tcp链接主动关闭的一方,在完成四次挥手协议后,即会立即关闭并释放Socket

B.处于time_wait状态的socket,其实是已经关闭状态,当需要新建连接时,可以被马上复用

C.当大量的socket处于time-wait状态是,会导致可用的socket资源稀缺,从而导致服务器并发能力下降

D.通过修改/etc/syscti.conf配置文件,减小time_wait的超时时间,可以降低time_wait状态的socket数量

 阿里java编码规范考试总结_第11张图片

 

你可能感兴趣的:(阿里java编码规范考试总结)