

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安信java编码规范复制您的姓名: 填空题 *_您的部门: 单选题 *互联网研发团队交易运营研发团队办公科技研发团队数据研发团队平台研发团队1. 关于多线程并行处理定时任务的情况,下列哪些说法符合规范? *推荐使用Timer方式处理;推荐使用ScheduledExecutorService方式处理;(正确答案)Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行;(正确答案)ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。(正确答案)2. KV结构的集合,在处理null值的存储上
2、有细微的区别,下列哪些说法是正确的? *TreeMap的key可以为null;TreeMap的key不可以为null;(正确答案)ConcurrentHashMap的key不可以为null;(正确答案)ConcurrentHashMap的value可以为null。3. 以下关于格式规约的说法,正确的有哪些? *代码块缩进2个空格,如果使用tab缩进,请设置成1个tab为2个空格;(正确答案)代码块缩进4个空格,如果使用tab缩进,请设置成1个tab为4个空格;(正确答案)行宽建议为200个字符;不同组的变量之间,不同业务逻辑的代码行之间,可以插入一个空行,起逻辑分段的作用。(正确答案)4. 关
3、于异常的处理方式,下列哪些说法是正确的? *为防止obj对象本身空指针异常,书写代码时应该注意加异常捕获处理,例如:try obj.method() catch(NullPointerException e);方法签名中,抛给调用者的关键字为throws;(正确答案)方法内部,抛出异常实例对象为throws;自定义异常,建议继承RuntimeException。(正确答案)5. hashCode 和 equals 方法的处理,遵循如下哪些规则? *只要重写 equals,就必须重写 hashCode。 而且选取相同的属性进行运算;(正确答案)只选取真正能决定对象是否一致的属性,而不是所有属性,
4、可以改善性能;(正确答案)对不可变对象,可以缓存 hashCode 值改善性能(比如 String 就是例子);(正确答案)类的属性增加时,及时重新生成 toString,hashCode 和 equals 方法。(正确答案)6. 关于Java代码的设计和开发注意事项,下列哪些说法符合? *所有的覆写方法,必须是强制加 Override;(正确答案)方法的参数名/局部变量名,不与类的成员变量重名 (getter/setter例外);(正确答案)POJO 类中布尔类型的变量名,可以加 is 前缀;枚举类名建议以 Enum 结尾。(正确答案)7. 下述哪些命名形式的说法是符合规范的? *为了简洁A
5、bstractClass或以缩写为 AbsClass;变量或方法禁用使用拼音或是拼写缩写进行命名;(正确答案)类名与接口名使用 UpperCamelCase 风格,遵从驼峰形式;(正确答案)局部变量可以随意使用 a1,a2,a3 等命名。8. 关于线程池管理线程的好处,下列哪些说法是正确的? *能够减少在创建和销毁线程上所花的时间以及系统资源的开销;(正确答案)使用线程池一定能避免OOM问题;线程资源必须通过线程池提供,不允许在应用中自行显式创建线程;(正确答案)线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题。9. 关于加锁,下列哪些说法符合规范? *可以只锁代码区块的情况下,就
6、不要锁整个方法体;(正确答案)高并发的业务场景下,要考虑加锁及同步处理带来的性能损耗,能用无锁数据结构,就不要用锁;(正确答案)能用对象锁的情况下,就不要用类锁;(正确答案)加锁时需要保持一致的加锁顺序,否则可能会造成死锁。(正确答案)10. 写代码的注释,哪些做种法符合规范定义? *如果命名和逻辑本身就足够清晰可以自解析,这时就不需要额外的注释;(正确答案)不要留着IDE自动生成的param,return,throws标记;(正确答案)类、类的公有成员的注释必须使用javadoc规范,不得使用/xxx方式;(正确答案)注释内容必须使用英语,防止发生乱码。11. 程序的方法设计上,我们应该尽可
7、能遵从这些约定? *一个方法尽量不要超过120行;(正确答案)超过5行以上的重复的代码,可以考虑抽取为公用方法;(正确答案)方法的参数最好不要超过3个,最多不要超过7个,太多的可以传入一个对象;(正确答案)对外提供的开放接口,API一定要有参数校验。(正确答案)12. 下列哪些做法是正确的? *声明为private的方法一般只是自己调用,可以忽略参数校验;(正确答案)从层次设计的角度看,Web/Service/Dao 越前面的层越需要进行参数校验;(正确答案)可以使用assert进行参数校验;返回值若有可能为Null,可以使用JDK8的Optional类。(正确答案)13. 关于日志级别的使用
8、,下列哪些说法符合规范? *info日志尽可能多输出,方便开发人员排查问题;如果使用warn来记录刚上线的业务行为信息,一定要注意日志的输出量,避免把硬盘撑爆,并记得及时删除这些观察日志;(正确答案)生产环境禁止输出debug日志;(正确答案)error级别只记录系统逻辑出错、异常或重要的错误信息。(正确答案)14. 在设计类的构造方法时,比较合理的做法有? *如果参数很多,组合也很多时,可以使用Builder设计模式;(正确答案)即使仍然用多构造方法时,也建议使用链式构造器模式,逐层加入默认值传递调用,把实现逻辑写在最多参数的方法上;(正确答案)将复杂的逻辑抽取到独立的方法,比如init()
9、,start(),让使用者显式调用;(正确答案)构造方法一般习惯生写在类的所有方法前面,按参数数量升序排序。(正确答案)15. 控制语句的用法,下述哪些说法是错误的? *if,else,for,while在遇到只有单条语句时可以不使用大括号;(正确答案)所有if/else/for/while/try的嵌套,一般不要超过4层,不然阅读有障碍;布尔表达式运算符(&,|)的个数不要超过4个,太复杂的可以先赋值给一个有意义的变量,以提高可读性;任何情况情况下都不要使用三目运算符。(正确答案)16. 如何正确在使用switch语法? *在一个switch块内,每个case要么通过break/return
10、等来终止,要么注释说明程序将继续执行到哪一个case为止;(正确答案)在一个switch块内,都必须包含一个default语句并且放在最后,即使它什么代码也没有;(正确答案)JDK7以后,switch支持字符串String,但是case标准必须为字符串常量或字面量;(正确答案)在一个switch块内,default语句可以在任意位置,也可以没有default语句。17. 关于控制语句,下列哪些说法是合理的? *if-else方式可以通过哨兵语句来减少嵌套层次;(正确答案)尽量减少使用取反的逻辑,大部分情况下,取反逻辑存在对应的正身逻辑写法;(正确答案)表达式中,能造成短路概率较大的逻辑应尽量放
11、在前面;(正确答案)try-catch尽可能不要放在循环休内。(正确答案)18. 如何合理地使用异常? *尽量使用JDK标准的Runtime异常如IllegalArgumentException、IllegalStateException;(正确答案)捕获异常一定要处理;如果故意捕获并忽略异常,须要注释写明原因;(正确答案)必须对资源对象、流对象进行关闭,或使用语法 try-with-resource;(正确答案)如果处理过程中有抛出异常的可能,也要做 try-catch,否则 finally 块中抛出的异常,将代替 try 块中抛出的异常。(正确答案)19. 关于数字类型的计算,哪些描述是正确的? *数字运算表达式,因为先进行等式右边的运算,再赋值给等式左边的变量,所以等式两边的类型要一致;(正确答案)取模做数组下标时,如果不处理负数的情况,很容易ArrayIndexOutOfBoundException;(正确答案)可以用double或float作金融货币计算,小精度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册土木工程师自测技巧试题及答案
- 2024全媒体运营师的反馈机制及试题及答案
- 全媒体运营师项目规划能力试题及答案
- 二零二五年度正常劳动合同签订与员工出差补贴协议合同
- 二零二五年度全款购入进口商务车合同范本
- 2025年度脱贫攻坚帮扶工作合作协议
- 二零二五年度数字经济合伙入股协议书
- 二零二五年度企业法人变更专项合同审查及执行细则
- 计算机与软件专业初级考试试题及答案
- 个人与村委会2025年度农村文化活动组织合同书
- 2025年公务车辆租赁管理合同范本
- 2025年会计招聘的面试题及答案
- 2025年工程测量员(技师)职业技能鉴定理论考试指导题库(含答案)
- 盈浦街道村务工作者招聘真题2024
- 金属熔融岗位培训课件
- 2025年车驾管知识题库查验业务知识考试题(附答案)
- 事故隐患内部举报奖励制度
- 万亩现代苹果产业示范园区项目实施计划方案
- 人力资源部ogsm计划
- 抹灰砂浆技术规程JGJT220-2010(完整版)
- 仓储行业保险承保指引
评论
0/150
提交评论