美文网首页
阿里Java规范-06-工程结构

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

作者: zhongcx | 来源:发表于2020-05-02 19:56 被阅读0次

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

    关于领域模型命名,下列哪些说法符合《阿里巴巴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 .<dependencies>的依赖会默认传递给子项目。
    B .<dependencies>的依赖绝对不会传递给子项目。
    C .在<dependencyManagement>中指定版本号。
    D .避免在不同的子项目,声明同一个二方库的不同版本号。
    注意:<dependencyManagement>,不会传给子项目。

    关于二方库升级,下列哪些说法是正确的:【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-工程结构

          本文链接:https://www.haomeiwen.com/subject/eddzwhtx.html