阿里编码规范认证考试题库(免费版)
前言
闲来无事,收到阿里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)
下载地址
声明
试题来源于网络,手动整理,难免有重复,望谅解~
证书预览
最后
祝你考试成功!
阿里编码规范认证考试题库(免费版)相关推荐
- 阿里巴巴编码规范认证
某天在CSDN上面看了一个人的文章,说考了一个阿里巴巴编码规范认证,对自己编码规范确实有很大的提升,以及在面试的时候也是一个加分项, 然后博主也去考了一下,挺幸运的吧,考了两次,第二次过了,现在把这个 ...
- linux 认证考试 题库,Linux认证考试题库及答案
1.一个文件的'权限是-rw-rw-r--,这个文件所有者的权限是什么() a.read-only b.read-write c.write 答案 b 2.下面哪个值代表多用户启动() a.1 b.0 ...
- 深圳linux测试题库,Linux认证考试题库及答案
Linux认证考试题库及答案 1.一个文件的权限是-rw-rw-r--,这个文件所有者的'权限是什么() a.read-only b.read-write c.write 答案 b 2.下面哪个值代表 ...
- Pass4side EMC E20-817认证考试题库
Pass4side EMC E20-817认证考试题库 Pass4side EMC Symmetrix Business Continuity Expert Exam for Storage Admi ...
- 腾讯云TCA运维认证考试题库
腾讯云TCA运维认证考试题库 9.(1.0分)公司A的用户创建了一个存储桶,并在根目录下放置了一张图片,将该图片嵌入公司站点首页www.example.com,公司B由于不想付流量费用,通过引用该图片 ...
- 嵌入式linux工程师 考试,嵌入式助理工程师认证考试题库
嵌入式助理工程师认证考试题库 嵌入式认证考试就要开始了,为帮助同学们更好复习软件嵌入式助理工程师考试内容,yjbys小编为大家带来最新软件助理工程师认证考试题库,欢迎参考学习! 一.单项选择题 1.如 ...
- Cisco认证考试题库优惠券分享
CISCO认证考试优惠券CODE贡献给大家:GTOD081030 . 此优惠券购买思科考试题库即可享受20%的优惠. 需要的自己记下哈!~觉得好的话,大家就顶下哈!~用过的同仁们在论坛上发个战报 ...
- 阿里巴巴Java开发手册认证考试题库
注 转载自:https://baijiahao.baidu.com/s?id=1688631517911751367&wfr=spider&for=pc 此文作用于自己刷题使用,答案在 ...
- mysql 1z0_MySQL 8 OCP(1Z0-908)认证考试题库原题(第10题)
Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第10题 Choose the best answer. Examine these commands, which execute ...
- mysql ocp 认证 题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第10题)
Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第10题 Choose the best answer. Examine these commands, which execute ...
最新文章
- Shell——流程控制(if、case、for、while)
- Java面试题 20在面向对象编程里,经常使用is-a来说明对象之间的继承关系
- mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)
- Java单机部署,Nacos docker单机模式部署实现过程详解
- 跟谁学宣布独立调查结论:没有造假 盘后股价涨超8%
- Extjs中的组件含有ID,会导致界面混乱。(textfield,comboBox等)
- 用户画像之门店用户类型的体系
- 快速生成Plugman中的lib-file、source-file的xml内容
- STM32固件库编程入门
- 2022年P气瓶充装考试模拟100题模拟考试平台操作
- 路由器回执路由配置_如何用console线连接路由器进行初始配置-----无私奉献版(转载请注明出处)...
- 瓜子2019笔试java_2019秋招瓜子携程笔试题解(含题目) 点赞有offer
- Appium之切换输入法
- Vue Websocket 监听 websocket.readyState
- 使用smbd实现windows和liunx的共享交互
- Bootstrap插件(一)——模态框(modal.js)
- 掌门教育们的在线教育直播授课老师,“被一张布困住了”
- 新手小白进阶_枚举 enum
- 基础题库:12 甲流疫情死亡率
- jquery的$().each(function(i){})和和$.each(,function(i,n){})的区别和用法
热门文章
- 超30亿人脸数据被泄露,美国AI公司遭科技巨头联合“封杀”
- [Win10] 解决 Office 安装后图标空白的问题
- stearm计算机验证码,steam账户名称怎么取,值得收藏
- win7计算器功能详解
- 表情包制作html,人脸表情包制作,如何用人脸制作表情包
- shadowdocksc错误;端口已被占用
- Android逆向工程实例 -- 善领安卓版DSA APP手势操作bug修复
- TBase开源版V2.1.0 集群搭建部署完整版
- 树莓派Zero的千兆测速
- python隐藏窗口_python怎么隐藏界面?