java编码规范考试题答案.docx

上传人:h**** 文档编号:788532 上传时间:2018-11-01 格式:DOCX 页数:14 大小:24.48KB
下载 相关 举报
java编码规范考试题答案.docx_第1页
第1页 / 共14页
java编码规范考试题答案.docx_第2页
第2页 / 共14页
java编码规范考试题答案.docx_第3页
第3页 / 共14页
java编码规范考试题答案.docx_第4页
第4页 / 共14页
java编码规范考试题答案.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、一、单选题1. 如下关于集合类的描述错误的是 BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有 BA. 新起一个线程,都要使用 Thread.setName(“”)设置线程名B. 在 JDK1.5 或更新的版本中,若字符串拼接发生在单线程环境,使用 StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起

2、JVM 资源耗尽3. 下面哪个是推荐使用的对称密码算法 BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有 CA. 程序中的一些状态多直接用数字表示,如函数执行成功 return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功 return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是 DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应

3、抛出太多类型的异常。 throws/exception 子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接 catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。捕获异常后用 exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有 DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同B. 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混

4、合法C. 方法中,存取属性的方法采用 setter 和 getter 方法,动作方法采用动词和动宾结构D. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static 修饰y1 7. 下列哪个场景可以使用 java.util.Random 类产生的随机数 CA. 挑战算法中的随机数生成B. 验证码的随机数生成C. 随机选取路由D. Web 应用会话标识符8. 一段使用 ZipInputStream 对压缩文件进行解压的代码,在1处填入适合的关键字是Apublic RandomAccessFile openFile(java.io.File f) 1 java.io.File

5、 copy = new java.io.File(f.getPath();askUserPermission(copy.getPath();/ .return (RandomAccessFile)AccessController.doPrivileged(new PrivilegedAction () public Object run() return new RandomAccessFile(copy, copy.getPath(););A. finalB. staticC. volatileD. private9. 安全编程规范中,下面说法错误的是 D A. 对外部输入进行校验B. 禁止

6、不受信任的代码直接终止 JVMC. 创建文件时指定合理的访问权限D. 记录日志时可以抛异常10. 若程序中需要获取操作系统登录用户名,应采取下列哪种方法来获取 CA. 提示用户输入B. 由环境变量获取:System.getenv(“USER“)C. 由 JVM 属性获取:System.getProperty(“user.name“)D. 启动程序的时候由程序参数传入11. 以下说法正确的是 A A. 尽量使用 Java 5.0 新循环写法B. 判断一个变量是否等于 null、或者一个常量,应把变量放在操作符的左边C. 方法参数不能超过 7 个D. 用 “=”比较两个字符串内容相等12. 在下列

7、哪个场景中,不需要加密和数字签名机制保证数据安全 DA. 序列化传输敏感数据B. 无 SSL 传输通道或者代价太高C. 敏感数据需要持久化长久保存D. 同一信任域内组件间传递13. 下列 JDK 中的 API 调用中若使用不当易遭致 OS 命令注入的是 BA. java.lang.System.load()B. java.lang.Runtime.exec()C. java.lang.Thread.start()D. java.lang.Process.waitFor()14. 如下描述不正确的是 DA. 除了构建器外,不要使用和类名相同的方法名B. 使用 equals() 比较两个类的值是否

8、相同C. 不要使用嵌套赋值,即在一个表达式中使用多个 =D. 重载 equals() 方法时,不必要重载 hashCode() 方法15. 下列不符合编码规范的是 CA. 数据库、IO 操作等需要使用结束 close()的对象必须在 try-catch-finally 的 finally 中close()B. 数组声明的时候使用 int index ,而不要使用 int indexC. 所有的类必须重载 toString()方法,返回该类有意义的内容D. 自己抛出的异常必须要填写详细的描述信息16. 对于下面的代码片段,假设 PasswordManager 的实例可以被非信任代码所访问,且 c

9、hangePassword()方法调用属于敏感操作,则下列说法中不正确是的 Cpublic class PasswordManagerpublic final Object lock = new Object(); public void changePassword() throws FileNotFoundExceptionsynchronized (lock) / . . .A. changePassword()方法中应该包含安全管理器检查,以确认调用代码是否具有该操作权限B. 应该将 lock 成员变量的可见性声明为 privateC. 可以省去 changePassword()方法中

10、的同步块,直接将 changePassword()方法声明为synchronized 修饰的同步方法D. changePassword()方法不应该抛出 FileNotFoundException 异常17. 推荐的防御 SQL 注入的最佳方式是 CA. 限制外部输入的长度B. 使用存储过程C. 使用预编译语句-java.sql.PreparedStatementD. 对外部输入进行转义18. JAAS 授权类中,不包含以下哪一类 DA. PolicyB. AuthPermissionC. PrivateCredentialPermissionD. LoginContext19. 下面说法或者

11、语句不符合公司编程规范的排版要求的是 DA. 逗号、分号只在后面加空格; 比较操作符, 赋值操作符“=“、 “+=“,算术操作符“+“、“%“,逻辑操作符“&“、“&“ ,位域操作符“80 字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读D. if, for, do, while 等语句的执行语句如果只有一行的话,不需要要加括号20. 对于注释的描述错误的是 CA. 公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等B. 对重载父类的方法必须进行Override 声

12、明C. 对关键变量的定义必须编写注释,分支语句(条件分支、循环语句等) ,可以根据实际情况,可以增加注释,也可以不加,根据注释量确定D. 对于方法内部用 throw 语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。 对于非 RuntimeException,即throws 子句声明会抛出的异常,必须在方法的注释中标明二、多选题21. 如下类名符合公司规范的有 CDA. FtpDownload_UtilB. DEBUGLOGC. OrderResponseD. UserManager22. 如下哪些地方应该加上空行 ABDA. import 语句

13、与类定义之间B. 注释与其上面的无关的代码之间C. 注释和被注释的代码之间D. 变量说明之后23. 关于局部变量说法,符合编程规范的说法是 ABCA. 不要定义不会被用到的局部变量,类私有属性,类私有方法和方法参数B. 几乎每一个局部变量的声明都应该包含一个初始化表达式C. 变量定义的“就近原则”D. 属性名可以和公有方法参数相同,也可以和局部变量相同24. 下列说法描述正确的是 ABCDA. public 方法参数的合法性检查应由方法本身负责,每一个 public 方法必须保证自己的健壮性B. 调用方法获取返回结果后必须进行有效性校验,以确保后续代码在运行过程中不会抛出异常或产生逻辑错误C.

14、 访问数组、List 等容器内的元素时,必须首先检查下标是否越界,杜绝下标越界异常的发生D. 对于 if ? else if ?(后续可能有多个 else if )这种类型的条件判断,最后必须包含一个else 分支,避免出现分支遗漏造成错误;每个 switch-case 语句都必须保证有 default,避免出现分支遗漏,造成错误25. 下面关于存取控制符号的描述,符合编程规范的有 ABCA. 只是该类内部调用的函数使用 private 属性B. 继承类可以使用的使用 protected 属性C. 对外公开的函数使用 public 属性D. 类的成员变量的尽量采用 protected 修饰,其

15、他类可以通过类的成员方法来访问和修改变量26. 下列关于类和接口的注释,正确的说法有 ABCA. 放在 class 或者 interface 关键字之前B. 放在 import 关键字之后C. 注释主要是一句话功能简述与功能详细描述D. 类注释使用“/*/”注释方式27. 以下说法正确的有 ABCDA. 一个系统或者模块应该统一规划异常类型和返回码的含义B. 异常的处理效率比条件分支低C. 异常的跳转流程难以预测D. 系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志28. 关于异常,以下说法正确的有 ACA. 运行时异常使用 RuntimeException 的子类来表示,不用在可能抛出异常的方法声明上加 throws 子句B. 运行时异常使用 RuntimeException 的子类来表示,必须在可能抛出异常的方法声明上加 throws 子句C. 非运行期异常是从 Exception 继承而来的,必须在方法声明上加 throws 子句D. 非运行期异常是从 Exception 继承而来的,不需要在方法声明上加 throws 子句

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。