前言

闲来无事,收到阿里APP推送,于是就花9.9买了,学习手册其实之前就有看过,平时开发大部分也是按照手册执行的。
今天花了一天的时间重新系统性的复习了下《java开发手册-华山版》,晚上用了四十分钟结束了战斗。

学习资料

Java开发手册-华山版

部分试题

33.【强制】不得使用外键与级联,一切外键概念必须在应用层解决。

说明:以学生和成绩的关系为例,学生表中的 student_id是主键,那么成绩表中的 student_id则为外键。如果更新学生表中的 student_id,同时触发成绩表中的 student_id 更新,即为级联更新。外键与级联更新适用于单机低并发,不适合分布式、高并发集群;级联更新是强阻塞,存在数据库更新风暴的风险;外键影响数据库的插入速度。

34.【强制】count(distinct col) 计算该列除 NULL 之外的不重复行数,注意 count(distinct col1, col2) 如果其中一列全为 NULL,那么即使另一列有不同的值,也返回为 0。

35.mysql使用sum函数注意判空操作

【强制】当某一列的值全是 NULL 时,count(col)的返回结果为 0,但 sum(col)的返回结果为NULL,因此使用 sum()时需注意 NPE 问题。

正例:可以使用如下方式来避免 sum 的 NPE 问题:SELECT IF(ISNULL(SUM(g)),0,SUM(g)) FROM table;

sum(null)=====>null

count(null)=====>0

36.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可以为空

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

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

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

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

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

38.关于ORM的规则,下列哪些说法符合《阿里巴巴Java开发手册》:AD

A .数据库中,表达是与否概念的字段,必须使用is_xxx的方式命名。

B .推荐使用iBATIS自带的queryForList(String statementName,int start,int size)进行分页查询。(不推荐)

C .为避免写resultMap,可以直接拿HashMap与HashTable作为查询结果集的输出。

D .不要用resultClass当返回参数,即使所有类属性名与数据库字段一一对应,也需要定义。

39.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴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链接主动关闭的一方,在完成四次挥手协议后,即会立即关闭并释放socket。

B .处于time_wait状态的socket,其实是已经关闭状态,当需要新建连接时,可以被马上复用。

C .当大量socket处于time_wait状态时,会导致可用socket资源稀缺,从而导致服务器并发能力下降。

D .通过修改/etc/sysctl.conf配置文件,减小time_wait的超时时间,可以降低time_wait状态的socket数量,从而提升服务器并发能力。

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

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

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

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

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

多选 16.关于Java代码的设计和开发注意事项,下列哪些说法符合《阿里巴巴Java开发手册》:ABC

A .所有的覆写方法,必须是强制加 @Override。

B .setter方法中,参数名称与类成员变量名称一致,this.成员名=参数名。

C .在getter方法中,尽量不要增加逻辑判断,因为添加了逻辑判断后,会增加排查问题难度。

D .避免用BeanUtil进行属性的copy。

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

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

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

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

D .不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。

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

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

B .SimpleDateFormat 是线程安全的类。

C .一般不要定义SimpleDateFormat的static变量,如果定义为static,必须保证线程安全。

D .推荐使用Apache封装好的DateUtils和DateFormatUtils工具类,来处理时间日期转换问题。

多选 19.关于try-catch的使用方式,下列哪些说法是正确的:BD

A .推荐用try-catch来做流程控制、条件控制。

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

C .对大段代码进行try-catch,利用Throwable来捕捉,万无一失。

D .对大段代码进行try-catch,这是不负责任的表现,分清稳定代码和非稳定代码,对非稳定的代码做对应的异常处理。

多选 20.关于加锁,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD

A .可以只锁代码区块的情况下,就不要锁整个方法体。

B .高并发的业务场景下,要考虑加锁及同步处理带来的性能损耗,能用无锁数据结构,就不要用锁。

C .能用对象锁的情况下,就不要用类锁。

D .加锁时需要保持一致的加锁顺序,否则可能会造成死锁。

多选 21.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全:BCD

A .使用volatile关键字。(volatile 解决多线程内存不可见问题。对于一写多读,是可以解决变量同步问题,

但是如果多写,同样无法解决线程安全问题。)

B .使用synchronized关键字给对象的读写操作加锁。

C .如果是基本类型,推荐使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。

D .如果是集合,推荐使用java.util.concurrent提供的并发集合类,例如:ConcurrentHashMap。

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

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

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

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

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

下载链接(.md)

下载地址

声明

试题来源于网络,手动整理,难免有重复,望谅解~

证书预览

最后

祝你考试成功!

阿里编码规范认证考试题库(免费版)相关推荐

  1. 阿里巴巴编码规范认证

    某天在CSDN上面看了一个人的文章,说考了一个阿里巴巴编码规范认证,对自己编码规范确实有很大的提升,以及在面试的时候也是一个加分项, 然后博主也去考了一下,挺幸运的吧,考了两次,第二次过了,现在把这个 ...

  2. linux 认证考试 题库,Linux认证考试题库及答案

    1.一个文件的'权限是-rw-rw-r--,这个文件所有者的权限是什么() a.read-only b.read-write c.write 答案 b 2.下面哪个值代表多用户启动() a.1 b.0 ...

  3. 深圳linux测试题库,Linux认证考试题库及答案

    Linux认证考试题库及答案 1.一个文件的权限是-rw-rw-r--,这个文件所有者的'权限是什么() a.read-only b.read-write c.write 答案 b 2.下面哪个值代表 ...

  4. Pass4side EMC E20-817认证考试题库

    Pass4side EMC E20-817认证考试题库 Pass4side EMC Symmetrix Business Continuity Expert Exam for Storage Admi ...

  5. 腾讯云TCA运维认证考试题库

    腾讯云TCA运维认证考试题库 9.(1.0分)公司A的用户创建了一个存储桶,并在根目录下放置了一张图片,将该图片嵌入公司站点首页www.example.com,公司B由于不想付流量费用,通过引用该图片 ...

  6. 嵌入式linux工程师 考试,嵌入式助理工程师认证考试题库

    嵌入式助理工程师认证考试题库 嵌入式认证考试就要开始了,为帮助同学们更好复习软件嵌入式助理工程师考试内容,yjbys小编为大家带来最新软件助理工程师认证考试题库,欢迎参考学习! 一.单项选择题 1.如 ...

  7. Cisco认证考试题库优惠券分享

    CISCO认证考试优惠券CODE贡献给大家:GTOD081030 .   此优惠券购买思科考试题库即可享受20%的优惠.  需要的自己记下哈!~觉得好的话,大家就顶下哈!~用过的同仁们在论坛上发个战报 ...

  8. 阿里巴巴Java开发手册认证考试题库

    注 转载自:https://baijiahao.baidu.com/s?id=1688631517911751367&wfr=spider&for=pc 此文作用于自己刷题使用,答案在 ...

  9. mysql 1z0_MySQL 8 OCP(1Z0-908)认证考试题库原题(第10题)

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第10题 Choose the best answer. Examine these commands, which execute ...

  10. mysql ocp 认证 题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第10题)

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第10题 Choose the best answer. Examine these commands, which execute ...

最新文章

  1. Shell——流程控制(if、case、for、while)
  2. Java面试题 20在面向对象编程里,经常使用is-a来说明对象之间的继承关系
  3. mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)
  4. Java单机部署,Nacos docker单机模式部署实现过程详解
  5. 跟谁学宣布独立调查结论:没有造假 盘后股价涨超8%
  6. Extjs中的组件含有ID,会导致界面混乱。(textfield,comboBox等)
  7. 用户画像之门店用户类型的体系
  8. 快速生成Plugman中的lib-file、source-file的xml内容
  9. STM32固件库编程入门
  10. 2022年P气瓶充装考试模拟100题模拟考试平台操作
  11. 路由器回执路由配置_如何用console线连接路由器进行初始配置-----无私奉献版(转载请注明出处)...
  12. 瓜子2019笔试java_2019秋招瓜子携程笔试题解(含题目) 点赞有offer
  13. Appium之切换输入法
  14. Vue Websocket 监听 websocket.readyState
  15. 使用smbd实现windows和liunx的共享交互
  16. Bootstrap插件(一)——模态框(modal.js)
  17. 掌门教育们的在线教育直播授课老师,“被一张布困住了”
  18. 新手小白进阶_枚举 enum
  19. 基础题库:12 甲流疫情死亡率
  20. jquery的$().each(function(i){})和和$.each(,function(i,n){})的区别和用法

热门文章

  1. 超30亿人脸数据被泄露,美国AI公司遭科技巨头联合“封杀”
  2. [Win10] 解决 Office 安装后图标空白的问题
  3. stearm计算机验证码,steam账户名称怎么取,值得收藏
  4. win7计算器功能详解
  5. 表情包制作html,人脸表情包制作,如何用人脸制作表情包
  6. shadowdocksc错误;端口已被占用
  7. Android逆向工程实例 -- 善领安卓版DSA APP手势操作bug修复
  8. TBase开源版V2.1.0 集群搭建部署完整版
  9. 树莓派Zero的千兆测速
  10. python隐藏窗口_python怎么隐藏界面?