文档库 最新最全的文档下载
当前位置:文档库 › 阿里巴巴编码规范(Java)题库

阿里巴巴编码规范(Java)题库

阿里巴巴编码规范(Java)题库
阿里巴巴编码规范(Java)题库

多选 1. 如何处理单元测试产生的数据,下列哪些说法是正确的?ABC

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

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

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

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

多选 2. 关于并发处理,下列哪些说法符合《阿里巴巴Java 开发手册》: ABC

A .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。

B .同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同

步调用应该考虑到性能损耗。

C . 创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回

溯。

D. 推荐使用Executors.newFixedThreadPool(int x) 生成指定大小的线程池。( 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式 )

多选 3. 下列哪些说法符合《阿里巴巴Java 开发手册》: ACD

A . 对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动

态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。

B .永久弃用的代码段注释掉即可,即不用加任何注释。

C .对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统

一规定使用三个斜杠(///)来说明注释掉代码的理由。

D .不要在视图模板中加入任何复杂的逻辑。

多选 4. 关于分页查询,下列哪些说法符合《阿里巴巴Java 开发手册》: ABC

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

语句。

B .iBATIS 自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。

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

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

多选7. 关于接口使用抛异常还是返回错误码,下列哪些说法符合《阿里巴巴

Java 开发手册》: ABCD

A. 向公司外部提供的 http/api 接口,推荐使用“错误码”方式返回异常或

者错误信息。

B .对于应用内部的方法调用,推荐使用“抛出异常”的方式处理异常或者错

误信息。

C. 跨应用的 RPC 调用,推荐使用将“错误码”和“错误简短信息”封装成Result 的方式进行返回。

D. 对外提供的接口,一定要保证逻辑健壮性:尽量避免空指针等技术类异常;对于业务类异常要做好错误码或者异常信息的封装。

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

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

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

C .POJO

D .POJO 类的

类的

serialVersionUID

serialVersionUID

不一致会编译出错。

不一致会抛出序列化运行时异常。

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

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

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

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

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

单选 10. 集合在遍历过程中,有时需要对符合一定条件的元素进行删除,下列哪些说法是正确的: B

A .在foreach循环里进行元素的remove 操作。

B .使用Iterator方式,如果有并发,需要对Iterator对象加锁。

C .Iterator进行元素的删除操作,绝对是线程安全的。

D .Java无法实现在遍历时,进行删除元素操作。

多选 11. 关于基本数据类型与包装数据类型的使用标准,下列哪些说法符合《阿里巴巴 Java 开发手册》: ABD

A .所有的POJO类属性必须使用包装数据类型。

B .RP

C 方法的返回值和参数必须使用包装数据类型。

C .因为JAVA的自动装箱与拆箱机制,不需要根据场景来区分数据类型。

D .多选

A .

B .

所有的局部变量推荐使用基本数据类型。

12. 关于索引的设计,下列哪些说法符合《阿里巴巴Java 开发手册》: ACD 对 varchar 类型的字段建立索引,必须指定索引长度。

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

最好。

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

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

多选 13. 关于二方库版本号的命名方式,下列哪些说法符合《阿里巴巴Java 开发手册》:ABCD

A .版本号命名格式:主版本号. 次版本号 . 修订号。

B. 主版本号 : 产品方向改变,或者大规模 API 不兼容,或者架构不兼容升级。

C . 次版本号 : 保持相对兼容性,增加主要功能特性,影响范围极小的API 不兼容修改。

D .修订号 : 保持完全兼容性,修复BUG、新增次要功能特性等。

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

A .

B .查询语句

查询语句

WHERE a+1 = 5 可以利用 a 索引。

WHERE date_format(gmt_create, '%Y-%m-%d') = '2016-11-11'

无法利用gmt_create索引。

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

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

多选15.关于生产环境的日志文件,下列哪些说法符合《阿里巴巴Java开发手

册》: ABCD

A .异常信息应该包括两类信息:案发现场信息和异常堆栈信息。

B. 日志文件推荐至少保存 15 天,因为有些异常具备以“周”为频次发生的

特点。

C . 避免重复打印日志,浪费磁盘空间,务必在log4j.xml中设置

additivity=false。

D .错误日志和业务日志尽量分开存放。

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

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

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

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

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

情况

多选 17. 关于 MySQL性能优化的描述,下列哪些说法是正确的: ABCD

A. 主键查询优先于二级索引查询。

B .表连接有一定的代价,故表连接数量越少越好。

C .一般情况下,二级索引扫描优先于全表扫描。

D .可以使用通过索引避免排序代价。

多选18.关于索引的设计和使用,下列哪些说法是正确的:AD

A .若查询条件中不包含索引的最左列,则无法使用索引。

B .对于范围查询,只能利用索引的最左列。

C .对于order by A或group by A语句,在 A 上建立索引,可以避免排序。

D .对于多列排序,需要所有所有列排序方向一致,才能利用索引。

多选19.关于类命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD

A .抽象类命名使用Abstract或 Base 开头。

B .异常类命名使用Exception结尾。

C .测试类命名以它要测试的类的名称开始,以Test结尾。

D .如果使用到了设计模式,建议在类名中体现出具体模式。例如代理模式的

类命名: LoginProxy ;观察者模式命名: ResourceObserver 。

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

A .所有的抽象方法(包括接口中的方法)必须要用javadoc 注释。

B .所有的方法,包括私有方法,最好都增加注释,有总比没有强。

C .过多过滥的注释,代码的逻辑一旦修改,修改注释是相当大的负担。

D .我的命名和代码结构非常好,可以减少注释的内容。

多选22.关于checked/unchecked exception,下列哪些说法是正确的:BCD

A .继承https://www.wendangku.net/doc/f6101917.html,ng.Error的类属于checked exception。

B .checked异常继承https://www.wendangku.net/doc/f6101917.html,ng.Exception类。

C .unchecked异常继承https://www.wendangku.net/doc/f6101917.html,ng.RuntimeException类。

D .NullPointerException,IllegalArgumentException属于unchecked

exception 。

D

单选 23. 关于 Map类型集合的遍历方式,下列哪些说法是正确的:

A .Map类型的实现类都同时实现了Iterator接口。

B .使用foreach进行遍历。

C .推荐使用keySet进行遍历。

D .推荐使用entrySet进行遍历。

多选 24. 关于变量、方法名、包的命名,下列哪些说法符合《阿里巴巴Java 开发手册》:ABCD

A.POJO 类中的任何布尔类型的变量,都不要加 is ,因为部分框架解析时有可

能会出现序列化错误。

B. 包名统一使用单数形式,如: com.alibaba.mpp.util 。

C .中括号是数组类型的一部分,数组定义如下:String[]

args;不要误写为 String args[];

D .Service/DAO 层方法命名可以参考规约,例如:删除的方法推荐使用remove 或delete 做前缀。

多选 25. 关于常量定义,下列哪些说法符合《阿里巴巴Java 开发手册》:AC

A .不允许出现任何魔法值(即未经预先定义的常量)直接出现在代码中。

B .魔法值是指程序中随意定义并赋值的变量值,如果代码编写者明白变量值

意义是可以任意使用的,例如在代码中写if(status == 3) return error;

符合规范。

C .如果变量值仅在一个范围内变化推荐用Enum类。

D .在程序中,一律禁止使用枚举类型。

多选 26. 关于 maven依赖、仲裁、规则,下列哪些说法是正确的:ACD

A .的依赖会默认传递给子项目。

B .的依赖绝对不会传递给子项目。

C .在中指定版本号。

D .避免在不同的子项目,声明同一个二方库的不同版本号。

单选 27. 关于二方库升级,下列哪些说法是正确的:B

A .升级二方库只是改个版本号,不需要关联功能的回归。

B .升级二方库需要比对仲裁结果的差异,谨慎评估。

C .升级二方库,绝对不会影响到其它二方库的版本号。

D .只要此二方库负责人保证说不会有任何影响,即可大胆升级,直接发布上

线。

多选28. 关于表字段和索引,下列哪些说法符合《阿里巴巴Java 开发手册》:ABD

A .表字段注释,如果修改字段含义或对字段表示的状态追加时,需要及时更

新。

B . 合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的

是提升检索速度。

C .针对表的每个字段都增加索引,加快查询速度。

D .字段的区分度越高,索引的查找速度越快。

单选 29. 关于测试代码的覆盖率,下列哪些说法是正确的?B

A. 路径覆盖是最强覆盖,符合路径覆盖且测试全部通过,程序绝对没有问题。

B. 语句覆盖度是最弱的覆盖度量方式。

C. 分支覆盖与条件覆盖其实是一回事。

D. 判定条件覆盖与路径覆盖其实是一回事。

多选 30.Hashtable ,HashMap, ConcurrentHashMap 都是 Map的实现类,它们在处理 null 值的存储上有细微的区别,下列哪些说法是正确的: ABD

A .Hashtable的 KV都不可以

null。

null。

B .HashMap的 KV都可以

C .HashMap的 K 不可以为null,V 可以为null。

D .ConcurrentHashMap的KV都不可以为null。

多选 31. 关于数据库命名规则,下列哪些说法符合《阿里巴巴 Java 开发手册》:BCD

A .数据库库名和表名没有规定,可任意取名,只要方便记忆即可。

B . 库名应该尽量与应用名称保持一致,表的命名最好是业务名称_表名的方式。

C .无论是库名还是表名都禁用保留字,如desc、match、range 等。

D .表名、字段名必须使用小写字母或数字。

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

A. 为防止 obj 对象本身空指针异常,书写代码时应该注意加异常捕获处理,

例如: try { obj.method() } catch(NullPointerException e){??}。

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

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

D .自定义异常要做到“认知对等”,即:抛出者和接收者要保持对自定义异

常的认知统一,接收方需要知道这种异常的含义和对应的处理方案。

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

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

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

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

UnsupportedOperationException。

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

组。

多选34.关于文件编码和格式的设定,下列哪些说法符合《阿里巴巴Java开发

手册》:BC

A .IDE

B .IDE 的

text file encoding

text file encoding

设置为

设置为

GBK格式。

UTF-8 格式。

C .IDE中文件的换行符使用unix格式。

D .IDE中文件的换行符使用windows 格式。

多选35.关于数据库是与否概念的列的命名方式,下列哪些说法符合《阿里巴巴Java 开发手册》: BD

A .对于是与否概念的列名,必须使用can_abc 来表示。

B .对于是与否概念的列名,必须使用is_abc来表示。

C .数据类型是varchar(1)(Y表示是,N表示否)。

D .数据类型是unsigned tiny int.(1表示是,0表示否)。

多选 36. 以下关于格式规约的说法,正确的有哪些:AD

A. 代码块缩进 4 个空格,如果使用 tab 缩进,请设置成 1 个 tab 为 4 个空格;

B. 代码块缩进 5 个空格,如果使用 tab 缩进,请设置成 1 个 tab 为 5 个空格。

C. 为了保持代码美观,《手册》强烈推荐增加若干空格,使某一行的变量与相

邻对应位置的变量对齐。

D .方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不

同的语义之间推荐插入一个空行;相同业务逻辑和语义之间不需要插入空行。

多选 37. 通过集合 A.subList()获取子集合B,下列说法哪些是正确的:ABD

A. 返回的集合 B 没有实现 Serializable 接口,不能被序列化,所以不能应用于

RPC场景。

B. 在 B 集合中添加某个元素,那么 A 集合也会添加进去此元素。

C. 集合 A 中元素的修改不会影响到集合 B 的任何操作。

D.对 A 元素个数的修改,会导致集合 B 的遍历产生

ConcurrentModificationException异常。

多选 38. 关于捕获异常和抛异常,下列哪些说法符合《阿里巴巴 Java 开发手册》:

BCD

A .如果需要捕获不同类型异常,为了方便处理,可以使用catch(Exception

e){...}。

B .不要捕获异常后不处理,丢弃异常信息。

C .捕获异常与抛异常,必须是完全匹配,或者捕获异常是抛异常的父类。

D . 异常定义时区分unchecked / checked异常,避免直接使用

RuntimeException抛出。

多选 39. 关于线程安全,下列哪些说法是正确的:ACD

A .SimpleDateFormat是线程不安全的类。

B .SimpleDateFormat是线程安全的类。

C. 一般不要定义SimpleDateFormat的static变量,如果定义为static,必

须保证线程安全。

D. 推荐使用 Apache 封装好的 DateUtils 和 DateFormatUtils 工具类,来处理时

间日期转换问题。

多选 40. 为了更方便地进行单元测试,被测试的业务代码应避免以下哪些情况?

ABCD

A .构造方法中做的事情过多。

B .存在过多的全局变量和静态方法。

C .存在过多的外部依赖。

D .存在过多的条件语句。

多选 41. 关于控制语句,下列哪些说法符合《阿里巴巴Java 开发手册》:ABD

A .推荐if-else的方式可以改写成卫语句的形式。

B . 尽量减少 try-catch块内的逻辑,定义对象、变量、获取数据库连接等操

作可以移到 try-catch块外处理

C .if ( condition) statements;单行语句不需要使用大括号。

D. 在一个 switch 块内,都必须包含一个 default 语句并且放在最后,即使它什么代码也没有。

多选 42. 关于参数有效性验证,下列哪些说法符合《阿里巴巴 Java 开发手册》:ABCD

A .

B .防止 page size过大导致内存溢出。防止正则输入源串拒绝服务ReDOS。

C .防止任意重定向。

D .预防SQL注入。

多选 43. 关于变量和常量定义,下列哪些符合《阿里巴巴Java开发手册》: AD

A .Long a=2L;//大写的L

B .Long a=2l; //小写的l

C .常量只定义一次,不再赋值,所以不需要命名规范。

D. 不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。单选44. 在定义DO/DTO/VO/等POJO类时,对属性默认值的设定,下列哪些说法符合《阿里巴巴 Java 开发手册》:D

A .String类型的默认值设定为空字符串。

B .Date类型的默认值设定为new Date() 。

C .集合类型的默认值设定为Collections.EMPTY_LIST。

D .不要设定任何属性默认值。

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

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

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

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

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

单选 46.KV 结构的集合,在处理 null 值的存储上有细微的区别,下列哪些说法是正确的: A

A .TreeMap的key不可以为null

B .TreeMap的 key可以为null

C .ConcurrentHashMap的key可以为null

D .ConcurrentHashMap的value可以为null

多选47.关于数据库中表相关的命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABD

A .表名、字段名禁止出现数字开头,禁止两个下划线中间只出现数字。

B .表名不使用复数名词。

C .表必备三字段命名:id, gmt_create, gmt_modify。

D .表必备三字段命名:id, gmt_create, gmt_modified。

多选48. 关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴

Java 开发手册》: BCD

A .推荐使用Timer方式处理。

B .推荐使用ScheduledExecutorService方式处理。

C.Timer 运行多个 TimeTask 时,只要其中之一没有捕获抛出的异常,其它任

务便会自动终止运行。

D.ScheduledExecutorService 并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

多选 49. 关于 Java 代码的设计和开发注意事项,下列哪些说法符合《集合开发

规约》:ABCD

A. 禁止将URL、文件名、系统参数、数据库连接地址、业务规则的可变参数,硬编码在工程中。

B .long或者Long初始赋值时,必须是大写的L,不能小写。

C .当一个类有多个构造方法,或是多个同名方法,这些方法应该按顺序放置

在一起,便于阅读。

D. 相同参数类型,同等业务含义,才可以使用 Java 的可变参数,参数的类型尽量避免使用Object 。

多选 50. 关于数据库索引的命名,下列哪些说法符合《阿里巴巴 Java 开发手册》:ACD

A .主键索引 (primary key),字段类型为unsigned bigint、单表时推荐自增、步长为1。

B .主键索引 (primary key),字段类型为unsigned bigint、单表时推荐自增、步长为 2。

C. 唯一索引( unique key ),命名规则为 uk_字段名(如果多个字段继续下划

线)。

D .普通索引(normal index),标记成idx_字段名(如果多个继续下划线)。

阿里巴巴编码规范题库

1.如何处理单元测试产生的数据,下列哪些说法是正确的?ABC A .测试数据入库时加特殊前缀标识。 B .测试数据使用独立的测试库。 C .自动回滚单元测试产生的脏数据。 D .无须区别,统一在业务代码中进行判断和识别。 多选2.关于并发处理,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 B .同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同步调用应该考虑到性能损耗。 C .创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回溯。 D .推荐使用Executors.newFixedThreadPool(int x)生成指定大小的线程池。(线程池不允许使用Executors 去创建,而是通过ThreadPoolExecutor 的方式) 多选3.下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。 B .永久弃用的代码段注释掉即可,即不用加任何注释。 C .对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。 D .不要在视图模板中加入任何复杂的逻辑。 多选4.关于分页查询,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .分页查询,当统计的count为0时,应该直接返回,不要再执行分页查询语句。 B .iBATIS自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。 C .定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑。 D .可使用存储过程写分页逻辑,提高效率。 多选5.根据《阿里巴巴Java开发手册》,以下功能必须进行水平权限控制校验的有:ABCD A .订单详情页面。 B .类目管理后台。 C .店铺装修后台。 D .订单付款页面 多选1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCD A .推荐使用Timer方式处理。 B .推荐使用ScheduledExecutorService方式处理。 C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。 D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

(整理)06 中国移动网络代维管理系统技术规范 编码规范分册V1.1.

中国移动通信企业标准 中国移动网络代维管理系统技术规范 编码规范分册 版本号:1.1.0 2012年9月发布2012年9月实施 中国移动通信集团公司

目录 1 编号规范 (2) 1.1 省级代维组织编号 (2) 1.2 地市级以下代维组织编号 (2) 1.3 人员编码 (2) 1.4 工单编号 (2) 1.5 公告编号 (2) 1.6 业务联系函编号 (2) 1.7 代维资料编号 (3) 2 编码规范 (3) 2.1 省份代码 (3) 2.2 地市 (4) 2.3 工作类别 (5) 2.4 代维专业类型 (6) 2.5 紧急程度 (6) 2.6 满意度 (6) 3 修订记录 (6)

前言 《中国移动网络代维管理系统技术规范》规定了中国移动网络代维管理系统的建设目标、建设原则、体系结构、功能结构、接口要求、技术要求,供中国移动内部和系统开发、集成厂商共同使用;是中国移动网络代维管理系统建设所依据的技术规范,用于指导全网代维管理IT化手段建设、开发与应用。 本分册是《中国移动网络代维管理系统技术规范》系列分册之一。《中国移动网络代维管理系统技术规范》系列分册的结构、名称如下: 本规范由中国移动通信集团公司网络部制订,由集团公司网络部归口和解释。 本规范起草单位:中国移动通信集团公司网络部。 本规范主要起草人:王晓琦、石晓萍、王烨、周林、夏凡超、王鹏、徐智岳、杜传业、马松、吴丹、贺军、云雅琼、杜珍祥、童克波、吕晓敏、周云斌、陈为国、陆旻、许贤、周敏、郭艺娴、赵珺、陈宏宇、于洪亮、吕敏、徐铁瑛、诸圣勇、谭凌凯、文晓林、唐继志、霍廷瑞、杨竹。

1 编号规范 1.1省级代维组织编号 DW+3位自增序号,如:DW001;建议加移动标识,如:CMJSDW001、CMZJDW001 1.2地市级以下代维组织编号 以江苏为例,5级组织结构进行参考,如下: 办事处:上级组织编号+所属地市编码+2位自增序号,如:DW0011401 项目部:上级组织编号+ 2位自增序号,如:DW001140101 驻点:上级组织编号+ 2位自增序号,如:DW00114010101 小组:上级组织编码+3位自增序号,如:DW00114010101001 1.3人员编码 DW+12位人员编码,关于代维人员编码规则(共计12位数字)如下: 1-3位代维公司编码; 4-5位地市编码; 6-9位代维人员加入系统年月,如0902; 10-13位代表入职代维公司的第几个员工。从0001开始的4位自增序号。 1.4工单编号 1.5公告编号 1.6业务联系函编号

【经典范例】集团员工工号编码规则

1、总则 1.1制定目的 ?对员工工号进行有效的管理 ?方便直观了解及统计员工的相关资讯 ?在应用系统(包括人力资源软件系统等)中对员工进行有效的识别 1.2适用范围 广东时利和汽车实业集团下属各全资公司、合资公司、DRL店、快修店 1.3管理单位 本制度之解释、修改权归集团人力资源部。 1.4员工编码在集团内部各类文件的称呼统一为“工号” 2、编码规则 2.1员工编码由八位数字组成,排列顺序如下: 公司编码+ 个人流水码+ 入职年度号码 (如下) (三位) (二位) 2.2公司编码(新增公司:另行文件通知) 2.2.1特约店编码说明: TNA=时利和(T)+佛山南海(N)+ACURA品牌店(A) 其中地方编码说明: 佛山-F 佛山南海-N 吉林市-J 吉林长春-C 广州-G

2.2.2集团下属公司/车间编码说明: 示例1:时利和集团(T)+总部(G) 示例2:时利和集团(T)+总部(G)+下属车间盛世达车间(S) 示例3:时利和集团(T)+分公司佛山依多科化工有限公司(E) 2.3个人流水码 (1)根据入职年度内,集团及二级单位员工入职的先后序号进行排列; (2)现有(自本规定公布之日前在职的员工)员工由公司人力资源部门依同年度内入职的先后顺序排定; (3)新入职员工(自本规定公布之日后入职的员工)依本年度顺序所排定的编码排列取号; (4)员工调动、离职时依新任单位重新编定。原号吗要相关的表格文件中进行备注。 2.4入职年度号码 (1)取入职年度后两位数字为号码,如2008年入职,则入职年度号为08; (2)员工调动、离职时年度号码不变; 3、员工的异动 3.1员工在集团内进行调动,员工后二位年度编码不变,前面编码根据调动后情况由 被调入单位人事行政部门编定,原单位及人力资源部应保留原工号; 3.2员工离职后个人编码空缺,不进行补缺及重复使用; 3.3离职再复职人员重新排号; 4、附则 (1)本程序经集团总经理核准后公告实施,修、废时亦同。 (2)本程序只限于员工编吗,亦为工号编制程序文件,在确保本单位员工工号唯一性的前提下各单位可根据实际情况另行进行档案管理。 (3)本程序公告日期为2008年5月1日。 例:TG 00108:表示2008年集团总部第一位入职的员工

(完整版)阿里巴巴编码规范(Java)题库

多选 1.如何处理单元测试产生的数据,下列哪些说法是正确的?ABC A .测试数据入库时加特殊前缀标识。 B .测试数据使用独立的测试库。 C .自动回滚单元测试产生的脏数据。 D .无须区别,统一在业务代码中进行判断和识别。 多选 2.关于并发处理,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 B .同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同步调用应该考虑到性能损耗。 C .创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回溯。 D .推荐使用Executors.newFixedThreadPool(int x)生成指定大小的线程池。(线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式) 多选 3.下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。 B .永久弃用的代码段注释掉即可,即不用加任何注释。 C .对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。 D .不要在视图模板中加入任何复杂的逻辑。 多选 4.关于分页查询,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .分页查询,当统计的count为0时,应该直接返回,不要再执行分页查询语句。 B .iBATIS自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。 C .定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑。 D .可使用存储过程写分页逻辑,提高效率。

【Java编码规范】《阿里巴巴Java开发手册(正式版)》更新(v1.1.1版)

【Java编码规范】《阿里巴巴Java开发手册(正式版)》更新(v1.1.1版) 本文章来自于阿里云云栖社区 摘要:阿里巴巴集团推出的《阿里巴巴Java开发手册(正式版)》是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效、更加容错、更加有协作性,力求知其然,更知其不然,结合正反例,让Jav a开发者能够提升协作效率、提高代码质量。 2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准。这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。 点击下载《阿里巴巴Java开发手册》(v1.1.1版): https://https://www.wendangku.net/doc/f6101917.html,/attachment/download/?id=1492 v1.1.1版更新说明:修正页码总数和部分示例。 (版本不断更新中,请收藏本文,以免错过重要更新)

(点击参与话题讨论:Java开发者们,一起来聊聊大家的开发规约吧) (原文链接: https://https://www.wendangku.net/doc/f6101917.html,/roundtable/47961?spm=5176.100239.blogcont69327.8.f VLfld) 你是否曾因Java代码规范版本纷杂而无所适从? 你是否想过代码规范能将系统故障率降低20%? 你是否曾因团队代码风格迥异而协同困难? 你是否正在review一些原本可以避免的故障? 你是否无法确定自己的代码足够健壮? 码出高效,码出质量!

相比C++代码规范业界已经达成共识,Java代码规范业界比较混乱,我们期待这次发布的Java代码规范能够给业界带来一个标准,促使整体行业代码规范水平得到提高,最终能够帮助企业和开发者提升代码质量和降低代码故障率。 阿里出品,质量保证! 阿里Java技术团队一手打造出Dubbo、JStorm、Fastjson等诸多流行开源框架,部分已成为Apache基金会孵化项目; 阿里在Java后端领域支撑起全球访问量最大的服务器集群; Java代码构建的阿里双11业务系统订单处理能力达到17.5万笔/秒; 到目前已累计数亿行高并发、高稳定性的最佳Java代码实践; …… 此次首度公开的Java开发手册正是出自这样的团队,近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善,铸就了这本高含金量的阿里Java开发手册。该手册以Java开发者为中心视角,划分为编程规约、异常日志规约、MYSQL规约、工程规约、安全规约五大块,再根据内容特征,细分成若干二级子目录。根据约束力强弱和故障敏感性,规约依次分为强制、推荐、参考三大类。此套规范不仅能让代码一目了然,更有助于加强团队分工与合作、真正提升效率。

阿里巴巴编码规范(Java)题库

多选1.如何处理单元测试产生的数据,下列哪些说法是正确的?ABC A .测试数据入库时加特殊前缀标识。 B .测试数据使用独立的测试库。 C .自动回滚单元测试产生的脏数据。 D .无须区别,统一在业务代码中进行判断和识别。 多选2.关于并发处理,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 B .同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同步调用应该考虑到性能损耗。 C .创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回溯。 D .推荐使用Executors.newFixedThreadPool(int x)生成指定大小的线程池。(线程池不允许使用Executors 去创建,而是通过ThreadPoolExecutor 的方式) 多选3.下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。 B .永久弃用的代码段注释掉即可,即不用加任何注释。 C .对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。 D .不要在视图模板中加入任何复杂的逻辑。 多选4.关于分页查询,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .分页查询,当统计的count为0时,应该直接返回,不要再执行分页查询语句。 B .iBATIS自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。 C .定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑。 D .可使用存储过程写分页逻辑,提高效率。

阿里JAVA开发规范,助你写出更干净整洁的代码

一、命名风格 1.【强制】类名使用UpperCamelCase 风格,必须遵从驼峰形式,但以 下情形例外:DO / BO / DTO / VO / AO 2.正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 3.反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion 4.【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。 5.正例:localValue / getHttpMessage() / inputUserId 6.【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清 楚,不要嫌名字长。 7.正例:MAX_STOCK_COUNT 反例:MAX_COUNT 8.【强制】抽象类命名使用Abstract 或Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以Test 结尾。9.【强制】Model 类中布尔类型的变量,都不要加is,否则部分框架解析 会引起序列化错误。 10.反例:定义为基本数据类型Boolean isDeleted;的属性,它的方法也 是isDeleted(),RPC框架在反向解析的时候,“以为”对应的属性名称是deleted,导致属性获取不到,进而抛出异常。

11.【强制】对于Service 和DAO 类,基于SOA 的理念,暴露出来的服 务一定是接口,内部的实现类用Impl 的后缀与接口区别。正例:CacheManagerImpl 实现CacheManager 接口。 12.【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使 用尽量完整的单词组合来表达其意。 正例:从远程仓库拉取代码的类命名为PullCodeFromRemoteRepository 反例:变量int a;的随意命名方式。 1.【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加), 保持代码的简洁性,并加上有效的Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。 正例:接口方法签名:void f(); 接口基础常量表示:String COMPANY = "alibaba"; 反例:接口方法定义:public abstract void f(); 说明:JDK8 中接口允许有默认实现,那么这个default方法,是对所有实现类都有价值的默认实现。 1.【参考】枚举类名建议带上Enum 后缀,枚举成员名称需要全大写,单 词间用下划线隔开。 2.说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。

完整版阿里巴巴编码规范Java题库

多选 1. 如何处理单元测试产生的数据,下列哪些说法是正确的?ABC A . 测试数据入库时加特殊前缀标识。 B . 测试数据使用独立的测试库。 C . 自动回滚单元测试产生的脏数据。 D . 无须区别,统一在业务代码中进行判断和识别。 多选 2. 关于并发处理,下列哪些说法符合《阿里巴巴Java 开发手册》:ABC A . 线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 B . 同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同步调用应该考虑到性能损耗。 C . 创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回溯。 D . 推荐使用Executors.newFixedThreadPool(int x) 生成指定大小的线程池。( 线程池不允许使用Executors 去创建,而是通过ThreadPoolExecutor 的方式) 多选 3. 下列哪些说法符合《阿里巴巴Java 开发手册》:ACD A . 对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。 B . 永久弃用的代码段注释掉即可,即不用加任何注释。 C . 对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///) 来说明注释掉代码的理由。 D . 不要在视图模板中加入任何复杂的逻辑。 多选 4. 关于分页查询,下列哪些说法符合《阿里巴巴Java 开发手册》:ABC A . 分页查询,当统计的count 为0 时,应该直接返回,不要再执行分页查询语句。 B .iBATIS 自带的queryForList(String statementName,int start,int size) 分页接口有性能隐患,不允许使用。 C . 定义明确的sql 查询语句,通过传入参数start 和size 来实现分页逻辑。 D . 可使用存储过程写分页逻辑,提高效率。 多选7. 关于接口使用抛异常还是返回错误码,下列哪些说法符合《阿里巴巴 Java 开发手册》:ABCD A . 向公司外部提供的http/api 接口,推荐使用“错误码”方式返回异常或者错误信

阿里巴巴技术部新人指南.doc

无废话阿里巴巴技术部新人指南 1.写作目的 首先,欢迎你加入阿里巴巴技术部大家庭! 阿里巴巴技术部的工程师的工作内容比较复杂,新人适应工作有一定的复杂度,我们希望能有一份指南能回答新人遇到的常见问题,这样能帮助他们快速适应工作。本文档期望通过一些简明的指引,在技术层面上,帮助你了尽快掌握并参与到阿里巴巴的技术开发工作。 阿里巴巴技术部Java开发工程师工作时会遇到的所有常见问题都能在这里找到解答。对于普通的问题,可能在这里直接给出答案。对于复杂的问题,这里可能仅指出一个解答问题的指引(网址、知道问题答案的人的联系方式)。 2.阿里巴巴Java技术框架概述 阿里巴巴的主流Java框架是自己写的,同时结合了大量open source的资源。 ?WEB层——使用webx框架。主要利用velocity模板技术来展现页面。 ?业务层——主要使用command模式实现。WEB层通过command dispatcher的调用来使用业务逻辑。 ?数据访问层——使用DAO(Data Access Object)模式。底层使用iBatis来访问数据库。数据采用的是Oracle。 数据库操作的SQL语句需要你手工书写相关的SQL代码(对于复杂的SQL语句需要通过DBA的评审)。 ?在所有层次上,我们都广泛使用了Spring framework。因此你需要对Spring有一定的了解才行。 ?开发工具,我们采用IDE和命令行相结合的模式。在命令行上,我们用antx工具来组织项目、build项目、发布项 目。但我们多数时间会在eclipse集成环境上,开发、调试应用。 ?版本控制,我们采用了Subversion。但部分项目因为历史的原因,暂时使用CVS,将来必然会迁移到Subversion 上。 ?Subversion有很多种操作方式:通过命令行、通过TortoiseSVN集成工具、通过WEB、通过Eclipse插件。 本文最后附有可用资源的列表,供你参考。 3.开发准备 3.1.了解一些规范 编码规范 开发流程 3.2.工具软件 3.2.1.软件分类 ?开发 1、IDE:统一使用Eclipse,目前的版本是3.2 2、编译和部署:antx

编码规则

编码规则: 1.订单号: 采用一级十三位编码: W1D1D2D3D4D5D6N1N2N3 N4N5N6 订单号的具体编码规则如下: W1是标准渠道编码,其取值为[T/A/W/Y/C],其中,[T淘宝] [A 阿里] [W 网上营业厅] [Y 营业部(电话预约上门接货)] [C 呼叫中心/区域客服中心]; D1D2D3D4D5D6是当前日期标识,其中,D1D2表示年份简写,D3D4表示月份,D5D6表示日期,例如:120102表示2012年01月02日; N1N2N3 N4N5N6是业务流水号,业务流水号由系统生成,与渠道来源无关; 举例:T110701000001表示淘宝在2011年7月1日下达的一个订单,且为所有渠道中的第一个。特别说明:业务流水号由系统生成,与渠道来源无关。即不同时存在T110701000001和A110701000001。 2.投诉处理编号: 采用一级十三位编码: D1D2D3D4D5D6D7D8N1N2N3N4N5 处理编号的具体编码规则如下: 上报年月日加上报条数的五位流水号,如:2012121200001;当日上报条数超过99999条,可自动进位为6位数编号。 其中,D1D2D3D4D5D6D7D8为当前日期编码.其中,D1D2D3D4表示年份简写,D5D6表示月份,D7D8表示日期,例如:20120102表示2012年01月02日; N1N2N3N4N5是流水号标识,系统自动生成,若当日上报条数超过99999条,可自动进位为6位数编号。 3.会员编码 会员编码根据系统流水号生成,根据新增会员的先后顺序逐一加1; 2.若流水号不足6位,则以6位为准对其补; 3.若流水号超过6位,则根据实际的流水号确定。 例如:系统生成的流水号为1,则会员编码为:000001; 若系统生成的流水号为1212121,则会员编码为:1212121. 4.联系人编码: 【联系人首字母(小写)】+【手机号码/电话号码】; 1.当手机号码、电话号码同时存在时,联系人编码为:联系人首字母(小写)+手机号码,以手机号码为校验码;如:bdd135********; 2.当只有手机号码时,联系人编码为:联系人首字母(小写)+手机号码,以手机号码为校验码,如:bdd135********; 3.当只有电话号码是,联系人编码为:联系人首字母(小写)+电话号码(区号+号码),以电话号码为校验码,如:bdd023********。 5. 积分规则编码/积分兑换规则编码/奖励积分规则编码 系统流水生成,从1开始逐一累加。 报表:散客可升级会员列表/会员升级列表/会员降级列表

客户编码规则

客户编码规则

客户编码规则 1、目标及范围 本规范规定了博纳电气客户编码的基本规则和方法。 本规范适用于博纳电气所有的客户。 2、编码总规则 博纳电气公司的客户编码采用共7位字母与数字结合的方式构成,具体形式如下。 XX XX XXX 省市编码地区编码客户顺序号 客户码定义如下: 省市是指客户实际适用的区域,省(市)代码以两位大写英文字母组成,省(市)内区县编码由两位数字组成注:如客户为省直辖市局的,则地区编码为“00””。 省(市)代码地区编码地区 北京BJ 01 东城区 02 西城区 03 崇文区 04 宣武区 05 朝阳区 06 丰台区 07 石景山区 08 海淀区 09 门头沟区 11 房山区 12 通州区 13 顺义区 14 昌平区 15 大兴区 16 怀柔区 17 平谷区 28 密云县 29 延庆县 省(市)代码地区编码地区 天津TJ 01 和平区 02 河东区 03 河西区 04 南开区 05 河北区 06 红桥区

07 塘沽区 08 汉沽区 09 大港区 10 东丽区 11 西青区 12 津南区 13 北辰区 14 武清区 15 宝坻区 21 宁河县 23 静海县 25 蓟县省(市)代码地区编码地区河北HB 01 石家庄 02 唐山 03 秦皇岛 04 邯郸 05 邢台 06 保定 07 张家口 08 承德 09 沧州 10 廊坊 11 衡水省(市)代码地区编码地区山西SX 01 太原 02 大同 03 阳泉 04 长治 05 晋城省(市)代码地区编码地区山东SD 01 济南 02 青岛 03 淄博 04 枣庄 05 东营 06 烟台 07 潍坊 08 济宁 09 泰安 10 威海 11 日照 12 莱芜 13 临沂 14 德州

Apsara Clouder基础技能认证:阿里巴巴Java编码规范-试题及答案

一、编程规约 (一)命名风格 多选关于Java的接口描述,下列哪些说法符合《阿里巴巴Java开发手册》:BCD A.在接口类中的方法和属性使用public修饰符 B.对于Service类,内部的实现类加Impl的后缀与接口区别。例如:ProductServiceImpl实现ProductService接口。 C.对于Service类,基于SOA的理念,是以接口方式暴露服务。 D.尽量不在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,而且是整个应用的基础常量。 多选关于变量、方法名、包的命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A.POJO类中的任何布尔类型的变量,都不要加is,因为部分框架解析时有可能会出现序列化错误。 B.包名统一使用单数形式,如:com.alibaba.mpp.util。 C.中括号是数组类型的一部分,数组定义如下:String[]args;不要误写为String args[]; D.Service/DAO层方法命名可以参考规约,例如:删除的方法推荐使用remove或delete做前缀。 多选关于类命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A.抽象类命名使用Abstract或Base开头。 B.异常类命名使用Exception结尾。 C.测试类命名以它要测试的类的名称开始,以Test结尾。 D.如果使用到了设计模式,建议在类名中体现具体模式。 多选以下关于命名规约内容说明,正确的是:BCDE A.强制包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,并且使用复数形式,例如:应用工具类包名为com.alibaba.mpp.utils B.强制类名使用UpperCamelCase,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO/DTO/VO/DAO等。 C.强制抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。 D.强制枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。 E.如果使用了设计模式,建议在类名中体现出具体模式。例如代理模式的类命名:LoginProxy;观察者模式命名:ResourceObserver。 多选以下关于命名规约内容说明,正确的是:BCD A.强制包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,并且使用复数形式,例如:应用工具类包名为com.alibaba.mpp.utils B.强制类名使用UpperCamelCase,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO/DTO/VO/DAO等。 C.强制抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。 D.强制枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。

相关文档
相关文档 最新文档