阿里巴巴编程考试认证java编程规范+考试分享

考试及认证证书查询(可用钉钉等扫码登录):

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

经验分享:

证书不是最重要的,重要的是把一些基础知识又重新学习了一遍。

当前阿里巴巴编程规范是1.5.0华山版,试题在练题两三遍后基本能过。

参考大佬博文
https://blog.csdn.net/weixin_44951475/article/details/103324902

https://www.cnblogs.com/renqiqiang/p/9657732.html

https://blog.csdn.net/qq_35275233/article/details/90085510
————————————————
参考原文链接:https://blog.csdn.net/shiliang97/article/details/104693281/

附部分常见试题:

多选 8.数组使用Arrays.asList转化为集合,下列说法哪些正确的:ACD

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

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

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

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

多选 9.关于异常的处理方式,下列哪些说法是正确的:BD

A .为防止obj对象本身空指针异常,书写代码时应该注意加异常捕获处理,例如:try { obj.method() } catch(NullPointerException e){……} 。

B .方法签名中,抛给调用者的关键字为throws

C .方法内部,抛出异常实例对象为throws

D .自定义异常要做到“认知对等”,即:抛出者和接收者要保持对自定义异常的认知统一,接收方需要知道这种异常的含义和对应的处理方案。

多选 13.以下关于命名规约内容说明,正确的是:BCDE

A .【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,并且使用复数形式,例如:应用工具类包名为com.alibaba.mpp.utils

B .【强制】类名使用UpperCamelCase,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / DTO / VO / DAO等。

C .【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。

D .【强制】枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。

E . 如果使用到了设计模式,建议在类名中体现出具体模式。例如代理模式的类命名:LoginProxy;观察者模式命名:ResourceObserver。

多选 16.关于索引的使用,下列哪些说法是正确的:BCD

A .查询语句 WHERE a+1 = 5 可以利用a索引。

B .查询语句WHERE date_format(gmt_create, ‘%Y-%m-%d’) = '2016-11-11’无法利用gmt_create索引。

C .当 c 列类型为 char 时,查询语句 WHERE c = 5 无法利用c索引。

D .索引字段使用时不能进行函数运算。

多选 17.关于索引的设计,下列哪些说法符合《阿里巴巴Java开发手册》:ACD

A .对varchar类型的字段建立索引,必须指定索引长度。

B .对varchar类型的字段建立索引,不需要指定索引长度,这样索引区分度最好。

C .业务上具有唯一特性的字段(含组合字段),必须指定唯一索引。

D .建复合索引时,一般选择区分度高的字段放在最左列。

多选 18.关于Java的接口描述,下列哪些说法符合《阿里巴巴Java开发手册》:BCD

A .在接口类中的方法和属性使用public修饰符。

B .对于Service类,内部的实现类加Impl的后缀与接口区别。例如:ProductServiceImpl实现ProductService接口。

C .对于Service类,基于SOA的理念,是以接口方式暴露服务。

D .尽量不在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,而且是整个应用的基础常量。

单选 19.关于类的序列化,下列说法哪些是正确的:D

A .类的序列化与serialVersionUID毫无关系。

B .如果完全不兼容升级,不需要修改serialVersionUID值。

C .POJO类的serialVersionUID不一致会编译出错。

D .POJO类的serialVersionUID不一致会抛出序列化运行时异常。

多选 2.关于Java代码的设计和开发注意事项,下列哪些说法符合《阿里巴巴Java开发手册》:ABC

A .所有的覆写方法,必须是强制加 @Override。

B .setter方法中,参数名称与类成员变量名称一致,this.成员名=参数名。

C .在getter方法中,尽量不要增加逻辑判断,因为添加了逻辑判断后,会增加排查问题难度。

D .避免用BeanUtil进行属性的copy。

多选 5.关于索引效率,下列哪些说法符合《阿里巴巴Java开发手册》:CD

A .使用索引的效率一定高于全表扫描的效率。

B .关于explain的结果,type=index的索引效率好于type=ref。

C .sql查询条件 where a like ‘%阿里%’ ,不会走索引。

D .sql查询条件 where a like ‘阿里%’ ,a列创建了索引,一般会使用索引进行检索。

多选 2.数组使用Arrays.asList转化为集合,下列说法哪些正确的:ACD

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

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

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

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

多选 14.针对tcp协议,下列哪些说法是正确的:CD

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

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

C .当大量socket处于time_wait状态时,会导致可用socket资源稀缺,从而导致服务器并发能力下降。

D .通过修改/etc/sysctl.conf配置文件,减小time_wait的超时时间,可以降低time_wait状态的socket数量,从而提升服务器并发能力。

多选 15.关于二方库依赖的解析命令,下列哪些说法是正确的:ABC

A .mvn dependency:resolve 打印出已仲裁依赖的列表。

B .mvn dependency:tree 打印工程整个的依赖树结构。

C .mvn dependency:tree -Dverbose -Dincludes=commons-lang 打印出与commons-lang相关的详细依赖。

D .mvn clean install 打印工程整个的依赖树结构,并部署到本地仓库中。

多选 26.关于应用与数据库之间的操作,下列哪些说法符合《阿里巴巴Java开发手册》:BC

A .对外提供一个大而全的接口进行POJO的update更新,这样比较省事,省代码。

B .使用事务回滚的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等。

C .应用服务器与数据库之间是短连接。

D .应用服务器与数据库之间是长连接。

多选 27.关于索引的使用,下列哪些说法是正确的:BCD

A .查询语句 WHERE a+1 = 5 可以利用a索引。

B .查询语句WHERE date_format(gmt_create, ‘%Y-%m-%d’) = '2016-11-11’无法利用gmt_create索引。

C .当 c 列类型为 char 时,查询语句 WHERE c = 5 无法利用c索引。

D .索引字段使用时不能进行函数运算。

多选 33.关于工具类二方库已经提供的,尽量不要在本应用中编程实现,下列哪些说法符合《阿里巴巴Java开发手册》:ABD

A .json操作使用fastjson。

B .md5操作使用commons-codec。

C .ArrayUtils、NumberUtils、DateFormatUtils、DateUtils等优先使用org.apache.commons.lang包。

D .CollectionUtils优先使用org.apache.commons.collections4包。

备注:(org.apache.commons.lang3.time.DateFormatUtils)

多选 10.关于二方库使用枚举类型,下列哪些说法符合《阿里巴巴Java开发手册》:ABD

A .二方库里可以定义。

B .二方库里接口的入参可以使用枚举类型。

C .二方库里接口的返回值不能使用枚举类型,但可以包含枚举类型。

D .二方库里接口的返回值是枚举类型或包含枚举类型时,当二方库的枚举值升级(增加枚举值)时,可能会导致接口调用时出现枚举对象序列化异常。

多选 *37.对于索引(a, b, c),下列哪些说法是正确的:ABC

A .查询语句 where a between 5 and 10 可以使用该索引。

B .查询语句 where a = 5 and b between 5 and 10 可以使用该索引。

C .查询语句 where a in (5, 6, 7, 8, 9) and b = 5 可以使用该索引。

D .查询语句 where b = 5 and c = 10 可以使用该索引。

多选 16.关于代码注释,下列哪些说法符合《阿里巴巴Java开发手册》:ABD

A .特殊注明标记人与标记时间。

B .待办事宜(TODO):( [标记人,标记时间,[预计处理时间])

C .在注释中用FIXME标记某代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进

D .在注释中用FIXME标记某代码是错误的,而且不能工作,需要及时纠正的情况

备注:我所做的题中二方库考了好几道。

最后附上一把过的证书

阿里巴巴编程考试认证java编程规范+考试分享_第1张图片

你可能感兴趣的:(java,认证证书,java,安全,开发语言)