《2022年java编码规范考试题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年java编码规范考试题答案 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、vip 会员免费一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用Thread.setName(“”) 设置线程名B. 在 JDK1.5 或更新的版本中,若字符串拼接发生在单线程环境,使用StringBuffer C. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,
2、否则会引起JVM 资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DES B. AES C. SHA D. RSA 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 15 页 - - - - - - - - - - vip 会员免费4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1 B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESS D. 程序中的魔
3、鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。捕获异常后用exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用
4、意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同B. 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法C. 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 15 页 - - - - - - - - - - vip 会员免费D. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使
5、用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 copy = new java.io.File(f.getPath(); askUserPermission(copy.getPath(); / . return (Rando
6、mAccessFile)AccessController.doPrivileged(new PrivilegedAction () public Object run() return new RandomAccessFile(copy, copy.getPath(); ); A. final B. static 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 15 页 - - - - - - - - - - vip 会员免费C. volatile D. private 9. 安全编程规范中,
7、下面说法错误的是DA. 对外部输入进行校验B. 禁止不受信任的代码直接终止JVM C. 创建文件时指定合理的访问权限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. 用
8、“ = ”比较两个字符串内容相等12. 在下列哪个场景中,不需要加密和数字签名机制保证数据安全D A. 序列化传输敏感数据精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 15 页 - - - - - - - - - - vip 会员免费B. 无 SSL 传输通道或者代价太高C. 敏感数据需要持久化长久保存D. 同一信任域内组件间传递13. 下列 JDK 中的 API 调用中若使用不当易遭致OS 命令注入的是BA. java.lang.System.load() B. java.lang.Run
9、time.exec() C. java.lang.Thread.start() D. java.lang.Process.waitFor() 14. 如下描述不正确的是DA. 除了构建器外,不要使用和类名相同的方法名B. 使用equals() 比较两个类的值是否相同C. 不要使用嵌套赋值,即在一个表达式中使用多个= D. 重载equals() 方法时,不必要重载hashCode() 方法15. 下列不符合编码规范的是CA. 数据库、 IO 操作等需要使用结束close() 的对象必须在try-catch-finally 的 finally中close() B. 数组声明的时候使用int ind
10、ex ,而不要使用int index C. 所有的类必须重载toString()方法,返回该类有意义的内容D. 自己抛出的异常必须要填写详细的描述信息精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 15 页 - - - - - - - - - - vip 会员免费16. 对于下面的代码片段,假设 PasswordManager的实例可以被非信任代码所访问,且changePassword()方法调用属于敏感操作,则下列说法中不正确是的Cpublic class PasswordManager p
11、ublic final Object lock = new Object(); public void changePassword() throws FileNotFoundException synchronized (lock) / . . . A. changePassword()方法中应该包含安全管理器检查,以确认调用代码是否具有该操作权限B. 应该将 lock 成员变量的可见性声明为private C. 可以省去changePassword()方法中的同步块,直接将changePassword()方法声明为synchronized修饰的同步方法D. changePassword()
12、方法不应该抛出FileNotFoundException异常精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 15 页 - - - - - - - - - - vip 会员免费17. 推荐的防御SQL 注入的最佳方式是CA. 限制外部输入的长度B. 使用存储过程C. 使用预编译语句-java.sql.PreparedStatement D. 对外部输入进行转义18. JAAS授权类中,不包含以下哪一类DA. Policy B. AuthPermission C. PrivateCredentia
13、lPermission D. LoginContext 19.下面说法或者语句不符合公司编程规范的排版要求的是D A. 逗号、分号只在后面加空格; 比较操作符 , 赋值操作符 = 、 += , 算术操作符 + 、 % ,逻辑操作符 &、 & , 位域操作符 80 字符)要分成多行书写,长表达式要在低优先级操作符处划分新行, 操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读D. if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - -
14、- - - - - -第 7 页,共 15 页 - - - - - - - - - - vip 会员免费20. 对于注释的描述错误的是CA. 公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等B. 对重载父类的方法必须进行Override声明C. 对关键变量的定义必须编写注释,分支语句(条件分支、循环语句等),可以根据实际情况,可以增加注释,也可以不加,根据注释量确定D. 对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。对于非RuntimeException,即throws
15、子句声明会抛出的异常,必须在方法的注释中标明二、多选题21. 如下类名符合公司规范的有CDA. FtpDownload_Util B. DEBUGLOG C. OrderResponse D. UserManager 22. 如下哪些地方应该加上空行ABDA. import语句与类定义之间B. 注释与其上面的无关的代码之间C. 注释和被注释的代码之间精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 15 页 - - - - - - - - - - vip 会员免费D. 变量说明之后23. 关于局
16、部变量说法,符合编程规范的说法是ABCA. 不要定义不会被用到的局部变量,类私有属性,类私有方法和方法参数B. 几乎每一个局部变量的声明都应该包含一个初始化表达式C. 变量定义的“就近原则”D. 属性名可以和公有方法参数相同,也可以和局部变量相同24. 下列说法描述正确的是ABCDA. public方法参数的合法性检查应由方法本身负责,每一个 public方法必须保证自己的健壮性B. 调用方法获取返回结果后必须进行有效性校验,以确保后续代码在运行过程中不会抛出异常或产生逻辑错误C. 访问数组、 List 等容器内的元素时,必须首先检查下标是否越界,杜绝下标越界异常的发生D. 对于 if ? e
17、lse if ?(后续可能有多个else if ) 这种类型的条件判断,最后必须包含一个else 分支,避免出现分支遗漏造成错误;每个switch-case语句都必须保证有default ,避免出现分支遗漏,造成错误25. 下面关于存取控制符号的描述,符合编程规范的有ABCA. 只是该类内部调用的函数使用private 属性B. 继承类可以使用的使用protected属性C. 对外公开的函数使用public属性精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 15 页 - - - - - - -
18、 - - - vip 会员免费D. 类的成员变量的尽量采用protected修饰,其他类可以通过类的成员方法来访问和修改变量26. 下列关于类和接口的注释,正确的说法有ABCA. 放在 class 或者 interface关键字之前B. 放在 import关键字之后C. 注释主要是一句话功能简述与功能详细描述D. 类注释使用“/*/”注释方式27. 以下说法正确的有ABCDA. 一个系统或者模块应该统一规划异常类型和返回码的含义B. 异常的处理效率比条件分支低C. 异常的跳转流程难以预测D. 系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志28. 关于异常,以下说法正确的
19、有ACA. 运行时异常使用RuntimeException的子类来表示,不用在可能抛出异常的方法声明上加 throws子句B. 运行时异常使用RuntimeException的子类来表示,必须在可能抛出异常的方法声明上加 throws子句C. 非运行期异常是从Exception继承而来的,必须在方法声明上加throws子句D. 非运行期异常是从Exception继承而来的,不需要在方法声明上加throws子句精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 15 页 - - - - - - -
20、 - - - vip 会员免费29. 下述排版代码中,符合编码规范的是CDA. if (ij) doStart(); B. Object o = new Object(); Object b = null; C. 类定义 类的公有属性定义类的保护属性定义类的私有属性定义类的公有方法定义类的保护方法定义类的私有方法定义 D. typeCounter *= 2; 30. 循环嵌套的时候,下面哪些情况需要尽量避免ABCDA. 实例化对象B. try/catch C. 开启 IO D. 连接数据库精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - -
21、 - - - - - - -第 11 页,共 15 页 - - - - - - - - - - vip 会员免费31. 当与非信任代码(非产品包).ACD32. 以下哪些方式是被禁止的ABC33. 当外部输入用于以下。 。 。 。合法性验证。 。 。 。ABCD34. 以下哪些场景。 。 。安全检查ACD35. 下列异常中,哪些易引起信息泄露ABCD36. 下列关于编码相关,错误的是。 。ACD37. 目录遍历攻击。 。 。 。AC 38. 对于文件 IO 操作。 。 。 。 。ABCD39. 安全规范中,如下。 。 。正确的有ACD40. 为防止敏感数据传输。 。 。 。ABC三、判断题41
22、. 将字符串转换为数字时必须处理NumberFormatException异常42. 一个文件不要定义两个类(并非指内部类 )43. interface 中定义的常量不要写public 、static 、 final的修饰词,方法需要写public修饰词精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 15 页 - - - - - - - - - - vip 会员免费44. 应明确规定对接口方法参数的合法性检查应由方法的调用者负责还是由接口方法本身负责,缺省是由方法调用者负责45. 代码提交前
23、,需要消除相应的错误、告警,并将findbug清零46. 对于 switch语句下的 case 语句,必须在每个case 分支结束前加上break语句47. 判断语句可以使用”* = true”来判断为真48. 不要使用循环将集合转为数组,可以使用集合的toArray()方法49. 实 现Serializable接 口 的 可 序 列 化 类 应 该 显 式private static final声 明serialVersionUID50. 类属性和类方法可以交叉放置51. 敏感对象发出信任。 。 。52. 带有敏感。 。HTTP 。 。 。GET 。 。 。53. 不能直接将来自不。 。 。
24、一部分精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 15 页 - - - - - - - - - - vip 会员免费54. 对于 JSP 语言。 。访问55. 由于序列化将对象。 。 。 。不需要加密56. 对外部字符串。 。 。 。NFKC 57. 安全编码规范中。 。 。 。一个 jar 包中58. 对于 java.io.FileNotFoundException。 。 。 。59. 对外部输入进行。 。 。 “黑名单”方式60. 异常中的文本描述信息。 。信息泄露精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 15 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 15 页 - - - - - - - - - -