记录一下个人的考试题目,答案没有全对,提供题目给大家参考交流,如有发现错误,留言我改正即可,谢谢!
我始终相信互相学习才是进步的捷径!
阿里巴巴开发规范1.4版点击下载
单选1.KV结构的集合,在处理null值的存储上有细微的区别,下列哪些说法是正确的:A
A .TreeMap的key不可以为null
B .TreeMap的key可以为null
C .ConcurrentHashMap的key可以为null
D .ConcurrentHashMap的value可以为null
多选 2.数组使用Arrays.asList转化为集合,下列说法哪些正确的:ACD
A .数组元素的修改,会影响到转化过来的集合。
B .数组元素的修改,不会影响到转化过来的集合。
C .对于转换过来的集合,它的 add/remove/clear 方法会抛出: UnsupportedOperationException。
D .Arrays.asList 体现的是适配器模式,只是转换接口,后台的数据仍是数组。
多选 3.关于ORM的规则,下列哪些说法符合《阿里巴巴Java开发手册》:AD
A .数据库中,表达是与否概念的字段,必须使用is_xxx的方式命名。
B .推荐使用iBATIS自带的queryForList(String statementName,int start,int size)进行分页查询。(不推荐)
C .为避免写resultMap,可以直接拿HashMap与HashTable作为查询结果集的输出。
D .不要用resultClass当返回参数,即使所有类属性名与数据库字段一一对应,也需要定义。
多选 4.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCD
A .推荐使用Timer方式处理。
B .推荐使用ScheduledExecutorService方式处理。
C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。
D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。
多选 5.关于异常的处理方式,下列哪些说法是正确的:BD
A .为防止obj对象本身空指针异常,书写代码时应该注意加异常捕获处理,例如:try { obj.method() } catch(NullPointerException e){……} 。
B .方法签名中,抛给调用者的关键字为throws
C .方法内部,抛出异常实例对象为throws
D .自定义异常要做到“认知对等”,即:抛出者和接收者要保持对自定义异常的认知统一,接收方需要知道这种异常的含义和对应的处理方案。
多选 6.关于注释,下列哪些说法符合《阿里巴巴Java开发手册》:BC
A .方法头定义签名上的注释可以使用//(双划线)简单说明,不必要遵守javadoc规范。
B .类定义开始部分,一般都用Javadoc注释 程序的总体描述以及作者信息。
C .方法头定义签名上的注释必须遵守javadoc规范,使用/**回车来生成,不得在方法定义上方使用//(双划线)简单说明。
D .方法头定义签名上的注释,可以使用// xxx 的形式
多选 7.关于用日志记录异常信息,下列哪些说法符合《阿里巴巴Java开发手册》:AB
A .日志尽量记录案发现场信息和异常堆栈信息。
B .如果日志中输出POJO类,POJO类需要重写toString方法,避免只输出hashCode。
C .不建议输出任何日志,因为日志记录消耗性能。
D .捕获异常后,一律抛给调用者去处理。
多选 8.关于常量的命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABD
A .常量命名应该全部大写,单词间用下划线隔开。
B .常量的定义要力求语义表达完整清楚,让别人能从常量名称上大致了解含义,例如:MAX_STOCK_COUNT。
C .常量命名,可以使用拼音与英文的混合方式。
D .在使用缩写时要注意:杜绝不规范的缩写。
单选 9.关于类的序列化,下列说法哪些是正确的:D
A .类的序列化与serialVersionUID毫无关系。
B .如果完全不兼容升级,不需要修改serialVersionUID值。
C .POJO类的serialVersionUID不一致会编译出错。
D .POJO类的serialVersionUID不一致会抛出序列化运行时异常。
多选 10.关