当前位置: > 财经>正文

阿里巴巴编码规范 java 考试题

2023-07-17 02:31:17 互联网 未知 财经

两套真题 1.第一套

单选1.KV结构的集合,在处理null值的存储上有细微的区别,下列哪些说法是正确的:A A .TreeMap的key不可以为null B .TreeMap的key可以为null C .ConcurrentHashMap的key可以为null D .ConcurrentHashMap的value可以为null 注释:HashMap的key/value均可以为null,但是TreeMap的key不能为空,value可以为空 多选 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.关于二方库使用枚举类型,下列哪些说法符合《阿里巴巴Java开发手册》:ABD A .二方库里可以定义。 B .二方库里接口的入参可以使用枚举类型。 C .二方库里接口的返回值不能使用枚举类型,但可以包含枚举类型。 D .二方库里接口的返回值是枚举类型或包含枚举类型时,当二方库的枚举值升级(增加枚举值)时,可能会导致接口调用时出现枚举对象序列化异常。 多选 11.关于索引的设计,下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对varchar类型的字段建立索引,必须指定索引长度。 B .对varchar类型的字段建立索引,不需要指定索引长度,这样索引区分度最好。 C .业务上具有唯一特性的字段(含组合字段),必须指定唯一索引。 D .建复合索引时,一般选择区分度高的字段放在最左列。 多选 12.关于hashcode和equals,下列哪些说法是正确的:BC A .hashcode是Class的方法,equals是Object的方法。 B .hashcode决定(如:HashMap)存储位置;equals决定是否需要覆盖(同一hash下)集合元素。 C .类重写hashcode,必须重写equals。 D .两者是否需要重写,没有必然联系。 备注:equals 为true,hashcode值相同 但是hashcode值相同,equals可能为false 多选 13.关于常量定义,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A .跨应用共享常量:放置在二方库中,通常是client.jar中的const目录下。 B .应用内共享常量:通常放置在一方库的子模块中的const目录下。 C .子工程内部共享常量:即在当前子工程的const目录下。 D .类内常量:直接在类内部private static final定义。 多选 14.针对tcp协议,下列哪些说法是正确的:CD A .tcp

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。