一、单选题
1. 如下关于集合类的描述错误的是 B
A. 含有集合意义的属性命名,尽量包含其复数的意义
B. 集合中的数据不需要释放,垃圾回收器会自动回收
C. 集合必须指定模板类型
D. 使用集合类时要设置初始化容量
2. 关于线程以下说法错误的有B
A. 新起一个线程,都要使用Thread.setName(“…”)设置线程名
B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBuffer
C. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题
D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽
3. 下面哪个是推荐使用的对称密码算法B
A. DES
B. AES
C. SHA
D. RSA
4. 以下说法正确的有C
A. 程序中的一些状态多直接用数字表示,如函数执行成功return 1
B. 对于表示函数执行错误,多用约定的错误码来标识
C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESS
D. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义
5. 下列错误使用异常的做法是D
A. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常
B. 一个方法不应抛出太多类型的异常。throws/exception子句标明的异常最好不要超过三个
C. 异常捕获尽量不要直接 catch (Exception ex),应该把异常细分处理
D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。捕获异常后用exception.toString()取到详细信息后保存
6. 关于命名规范,以下说法错误的有D
A. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同
B. 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法
C. 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构
D. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static 修饰[y1] 
7. 下列哪个场景可以使用java.util.Random类产生的随机数C
A. 挑战算法中的随机数生成
B. 验证码的随机数生成
C. 随机选取路由
D. Web应用会话标识符
8. 一段使用ZipInputStream对压缩文件进行解压的代码,在[1]处填入适合的关键字是A
public RandomAccessFile openFile(java.io.File f) {
[1] java.io.File 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. final
B. static
C. volatile
D. private
9. 安全编程规范中,下面说法错误的是D[y2] 
A. 对外部输入进行校验
B. 禁止不受信任的代码直接终止JVM
C. 创建文件时指定合理的访问权限
D. 记录日志时可以抛异常
10. 若程序中需要获取操作系统登录用户名,应采取下列哪种方法来获取
A. 提示用户输入
B. 由环境变量获取:System.getenv("USER")
C. 由JVM属性获取:System.getProperty("user.name")
D. 启动程序的时候由程序参数传入
11. 以下说法正确的是C[y3] 
A. 尽量使用Java 5.0新循环写法
B. 判断一个变量是否等于null、或者一个常量,应把变量放在操作符的左边
C. 方法参数不能超过7个
D. 用“==”比较两个字符串内容相等
12. 在下列哪个场景中,不需要加密和数字签名机制保证数据安全D
A. 序列化传输敏感数据
B. 无SSL传输通道或者代价太高
C. 敏感数据需要持久化长久保存
D. 同一信任域内组件间传递
13. 下列JDK中的API调用中若使用不当易遭致OS命令注入的是B
A. java.lang.System.load()
B. java.lang.Runtime.exec()
C. java.lang.Thread.start()
D. java.lang.Process.waitFor()
14. 如下描述不正确的是D
A. 除了构建器外,不要使用和类名相同的方法名
B. 使用 equals() 比较两个类的值是否相同
C. 不要使用嵌套赋值,即在一个表达式中使用多个 =
D. 重载 equals() 方法时,不必要重载 hashCode() 方法
15. 下列不符合编码规范的是C
A. 数据库、IO操作等需要使用结束close()的对象必须在try-catch-finally 的finally中close()
B. 数组声明的时候使用 int[] index ,而不要使用 int index[]
C. 所有的类必须重载toString()方法,返回该类有意义的内容
D. 自己抛出的异常必须要填写详细的描述信息
16. 对于下面的代码片段,假设PasswordManager的实例可以被非信任代码所访问,且changePassword()方法调用属于敏感操作,则下列说法中不正确是的C
public class PasswordManager
{
public final Object lock = new Object();

public void changePassword() throws FileNotFoundException
{
synchronized (lock)

// . . .
}
}
}
A. changePassword()方法中应该包含安全管理器检查,以确认调用代码是否具有该操作权限
B. 应该将lock成员变量的可见性声明为private
C. 可以省去changePassword()方法中的同步块,直接将changePassword()方法声明为synchronized修饰的同步方法
D. changePassword()方法不应该抛出FileNotFoundException异常
17. 推荐的防御SQL注入的最佳方式是C
A. 限制外部输入的长度
B. 使用存储过程
C. 使用预编译语句--java.sql.PreparedStatement
D. 对外部输入进行转义
18. JAAS授权类中,不包含以下哪一类D
A. Policy
B. AuthPermission
C. PrivateCredentialPermission
D. LoginContext
19. 下面说法或者语句不符合公司编程规范的排版要求的是D
A. 逗号、分号只在后面加空格; 比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格; "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格
B. 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已是最清晰的标志了
C. 较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读
D. if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号{}
20. 对于注释的描述错误的是C
A. 公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等
B. 对重载父类的方法必须进行@Override声明
C. 对关键变量的定义必须编写注释,分支语句(条件分支、循环语句等),可以根据实际情况,可以增加注释,也可以不加,根据注释量确定
D. 对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。 对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明
二、多选题
21. 如下类名符合公司规范的有CD
A. FtpDownload_Util
B. DEBUGLOG
C. OrderResponse
D. UserManager
22. 如下哪些地方应该加上空行AB
A. import语句与类定义之间
B. 注释与其上面的无关的代码之间
C. 注释和被注释的代码之间
D. 变量说明之后
23. 关于局部变量说法,符合编程规范的说法是ABCD
A. 不要定义不会被用到的局部变量,类私有属性,类私有方法和方法参数
B. 几乎每一个局部变量的声明都应该包含一个初始化表达式
C. 变量定义的“就近原则”
D. 属性名可以和公有方法参数相同,也可以和局部变量相同
24. 下列说法描述正确的是ABC
A. public方法参数的合法性检查应由方法本身负责,每一个public方法必须保证自己的健壮性
B. 调用方法获取返回结果后必须进行有效性校验,以确保后续代码在运行过程中不会抛出异常或产生逻辑错误
C. 访问数组、List等容器内的元素时,必须首先检查下标是否越界,杜绝下标越界异常的发生
D. 对于if ? else if ?(后续可能有多个else if …)这种类型的条件判断,最后必须包含一个else分支,避免出现分支遗漏造成错误;每个switch-case语句都必须保证有default,避免出现分支遗漏,造成错误
25. 下面关于存取控制符号的描述,符合编程规范的有ABC
A. 只是该类内部调用的函数使用 private 属性
B. 继承类可以使用的使用protected属性
C. 对外公开的函数使用public属性
D. 类的成员变量的尽量采用protected修饰,其他类可以通过类的成员方法来访问和修改变量
26. 下列关于类和接口的注释,正确的说法有ABCD
A. 放在class或者interface关键字之前
B. 放在import关键字之后
C. 注释主要是一句话功能简述与功能详细描述
D. 类注释使用“/****/”注释方式
27. 以下说法正确的有ABCD
A. 一个系统或者模块应该统一规划异常类型和返回码的含义
B. 异常的处理效率比条件分支低
C. 异常的跳转流程难以预测
D. 系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志
28. 关于异常,以下说法正确的有AC
A. 运行时异常使用RuntimeException的子类来表示,不用在可能抛出异常的方法声明上加throws子句
B. 运行时异常使用RuntimeException的子类来表示,必须在可能抛出异常的方法声明上加throws子句
C. 非运行期异常是从Exception继承而来的,必须在方法声明上加throws子句
D. 非运行期异常是从Exception继承而来的,不需要在方法声明上加throws子句
29. 下述排版代码中,符合编码规范的是CD
A. if (i>j) doStart();
B. Object o = new Object(); Object b = null;
C. 类定义 { 类的公有属性定义 类的保护属性定义 类的私有属性定义 类的公有方法定义 类的保护方法定义 类的私有方法定义 }
D. typeCounter *= 2;
30. 循环嵌套的时候,下面哪些情况需要尽量避免ABCD
A. 实例化对象
B. try/catch
C. 开启IO
D. 连接数据库
三、判断题
31. 将字符串转换为数字时必须处理NumberFormatException异常
正确
错误√ 
32. 一个文件不要定义两个类(并非指内部类)
正确√ 
错误
33. interface 中定义的常量不要写public、static、final的修饰词,方法需要写public修饰词
正确
错误√ 
34. 应明确规定对接口方法参数的合法性检查应由方法的调用者负责还是由接口方法本身负责,缺省是由方法调用者负责
正确√ 
错误
35. 代码提交前,需要消除相应的错误、告警,并将findbug清零
正确√ 
错误
36. 对于switch语句下的case语句,必须在每个case分支结束前加上break语句
正确√ 
错误
37. 判断语句可以使用”* == true”来判断为真
正确
错误√ 
38. 不要使用循环将集合转为数组,可以使用集合的toArray()方法
正确√ 
错误
39. 实现Serializable接口的可序列化类应该显式private static final声明 serialVersionUID
正确√ 
错误
40. 类属性和类方法可以交叉放置
正确
错误√


java编程规范(chinasoft内部考试),答案并非全部正确。仅供参考相关推荐

  1. Java(面试题准备(非技术面)(仅供参考))

    Java(面试题准备(非技术面)(仅供参考)) 1. 请介绍一下你自己? 姓名.年龄.毕业学校- 突出积极的个性和做事的能力 要有礼貌 2. 你觉得你个性上最大的优点是什么? 乐于助人.关心他人.有一 ...

  2. Java面试题:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等,仅供参考

    第一部分 Java相关 1.1 JAVA基础 面向对象和面向过程的区别 Java 语言有哪些特点 关于 JVM JDK 和 JRE 最详细通俗的解答 Oracle JDK 和 OpenJDK 的对比 ...

  3. JAVA语言程序设计课后习题----第四单元解析(仅供参考)

    1 本题水题,主要理解题目的意思即可,访问方法和修改方法可以通过快捷方式alt+insert选中你需要的成员变量即可 1 public class Person { 2 public String n ...

  4. 上海开放大学计分作业四答案及题目(仅供参考,请勿耍小聪明)

    一.听力理解. 1(10) Listen to the winners of the competition, Jan and Karin, discussing which hotel they'r ...

  5. java两个项目之间通过webservice调用-源码仅供参考

    项目1.本项目为struts2项目所以需要配置配置文件 applicationcontex-cxf.xml配置 <!-- 定义具体实现的 Bean ,这个 Bean 的定义与 Spring 普通 ...

  6. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十周题解(个人向仅供参考)

    第10周 变量的作用域及编译预处理 1 求x的n次方(10分) 题目内容:编写求x的n次方的递归函数,在主函数调用并输出.(x为double型,n为整型,函数类型为double型) 输入格式: %lf ...

  7. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第五周题解(个人向仅供参考)

    第5周 循环结构程序设计 1 用for语句实现判断并求和.(10分) 题目内容: 求1~100以内 ( 包括100)能被3整除同时被5整除余数为1的所有数之和.要求用for语句完成. 输入格式: 无 ...

  8. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十一周题解(个人向仅供参考)

    第11周 指针一 1 利用指针编写程序,统计字符串的长度.(10分) 题目内容:利用指针编写程序,统计字符串的长度.(不要使用求字符串长度函数) 输入格式: gets() 输出格式: "Le ...

  9. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十三周题解(个人向仅供参考)

    第十三周 结构与共用体 1 某班有5名同学,建立一个学生的简单信息表,包括学号.姓名.3门课程的成绩,编写程序,计算每名学生的平均成绩及名次.(30分) 题目内容: 某班有5名同学,建立一个学生的简单 ...

  10. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第三周题解(个人向仅供参考)

    第3周 数据的输入与输出 题1 交换两个变量(5分) 题目内容: 编写程序, 输入两个整型变量,交换两个变量的值,输出交换后的变量 输入格式: %d,%d 输出格式: %d,%d 输入样例: 3,4 ...

最新文章

  1. linux大批量删除文件,Linux rm删除大批量文件
  2. LCD正向扫描和反向扫描
  3. C++ 之常对象,常对象成员
  4. Uipath 学习栏目基础教学:11、录制
  5. 地址池命令 思科理由_论CCNA基础之常用命令
  6. Finished yeah!
  7. Nacos(十二)之Java SDK
  8. windows 批处理把所有java源码导入一个txt文件中
  9. Linux下查看NVIDIA的GPU使用情况
  10. 【Elasticsearch源码】 更新性能分析
  11. 华为手机自带浏览器无法下载 iis 网站 apk 问题解决方案(和SSL有关)
  12. 拯救剁手党,出点闲置改善生活吧!
  13. 10个免费的顶级跨浏览器测试工具
  14. 【算法学习】求得一定数值范围内的所有质数
  15. 思杰pvs服务器压力无法最大化,XXX学校桌面虚拟化方案重点.docx
  16. GlusterFS基本部署
  17. 【c语言】组件化打包—静态库lib
  18. STM32学习笔记:FLASH读写之二
  19. 区块链学习笔记之三术语速查
  20. 【Proteus仿真】LCD1602+DS1307按键设置简易时钟

热门文章

  1. 社交网络与社会计算课程内容梳理总结
  2. 基于灰度的模板匹配算法
  3. jrtplib java,jrtplib 分包处理
  4. python实现黑客帝国动画效果
  5. matlab浮点转定点的函数,FPGA基础知识17(Matlab中滤波器的定点化 浮点运算转换为定点运算)...
  6. DialogBoxParam()在动态库调用中创建模式对话框
  7. pe系统如何读取手机_五分钟教会你pe系统制作
  8. 软件开发中的EJB是什么?
  9. window防火墙端口映射_Windows 防火墙上也有端口映射功能
  10. VS语音信号处理(1) C语言读取WAV语音文件文件头数据