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. 逗号、分号只在后面加空格; 比较操作符, 赋值操作符“=“、 “+=“,算术操作符“+“、“%“,逻辑操作符“B. Object o = new Object(); Object b = null;C. 类定义 类的公有属性定义 类的保护属性定义 类的私有属性定义 类的公有方法定义 类的保护方法定义 类的私有方法定义 D. typeCounter *= 2;30. 循环嵌套的时候,下面哪些情况需要尽量避免 ABCDA. 实例化对象B. try/catchC. 开启 IOD. 连接数据库31.当与非信任代码(非产品包) ACD32.以下哪些方式是被禁
12、止的 ABC33.当外部输入用于以下。 。 。 。合法性验证。 。 。 。ABCD34.以下哪些场景。 。 。安全检查 ACD35.下列异常中,哪些易引起信息泄露 ABCD36.下列关于编码相关,错误的是。 。 。ACD37.目录遍历攻击。 。 。 。AC38.对于文件 IO 操作。 。 。 。 。ABCD39.安全规范中,如下。 。 。正确的有 ACD40.为防止敏感数据传输。 。 。 。ABC三、判断题41. 将字符串转换为数字时必须处理 NumberFormatException 异常42. 一个文件不要定义两个类(并非指内部类)43. interface 中定义的常量不要写 publi
13、c、static、final 的修饰词,方法需要写public 修饰词 44. 应明确规定对接口方法参数的合法性检查应由方法的调用者负责还是由接口方法本身负责,缺省是由方法调用者负责45. 代码提交前,需要消除相应的错误、告警,并将 findbug 清零46. 对于 switch 语句下的 case 语句,必须在每个 case 分支结束前加上 break 语句47. 判断语句可以使用”* = true”来判断为真 48. 不要使用循环将集合转为数组,可以使用集合的 toArray()方法49. 实现 Serializable 接口的可序列化类应该显式 private static final 声明 serialVersionUID 50. 类属性和类方法可以交叉放置 51.敏感对象发出信任。 。 。52.带有敏感。 。 。HTTP。 。 。GET。 。 。53.不能直接将来自不。 。 。一部分54.对于 JSP 语言。 。 。访问55.由于序列化将对象。 。 。 。不需要加密56.对外部字符串。 。 。 。NFKC 57.安全编码规范中。 。 。 。一个 jar 包中58.对于 java.io.FileNotFoundException。 。 。 。59.对外部输入进行。 。 。 “黑名单”方式60.异常中的文本描述信息。 。 。信息泄露