阿里Java规范-06-工程结构

=================(一)应用分层==================

关于领域模型命名,下列哪些说法符合《阿里巴巴Java开发手册》:【ABC】多选
A.数据对象命名:xxxDO,xxx即为数据表名,例如:ResellerAccountDO。
B.数据传输对象:xxxDTO,xxx为业务领域相关的名称,例如ProductDTO。
C.展示层对象:xxxVO,xxx一般为网页名称,例如RecommendProductVO。
D.POJO是DO/DTO/BO/VO的统称,命名成xxxPOJO。

=================(二)二方库依赖==================

关于二方库版本号的命名方式,下列哪些说法符合《阿里巴巴Java开发手册》:【ABCD】
A .版本号命名格式:主版本号.次版本号.修订号。
B .主版本号:产品方向改变,或者大规模API不兼容,或者架构不兼容升级。
C .次版本号:保持相对兼容性,增加主要功能特性,影响范围极小的API不兼容修改。
D .修订号:保持完全兼容性,修复BUG、新增次要功能特性等。

关于maven依赖、仲裁、规则,下列哪些说法是正确的:【ACD】多选
A .的依赖会默认传递给子项目。
B .的依赖绝对不会传递给子项目。
C .在中指定版本号。
D .避免在不同的子项目,声明同一个二方库的不同版本号。
注意:,不会传给子项目。

关于二方库升级,下列哪些说法是正确的:【B】单选
A .升级二方库只是改个版本号,不需要关联功能的回归。
B .升级二方库需要比对仲裁结果的差异,谨慎评估。
C .升级二方库,绝对不会影响到其它二方库的版本号。
D .只要此二方库负责人保证说不会有任何影响,即可大胆升级,直接发布上线。

关于二方库依赖的解析命令,下列哪些说法是正确的:【ABC】多选
A .mvn dependency:resolve 打印出已仲裁依赖的列表。
B .mvn dependency:tree 打印工程整个的依赖树结构。
C .mvn dependency:tree -Dverbose -Dincludes=commons-lang 打印出与commons-lang相关的详细依赖。
D .mvn clean install 打印工程整个的依赖树结构,并部署到本地仓库中。

关于二方库使用枚举类型,下列哪些说法符合《阿里巴巴Java开发手册》【AB】多选
A. 二方库里可以定义枚举类型。
B. 二方库里接口的入参可以使用枚举类型。
C. 二方库里接口的返回值不能使用枚举类型,但可以包含枚举类型。
D. 二方库里接口的返回值是枚举类型或包含枚举类型时,当二方库的枚举值升级(增加枚举值)时,可能会导致接口调用时出现枚举对象序列化异常

关于二方库的依赖处理,下列哪些说法符合《阿里巴巴Java开发手册》:【ACD】
A .依赖于一个二方库群时,必须定义一个统一版本变量,避免各子二方库版本号不一致。
B .可以允许子项目的pom依赖中出现相同的GroupId,相同的ArtifactId,但是不同的Version。
C .所有pom文件中的依赖声明放在语句块中,所有版本仲裁放在语句块中。
D .线上应用不要依赖SNAPSHOT版本(安全包除外)。

关于工具类二方库已经提供的,尽量不要在本应用中编程实现,下列哪些说法符合《阿里巴巴Java开发手册》:【ABD】
A .json操作使用fastjson。
B .md5操作使用commons-codec。
C .ArrayUtils、NumberUtils、DateFormatUtils、DateUtils等优先使用org.apache.commons.lang包。
D .CollectionUtils优先使用org.apache.commons.collections4包。

关于二方库的snapshot与release的区别,下列哪些说法是正确的【ABD】
A.snapshot在本地编译时,都会到中央库下载最新的二方库
B.release在本地编译时,如果已经存在相同的版本号,即使中央仓库有最新相同版本的二方库也不会拉取
C.应用使用了A的release版本的二方库,A依赖了B的snapshot二方库,应用本地编译时,并不会拉取B最新的snapshot的jar
D.应用发布尽量使用release版本的二方库,此举是为了保证发布的冥等性

关于二方库GroupID和ArtifactID格式,下列哪些说法符合《阿里巴巴Java开发手册》【AD】多选
A. GroupID格式为:com.{公司/子公司}.业务线{子业务线}。
B. GroupID格式为:com.{公司/子公司}.业务线.子业务线.子模块。
C. ArtifactID格式为:产品线名_模块名或者产品线.模块名。
D. ArtifactID格式为:产品线名-模块名。

=================(三)服务器==================

针对TCP协议,下列哪些说法是正确的:【CD】多选
A. tcp链接主动关闭的一方,在完成四次挥手协议后,即会立即关闭并释放socket。
B. 处于time_wait状态的socket,其实是已经关闭状态,当需要新建连接时,可以被马上复用。
C. 当大量socket处于time_wait状态时,会导致可用socket资源稀缺,从而导致服务器并发能力下降。
D. 通过修改/etc/sysctil.com配置文件,减小time_wait的超时时间,可以降低time_wait状态的socket数量,从而提升服务器并发能力。

关于应用与数据库之间的操作,下列哪些说法符合《阿里巴巴Java开发手册》:【BC】
A .对外提供一个大而全的接口进行POJO的update更新,这样比较省事,省代码。
B .使用事务回滚的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等。
C .应用服务器与数据库之间是短连接。
D .应用服务器与数据库之间是长连接。

你可能感兴趣的:(阿里Java规范-06-工程结构)