Wwx答案几率
同一进程下的多个线程可以共享哪一种资源()
A. stack
B. data section
C. register set
D. thread ID
你的回答: D
下面哪种防护措施对XML注入没有防护作用
A. 使得dom4j等xml库对xml进行编辑
B. 对外部输入进行白名单校验
C. 在拼接xml字符串前,对外部输入进行转码处理
D. 将不可信数据拼接xml字符串,在解析前对xml字符串进行转码处理
你的回答: B 错了
public class Test { public static void main(String[] args) { String myStr = “Hello World”; myStr.trim(); int i1 =myStr.indexOf(" "); System.out.println(i1); } } what is the result?
A. An exception is thrown at runtime.
B. -1
C. 5
D. 0
你的回答: C
下面有关List接口、Set接口和Map接口的描述,错误的是?
A. 他们都继承自Collection接口
B. List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置
C. Set是一种不包含重复的元素的Collection
D. Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value
你的回答: A
线程的优先级在1 至10之间,数值越小任务越紧急
A. 正确
B. 错误
你的回答: B
编程规范:以下协议哪个是不安全的:
A. FTP
B. SSHv2
C. TLS1.2
D. SNMPv3
你的回答: A
编程规范:以下协议哪个是不安全的:
A. FTP
B. SSHv2
C. TLS1.2
D. SNMPv3
你的回答: A
哪个关键字可以对对象加互斥锁?()
A. synchronized
B. volatile
C. serialize
D. static
你的回答: A
下列哪个关键词可以解决线程同步中的数据不匹配问题()
A. finally
B. synchronized
C. return
D. static
你的回答: B
编程规范:用括号明确表达式的操作顺序,避免过分依赖默认优先级。
A. 正确
B. 错误
你的回答: a
编程规范:创建敏感文件时,需要显示指定文件的权限,从而可以防止未经授权的用户访问该文件。
A. 正确
B. 错误
你的回答: A
编程规范:创建敏感文件时,需要显示指定文件的权限,从而可以防止未经授权的用户访问该文件。
A. 正确
B. 错误
你的回答: A
异常可以减少代码嵌套的层次,而错误会增加代码嵌套。
A. 正确
B. 错误
你的回答: A
class Test { int a1; public static void doProduct(int a) { a = a * a; } public static void doString(StringBuilder s) { s.append(" " + s); } public static void main(String[] args) { Test item = new Test(); item.a1 =11; StringBuilder sb = new StringBuilder(“Hello”); Integer i = 10; doProduct(i); doString(sb); doProduct(item.a1); System.out.println(i + " " + sb + " " +item.a1); } } What is the result?
A. 10 Hello Hello 11
B. 10 Hello Hello 121
C. 100 Hello Hello 121
D. 10 Hello 21
你的回答: A
应用程序的main方法中有以下语句,则输出的结果( ) String s1=new String( " xyz " ); String s2=new String( " xyz " ); Boolean b1=s1.equals(s2); Boolean b2=(s1==s2); System .out.print(b1+ " " +b2);
A. true false
B. false true
C. true true
D. false false
你的回答: A
使用泛型,当从集合类中读取一个对象时,就不用手工进行类型转换。
A. 正确
B. 错误
你的回答: A
case语块句结束时如果不加break,需要有注释说明(fall-through)。
A. 正确
B. 错误
你的回答: A
单选 编程规范:WEB页面中用户输入的账户、密码等信息可以直接存储到服务器中,并可以在管理web页面中展示用以进行维护。
A. 正确
B. 错误
你的回答: B
单选 如果将脚本指令插入到WEB应用程序URL,并且注意到该脚本指令可以在页面环境中执行,可能会发生下列哪种攻击?
A. SQL注入
B. 反射型跨站脚本
C. 会话劫持
D. 持久型跨站脚本
你的回答: B
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: A
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: b
代码片段: byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6); 关于上面代码片段叙述正确的是()
A. 输出结果:13
B. 语句:b6=b4+b5编译出错
C. 语句:b3=b1+b2编译出错
D. 运行期抛出异常
你的回答: C
如下代码: public class Foo { public static void main(String[] args) { try { return; } finally { System.out.println( “Finally” ); } } } 输出结果是什么?
A. Finally
B. 编译失败
C. 代码正常运行但没有任何输出.
D. 运行时抛出异常
你的回答: A
下列循环语句序列执行完成后,i的值是() int i; for(i=2;i<=10;i++){ System.out.println(i); }
A. 2
B. 10
C. 11
D. 不确定
你的回答: C
如果输入源或输出目标直接支持,尽可能直接使用Unicode进行输入输出。
A. 正确
B. 错误
你的回答: A
下面关于垃圾收集的说法正确的是
A. 一旦一个对象成为垃圾,就立刻被收集掉。
B. 对象空间被收集掉之后,会执行该对象的finalize方法
C. finalize方法和C++的析构函数是完全一回事情
D. 一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此
你的回答: D
编程规范:Java平台沙箱安全模型包含以下哪几个安全组件
A. 类加载器
B. 类文件校验器
C. 安全管理器
D. 语法分析器
你的回答: A、B、C
局部内部类可以使用哪些修饰符
A. public
B. private
C. abstract
D. final
你的回答: C、D
关于大括号的使用,说法正确的是( )
A. 左大括号放行末时,其前方要保持1空格
B. if/while/switch/for语句必须要有大括号
C. if/while/switch/for语句的左大括号跟随放行末
D. 方法左大括号另起并独占一行
你的回答: A、B、C
关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
下列选项中属于面向对象程序设计语言特征的是
A. 继承性
B. 多态性
C. 相似性
D. 封装性
你的回答: A、B、D
下列哪个场景可能导致信息泄露?( )
A. 用户输入
B. 进程间的通信数据
C. 用户态输入
D. 外部调用的参数
你的回答: A、B、C、D
目录遍历攻击可以直接带来哪些危害:( )
A. 攻击者可以访问受限目录和文件
B. 攻击者可以改变程序的运行逻辑
C. 攻击者可以执行恶意的命令或程序
D. 攻击者以窃取内存中数据
你的回答: A、C 错了
多选 下面哪些攻击或漏洞是由于未对程序输入做有效的校验与限制所导致:( )
A. zip炸弹攻击
B. SQL注入
C. OS命令注入
D. 目录遍历攻击
你的回答: A、B、C、D
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
对第三方抛出的异常进行封装的理由是:( )
A. 直接利用第三方异常减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
编程规范:下列哪些场景可能导致信息泄露
A. 用户输入
B. 进程间的通信数据
C. 用户态输入
D. 外部调用的参数
你的回答: A、B、C、D
以下哪些场景可能会导致攻击者绕过安全检查:( )
A. 只检查当前调用者
B. 检查整个调用栈
C. Java applets允许给自己授权执行任意代码
D. 覆写安全检查执行的方法
你的回答: A、C、D
不用的代码直接删除掉,而不是注释掉,是因为:( )
A. 单元测试、自动化测试等无法覆盖注释掉的代码,其中有可能隐藏缺陷
B. 注释掉的代码无法被正常维护,不可信任
C. 注释掉的代码影响其他有用代码的阅读
你的回答: A、B、C
不用的代码直接删除掉,而不是注释掉,是因为:( )
A. 单元测试、自动化测试等无法覆盖注释掉的代码,其中有可能隐藏缺陷
B. 注释掉的代码无法被正常维护,不可信任
C. 注释掉的代码影响其他有用代码的阅读
你的回答: A、B、C
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: A、B、C、D错了
编程规范:路径遍历的防御式编程通常包括
A. 路径标准化(Canonicalize & Normalize)
B. 输入净化(Input Sanitzation)
C. 路径校验(Validation)
D. access()函数校验(Using access() to check)
你的回答: A、B、C
对于文件IO操作,下列哪些说法是正确的( )
A. 临时文件使用完毕应该及时删除
B. 避免让外部进程阻塞在输入输出流上
C. 避免在共享目录操作文件
D. 创建文件时指定合理的访问权限
你的回答: A、B、C、D
假如某个JAVA进程的JVM参数配置如下: -Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3, 请问eden区最终分配的大小是多少?
A. 64M
B. 500M
C. 300M
D. 100M
你的回答: B错了
建议方法的参数个数不超过( )个
A. 5
B. 6
C. 7
D. 8
你的回答: A
输入过滤不可以防止以下哪种漏洞?
A. XSS
B. SQL 注入
C. XML注入
D. CSRF
你的回答: D错了
下面对线程同步描述错误的是:
A. 同步方法与基于this引用的同步代码块使用的是相同的锁
B. 使用private final的锁对象更安全
C. Java中一般会使用同步方法或同步代码块实现线程同步操作
D. 对于单例模式的java类,即使该类对象可暴露给不可信代码,使用同步方法可以正确进行线程同步
你的回答: D
在下列哪个场景中,不需要加密和数字签名机制保证数据安全
A. 同一信任域内组件间传递
B. 序列化传输敏感数据
C. 无SSL传输通道或者代价太高
D. 敏感数据需要持久化长久保存
你的回答: A
下面代码输出是什么? class C { C() { System.out.print(“C”); } } class A { C c = new C(); A() { this(“A”); System.out.print(“A”); } A(String s) { System.out.print(s); } } public class Test extends A { Test() { super(“B”); System.out.print(“B”); } public static void main(String[] args) { new Test(); } }
A. BB
B. CBB
C. BAB
D. 全部都不是
你的回答: D 错了
关于输入校验原则描述错误的是
A. 不要依赖服务端检验
B. 不要依赖客户端检验
C. 可以采用正则表达式检验
D. 假设所有输入都是恶意的
你的回答: B 错了
为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为( )
A. static void method()
B. public void method
C. protected void method()
D. abstract void method()
你的回答: A
如下代码: class Base { Base() { System.out.print(“Base”); } } public class Alpha extends Base { public static void main( String[] args ) { new Alpha(); new Base(); } } 结果是什么?
A. Base
B. BaseBase
C. 编译失败.
D. 代码运行但没有输出.
E. 运行时抛出异常
你的回答: D 错了
编程规范:关于敏感信息说法错误的是
A. 敏感信息包括不限于加密秘钥、用户口令、身份ID、安全连接回话ID
B. 口令明文不可打印到日志中,但是口令密文是可以的
C. 保存敏感信息的变量使用完后应该及时显示清除。
D. 若特殊原因需要打印敏感信息,则敏感信息需要使用*等特殊字符来代替,且不可展示出敏感信息的长度
你的回答: D 错了
子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
A. 父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块->子类A构造函数->子类A非静态代码块
B. 父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
C. 父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
D. 父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
你的回答: C
若程序中需要获取操作系统用户名,应采取下列哪种方法来获取:
A. 提示用户输入
B. 由环境变量获取:System.getenv(“USER”)
C. 由JVM属性获取:System.getProperty(“user.name”)
D. 启动程序的时候由程序参数传入
你的回答: C
如果一个list初始化为{5,3,1},执行以下代码后,其结果为()? nums.add(6); nums.add(0,4); nums.remove(1);
A. [5, 3, 1, 6]
B. [4, 3, 1, 6]
C. [4, 3, 6]
D. [5, 3, 6]
你的回答: B
如果一个list初始化为{5,3,1},执行以下代码后,其结果为()? nums.add(6); nums.add(0,4); nums.remove(1);
A. [5, 3, 1, 6]
B. [4, 3, 1, 6]
C. [4, 3, 6]
D. [5, 3, 6]
你的回答: B
编程规范:当一个表达式包含多个运算符时,应该尽量使用默认优先级来保证表达式的运算顺序。
A. 正确
B. 错误
你的回答: B
System.out.println(10%3*2)
A. 1
B. 2
C. 4
D. 6
你的回答: B
关于访问权限,说法正确的是? ( )
A. 类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB
B. 类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB
C. 访问权限大小范围:public > 包权限 > protected > private
D. 访问权限大小范围:public > 包权限 > private > protected
你的回答: C 错了应该是b
下列对线程操作的描述,正确的是
A. 同步方法或使用对象内置锁的同步代码块中,不需要考虑锁释放的问题
B. 使用非线程安全的方法来覆写线程安全的方法
C. 直接调用Thread.run()方法可以启动一个线程
D. 推荐使用Thread.stop()来终止线程
你的回答: D
下列程序test 类中的变量c 的最后结果为 public class Test { public static void main(String args[]) { int a = 10; int b; int c; if (a > 50) { b = 9; } c = b + a; } }
A. 10
B. 0
C. 19
D. 编译出错
你的回答: D
以下代码的输出的正确结果是 public class Test { public static void main(String args[]) { String s = “祝你考出好成绩!”; System.out.println(s.length()); } }
A. 24
B. 16
C. 15
D. 8
你的回答: D
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: A
下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?
A. 实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
B. 局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
C. 类变量指的是用static修饰的属性
D. final变量指的是用final 修饰的变量
你的回答: C 错了
所有方法都要加方法头注释。
A. 正确
B. 错误
你的回答: B
建议使用( )来做错误处理
A. 错误码
B. 异常
C. 包装类
D. 日志
你的回答: B
在switch(expression)语句中,expression的数据类型不能是:( )
A. double
B. char
C. byte
D. short
你的回答: A
如果输入源或输出目标直接支持,尽可能直接使用Unicode进行输入输出。
A. 正确
B. 错误
你的回答: A
方法命名无法表达的信息,必须加方法头注释辅助说明;禁止空有格式的方法头。
A. 正确
B. 错误
你的回答: A
直接将外部输入的数据记录到日志中,可能会存在哪些安全风险?( )
A. 日志注入
B. 敏感信息泄露
C. CSRF
D. XML注入
你的回答: A、B
JAVA平台沙箱安全模型包含以下哪几个安全组件( )
A. 类加载器
B. 类文件校验器
C. 安全管理器
D. 语法分析器
你的回答: A、B、C
请选择下列选项中属于JAVA基本数据类型的()
A. byte
B. Integer
C. String
D. char
E. long
你的回答: A、D、关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
什么时候需要增加空格:()
A. 变量与自增运算符(++)之间
B. if关键字后面
C. 逗号、分号与后续内容之间
D. 注释符与注释内容之间
你的回答: B、C、D
下面命名中适合大驼峰的有哪些( )
A. 类
B. 接口
C. static final常量
D. 方法
你的回答: A、B
编程规范:下列哪些选项属于SQL注入的危害
A. 窃取数据库敏感信息
B. 对数据进行恶意的增删改
C. 执行系统命令
D. 获取服务器权限
你的回答: A、B、C、D
需对第三方抛出的异常进行封装的理由是:( )
A. 直接利用第三方异常减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
下列说法正确的是()?
A. 对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们
B. 成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)
C. 由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的
D. 静态内部类可以访问外部类的成员变量
你的回答: A、B
面选项中,哪些是interface中合法方法定义?()
A. public void main(String [] args);
B. private int getSum();
C. boolean setFlag(Boolean [] test);
D. public float get(int x);
你的回答: A、C、D
目录遍历攻击可以直接带来哪些危害:( )
A. 攻击者可以访问受限目录和文件
B. 攻击者可以改变程序的运行逻辑
C. 攻击者可以执行恶意的命令或程序
D. 攻击者以窃取内存中数据
你的回答: A、C 错误
正确使用异常机制事半功倍,以下说法正确的是( )
A. 注释和文档中应该包含所抛出的异常说明
B. 异常信息中可以包含敏感信息和个人信息
C. 方法抛出的异常,应该与本身的抽象层次相对应
D. 异常机制不能取代正常的业务逻辑判断
你的回答: A、C、D
下列关于输入校验说法错误的是( )
A. 软件最为普遍的缺陷就是对来自客户端或者外部环境的数据没有进行正确的合法性校验。这种缺陷可以导致几乎所有的程序弱点。
B. 输入校验中如果没有特殊要求,应当首先考虑采用“白名单”校验形式。
C. 可以直接使用任意用户输入来构造格式化字符串,不会带来安全风险。
D. 当程序需要用户上传文件时,严格校验用户上传的文件后缀名可以有效防止可执行文件上传漏洞。
你的回答: C、D
编程规范:对外部输入的参数进行校验,可采用的校验方式有:
A. 输入验证前,对数据进行归一化处理以防止字符串转义绕过校验
B. 校验输入数据的范围
C. 输入校验应当采用“白名单”形式
D. 校验输入数据长度
你的回答: A、B、C、D
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: B、C、D
单选 执行完以下代码 int [ ] x = new int[10] ;后,以下哪项说明是正确的( )
A. x[9]为0
B. x[9]未定义
C. x[10]为0
D. x[0]为空
你的回答: A
同一进程下的多个线程可以共享哪一种资源()
A. stack
B. data section
C. register set
D. thread ID
你的回答: D
下面哪种防护措施对XML注入没有防护作用
A. 使得dom4j等xml库对xml进行编辑
B. 对外部输入进行白名单校验
C. 在拼接xml字符串前,对外部输入进行转码处理
D. 将不可信数据拼接xml字符串,在解析前对xml字符串进行转码处理
你的回答: B 错了
public class Test { public static void main(String[] args) { String myStr = “Hello World”; myStr.trim(); int i1 =myStr.indexOf(" "); System.out.println(i1); } } what is the result?
A. An exception is thrown at runtime.
B. -1
C. 5
D. 0
你的回答: C
下面有关List接口、Set接口和Map接口的描述,错误的是?
A. 他们都继承自Collection接口
B. List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置
C. Set是一种不包含重复的元素的Collection
D. Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value
你的回答: A
线程的优先级在1 至10之间,数值越小任务越紧急
A. 正确
B. 错误
你的回答: B
编程规范:以下协议哪个是不安全的:
A. FTP
B. SSHv2
C. TLS1.2
D. SNMPv3
你的回答: A
编程规范:以下协议哪个是不安全的:
A. FTP
B. SSHv2
C. TLS1.2
D. SNMPv3
你的回答: A
哪个关键字可以对对象加互斥锁?()
A. synchronized
B. volatile
C. serialize
D. static
你的回答: A
下列哪个关键词可以解决线程同步中的数据不匹配问题()
A. finally
B. synchronized
C. return
D. static
你的回答: B
编程规范:用括号明确表达式的操作顺序,避免过分依赖默认优先级。
A. 正确
B. 错误
你的回答: a
编程规范:创建敏感文件时,需要显示指定文件的权限,从而可以防止未经授权的用户访问该文件。
A. 正确
B. 错误
你的回答: A
编程规范:创建敏感文件时,需要显示指定文件的权限,从而可以防止未经授权的用户访问该文件。
A. 正确
B. 错误
你的回答: A
异常可以减少代码嵌套的层次,而错误会增加代码嵌套。
A. 正确
B. 错误
你的回答: A
class Test { int a1; public static void doProduct(int a) { a = a * a; } public static void doString(StringBuilder s) { s.append(" " + s); } public static void main(String[] args) { Test item = new Test(); item.a1 =11; StringBuilder sb = new StringBuilder(“Hello”); Integer i = 10; doProduct(i); doString(sb); doProduct(item.a1); System.out.println(i + " " + sb + " " +item.a1); } } What is the result?
A. 10 Hello Hello 11
B. 10 Hello Hello 121
C. 100 Hello Hello 121
D. 10 Hello 21
你的回答: A
应用程序的main方法中有以下语句,则输出的结果( ) String s1=new String( " xyz " ); String s2=new String( " xyz " ); Boolean b1=s1.equals(s2); Boolean b2=(s1==s2); System .out.print(b1+ " " +b2);
A. true false
B. false true
C. true true
D. false false
你的回答: A
使用泛型,当从集合类中读取一个对象时,就不用手工进行类型转换。
A. 正确
B. 错误
你的回答: A
case语块句结束时如果不加break,需要有注释说明(fall-through)。
A. 正确
B. 错误
你的回答: A
单选 编程规范:WEB页面中用户输入的账户、密码等信息可以直接存储到服务器中,并可以在管理web页面中展示用以进行维护。
A. 正确
B. 错误
你的回答: B
单选 如果将脚本指令插入到WEB应用程序URL,并且注意到该脚本指令可以在页面环境中执行,可能会发生下列哪种攻击?
A. SQL注入
B. 反射型跨站脚本
C. 会话劫持
D. 持久型跨站脚本
你的回答: B
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: A
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: b
代码片段: byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6); 关于上面代码片段叙述正确的是()
A. 输出结果:13
B. 语句:b6=b4+b5编译出错
C. 语句:b3=b1+b2编译出错
D. 运行期抛出异常
你的回答: C
如下代码: public class Foo { public static void main(String[] args) { try { return; } finally { System.out.println( “Finally” ); } } } 输出结果是什么?
A. Finally
B. 编译失败
C. 代码正常运行但没有任何输出.
D. 运行时抛出异常
你的回答: A
下列循环语句序列执行完成后,i的值是() int i; for(i=2;i<=10;i++){ System.out.println(i); }
A. 2
B. 10
C. 11
D. 不确定
你的回答: C
如果输入源或输出目标直接支持,尽可能直接使用Unicode进行输入输出。
A. 正确
B. 错误
你的回答: A
下面关于垃圾收集的说法正确的是
A. 一旦一个对象成为垃圾,就立刻被收集掉。
B. 对象空间被收集掉之后,会执行该对象的finalize方法
C. finalize方法和C++的析构函数是完全一回事情
D. 一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此
你的回答: D
编程规范:Java平台沙箱安全模型包含以下哪几个安全组件
A. 类加载器
B. 类文件校验器
C. 安全管理器
D. 语法分析器
你的回答: A、B、C
局部内部类可以使用哪些修饰符
A. public
B. private
C. abstract
D. final
你的回答: C、D
关于大括号的使用,说法正确的是( )
A. 左大括号放行末时,其前方要保持1空格
B. if/while/switch/for语句必须要有大括号
C. if/while/switch/for语句的左大括号跟随放行末
D. 方法左大括号另起并独占一行
你的回答: A、B、C
关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
下列选项中属于面向对象程序设计语言特征的是
A. 继承性
B. 多态性
C. 相似性
D. 封装性
你的回答: A、B、D
下列哪个场景可能导致信息泄露?( )
A. 用户输入
B. 进程间的通信数据
C. 用户态输入
D. 外部调用的参数
你的回答: A、B、C、D
目录遍历攻击可以直接带来哪些危害:( )
A. 攻击者可以访问受限目录和文件
B. 攻击者可以改变程序的运行逻辑
C. 攻击者可以执行恶意的命令或程序
D. 攻击者以窃取内存中数据
你的回答: A、C 错了
多选 下面哪些攻击或漏洞是由于未对程序输入做有效的校验与限制所导致:( )
A. zip炸弹攻击
B. SQL注入
C. OS命令注入
D. 目录遍历攻击
你的回答: A、B、C、D
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
对第三方抛出的异常进行封装的理由是:( )
A. 直接利用第三方异常减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
编程规范:下列哪些场景可能导致信息泄露
A. 用户输入
B. 进程间的通信数据
C. 用户态输入
D. 外部调用的参数
你的回答: A、B、C、D
以下哪些场景可能会导致攻击者绕过安全检查:( )
A. 只检查当前调用者
B. 检查整个调用栈
C. Java applets允许给自己授权执行任意代码
D. 覆写安全检查执行的方法
你的回答: A、C、D
不用的代码直接删除掉,而不是注释掉,是因为:( )
A. 单元测试、自动化测试等无法覆盖注释掉的代码,其中有可能隐藏缺陷
B. 注释掉的代码无法被正常维护,不可信任
C. 注释掉的代码影响其他有用代码的阅读
你的回答: A、B、C
不用的代码直接删除掉,而不是注释掉,是因为:( )
A. 单元测试、自动化测试等无法覆盖注释掉的代码,其中有可能隐藏缺陷
B. 注释掉的代码无法被正常维护,不可信任
C. 注释掉的代码影响其他有用代码的阅读
你的回答: A、B、C
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: A、B、C、D错了
编程规范:路径遍历的防御式编程通常包括
A. 路径标准化(Canonicalize & Normalize)
B. 输入净化(Input Sanitzation)
C. 路径校验(Validation)
D. access()函数校验(Using access() to check)
你的回答: A、B、C
对于文件IO操作,下列哪些说法是正确的( )
A. 临时文件使用完毕应该及时删除
B. 避免让外部进程阻塞在输入输出流上
C. 避免在共享目录操作文件
D. 创建文件时指定合理的访问权限
你的回答: A、B、C、D
假如某个JAVA进程的JVM参数配置如下: -Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3, 请问eden区最终分配的大小是多少?
A. 64M
B. 500M
C. 300M
D. 100M
你的回答: B错了
建议方法的参数个数不超过( )个
A. 5
B. 6
C. 7
D. 8
你的回答: A
输入过滤不可以防止以下哪种漏洞?
A. XSS
B. SQL 注入
C. XML注入
D. CSRF
你的回答: D错了
下面对线程同步描述错误的是:
A. 同步方法与基于this引用的同步代码块使用的是相同的锁
B. 使用private final的锁对象更安全
C. Java中一般会使用同步方法或同步代码块实现线程同步操作
D. 对于单例模式的java类,即使该类对象可暴露给不可信代码,使用同步方法可以正确进行线程同步
你的回答: D
在下列哪个场景中,不需要加密和数字签名机制保证数据安全
A. 同一信任域内组件间传递
B. 序列化传输敏感数据
C. 无SSL传输通道或者代价太高
D. 敏感数据需要持久化长久保存
你的回答: A
下面代码输出是什么? class C { C() { System.out.print(“C”); } } class A { C c = new C(); A() { this(“A”); System.out.print(“A”); } A(String s) { System.out.print(s); } } public class Test extends A { Test() { super(“B”); System.out.print(“B”); } public static void main(String[] args) { new Test(); } }
A. BB
B. CBB
C. BAB
D. 全部都不是
你的回答: D 错了
关于输入校验原则描述错误的是
A. 不要依赖服务端检验
B. 不要依赖客户端检验
C. 可以采用正则表达式检验
D. 假设所有输入都是恶意的
你的回答: B 错了
为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为( )
A. static void method()
B. public void method
C. protected void method()
D. abstract void method()
你的回答: A
如下代码: class Base { Base() { System.out.print(“Base”); } } public class Alpha extends Base { public static void main( String[] args ) { new Alpha(); new Base(); } } 结果是什么?
A. Base
B. BaseBase
C. 编译失败.
D. 代码运行但没有输出.
E. 运行时抛出异常
你的回答: D 错了
编程规范:关于敏感信息说法错误的是
A. 敏感信息包括不限于加密秘钥、用户口令、身份ID、安全连接回话ID
B. 口令明文不可打印到日志中,但是口令密文是可以的
C. 保存敏感信息的变量使用完后应该及时显示清除。
D. 若特殊原因需要打印敏感信息,则敏感信息需要使用*等特殊字符来代替,且不可展示出敏感信息的长度
你的回答: D 错了
子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
A. 父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块->子类A构造函数->子类A非静态代码块
B. 父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
C. 父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
D. 父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
你的回答: C
若程序中需要获取操作系统用户名,应采取下列哪种方法来获取:
A. 提示用户输入
B. 由环境变量获取:System.getenv(“USER”)
C. 由JVM属性获取:System.getProperty(“user.name”)
D. 启动程序的时候由程序参数传入
你的回答: C
如果一个list初始化为{5,3,1},执行以下代码后,其结果为()? nums.add(6); nums.add(0,4); nums.remove(1);
A. [5, 3, 1, 6]
B. [4, 3, 1, 6]
C. [4, 3, 6]
D. [5, 3, 6]
你的回答: B
如果一个list初始化为{5,3,1},执行以下代码后,其结果为()? nums.add(6); nums.add(0,4); nums.remove(1);
A. [5, 3, 1, 6]
B. [4, 3, 1, 6]
C. [4, 3, 6]
D. [5, 3, 6]
你的回答: B
编程规范:当一个表达式包含多个运算符时,应该尽量使用默认优先级来保证表达式的运算顺序。
A. 正确
B. 错误
你的回答: B
System.out.println(10%3*2)
A. 1
B. 2
C. 4
D. 6
你的回答: B
关于访问权限,说法正确的是? ( )
A. 类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB
B. 类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB
C. 访问权限大小范围:public > 包权限 > protected > private
D. 访问权限大小范围:public > 包权限 > private > protected
你的回答: C 错了应该是b
下列对线程操作的描述,正确的是
A. 同步方法或使用对象内置锁的同步代码块中,不需要考虑锁释放的问题
B. 使用非线程安全的方法来覆写线程安全的方法
C. 直接调用Thread.run()方法可以启动一个线程
D. 推荐使用Thread.stop()来终止线程
你的回答: D
下列程序test 类中的变量c 的最后结果为 public class Test { public static void main(String args[]) { int a = 10; int b; int c; if (a > 50) { b = 9; } c = b + a; } }
A. 10
B. 0
C. 19
D. 编译出错
你的回答: D
以下代码的输出的正确结果是 public class Test { public static void main(String args[]) { String s = “祝你考出好成绩!”; System.out.println(s.length()); } }
A. 24
B. 16
C. 15
D. 8
你的回答: D
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: A
下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?
A. 实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
B. 局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
C. 类变量指的是用static修饰的属性
D. final变量指的是用final 修饰的变量
你的回答: C 错了
所有方法都要加方法头注释。
A. 正确
B. 错误
你的回答: B
建议使用( )来做错误处理
A. 错误码
B. 异常
C. 包装类
D. 日志
你的回答: B
在switch(expression)语句中,expression的数据类型不能是:( )
A. double
B. char
C. byte
D. short
你的回答: A
如果输入源或输出目标直接支持,尽可能直接使用Unicode进行输入输出。
A. 正确
B. 错误
你的回答: A
方法命名无法表达的信息,必须加方法头注释辅助说明;禁止空有格式的方法头。
A. 正确
B. 错误
你的回答: A
直接将外部输入的数据记录到日志中,可能会存在哪些安全风险?( )
A. 日志注入
B. 敏感信息泄露
C. CSRF
D. XML注入
你的回答: A、B
JAVA平台沙箱安全模型包含以下哪几个安全组件( )
A. 类加载器
B. 类文件校验器
C. 安全管理器
D. 语法分析器
你的回答: A、B、C
请选择下列选项中属于JAVA基本数据类型的()
A. byte
B. Integer
C. String
D. char
E. long
你的回答: A、D、关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
什么时候需要增加空格:()
A. 变量与自增运算符(++)之间
B. if关键字后面
C. 逗号、分号与后续内容之间
D. 注释符与注释内容之间
你的回答: B、C、D
下面命名中适合大驼峰的有哪些( )
A. 类
B. 接口
C. static final常量
D. 方法
你的回答: A、B
编程规范:下列哪些选项属于SQL注入的危害
A. 窃取数据库敏感信息
B. 对数据进行恶意的增删改
C. 执行系统命令
D. 获取服务器权限
你的回答: A、B、C、D
需对第三方抛出的异常进行封装的理由是:( )
A. 直接利用第三方异常减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
下列说法正确的是()?
A. 对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们
B. 成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)
C. 由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的
D. 静态内部类可以访问外部类的成员变量
你的回答: A、B
面选项中,哪些是interface中合法方法定义?()
A. public void main(String [] args);
B. private int getSum();
C. boolean setFlag(Boolean [] test);
D. public float get(int x);
你的回答: A、C、D
目录遍历攻击可以直接带来哪些危害:( )
A. 攻击者可以访问受限目录和文件
B. 攻击者可以改变程序的运行逻辑
C. 攻击者可以执行恶意的命令或程序
D. 攻击者以窃取内存中数据
你的回答: A、C 错误
正确使用异常机制事半功倍,以下说法正确的是( )
A. 注释和文档中应该包含所抛出的异常说明
B. 异常信息中可以包含敏感信息和个人信息
C. 方法抛出的异常,应该与本身的抽象层次相对应
D. 异常机制不能取代正常的业务逻辑判断
你的回答: A、C、D
下列关于输入校验说法错误的是( )
A. 软件最为普遍的缺陷就是对来自客户端或者外部环境的数据没有进行正确的合法性校验。这种缺陷可以导致几乎所有的程序弱点。
B. 输入校验中如果没有特殊要求,应当首先考虑采用“白名单”校验形式。
C. 可以直接使用任意用户输入来构造格式化字符串,不会带来安全风险。
D. 当程序需要用户上传文件时,严格校验用户上传的文件后缀名可以有效防止可执行文件上传漏洞。
你的回答: C、D
编程规范:对外部输入的参数进行校验,可采用的校验方式有:
A. 输入验证前,对数据进行归一化处理以防止字符串转义绕过校验
B. 校验输入数据的范围
C. 输入校验应当采用“白名单”形式
D. 校验输入数据长度
你的回答: A、B、C、D
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: B、C、D
Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )
A. Java文档生成器
B. Java解释器
C. Java编译器
D. Java类分解器
你的回答: B
使用正则对外部输入进行校验是常用的方式,所以正则可以随意使用,不会产生安全风险。
A. 正确
B. 错误
你的回答: B
使用预编译的方式查询SQL就不会造成安全问题。
A. 正确
B. 错误
你的回答: B
下面的程序中,temp的最终值是什么? long temp=(int)3.9; temp%=2;
A. 0
B. 1
C. 2
D. 3
E. 4
你的回答: B
我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。()
A. 正确
B. 错误
你的回答: B
所有方法都要加方法头注释。
A. 正确
B. 错误
你的回答: b
A 是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的?( )
A. 第1行不能通过编译
B. 第1、2行能通过编译,但第3行编译出错
C. 第1、2、3行能通过编译,但第2、3行运行时出错
D. 第1行、第2行和第3行的声明都是正确的
你的回答: A
编程规范:函数设计时要优先考虑性能,重复代码直接放在函数中比调用函数性能更高,因此可以不需要提炼函数。
A. 正确
B. 错误
你的回答: B
如果要建立一个java.com.computer的包放入当前java类,下列叙述正确的是? ( )
A. 在代码中,不一定是第一句,只要是类定义前,加入package语句即可
B. 只需在代码中加入“package java.com;"一个语句
C. 必须在代码中加入“package java.com;"和“package java.com.computer;“两个语句
D. 只需在代码中第一条非注释性语句加入“package java.com.computer;”
你的回答: D
应用程序ping发出的是什么报文()
A. TCP请求报文
B. TCP应答报文
C. ICMP请求报文
D. ICMP应答报文
你的回答: C
下面的方法,当输入为2的时候返回值是多少?() public static int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; }
A. 2
B. 4
C. 6
D. 10
你的回答: D
case语句应该尽可能短,不影响整体条件分支处理逻辑;如果长了,应该考虑封装方法。
A. 正确
B. 错误
你的回答: A
ArrayList和LinkList的描述,下面说法错误的是?
A. LinkedeList和ArrayList都实现了List接口
B. ArrayList是可改变大小的数组,而LinkedList是双向链接串列
C. LinkedList不支持高效的随机元素访问
D. 在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的
你的回答: D
编程规范:下列哪个场景可以使用java.util.Random类产生的随机数
A. 挑战算法中的随机数生成
B. 验证码的随机数生成
C. 随机选取路由
D. Web应用会话标识符
你的回答: C
假设有以下代码 String s = “hello”; String t = “hello”; char c [ ] = {‘h’,‘e’,‘l’,‘l’,‘o’}; 下列选项中返回false的语句是?
A. s.equals (t);
B. t.equals ©;
C. s==t;
D. t.equals (new String (“hello”));
你的回答: B
下列说法正确的是()
A. LinkedList继承自List
B. AbstractSet继承自Set
C. HashSet继承自AbstractSet
D. WeakMap继承自HashMap
你的回答: C
下面对敏感数据记录日志,描述正确的是
A. 敏感信息记录日志时,直接将信息内容替换等长的即可
B. 做好日志访问权限控制,日志可以记录敏感信息
C. 敏感信息加密后可以记录日志
D. 日志中如果必须记录敏感信息,需使用长度固定的替代
你的回答: C 错误
以下 b 的值是: byte b = (byte)129;
A. -126
B. -127
C. -128
D. -129
你的回答: B
单选 如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( )
A. protected void setColor() { …}
B. void setColor() { …}
C. public void setColor() { …}
D. 以上语句都可以用在类BlueGlass中
你的回答: C
在 Java 中,存放字符串常量的对象属于( )类对象。
A. Character
B. String
C. StringBuffer
D. Vector
你的回答: B
JDK中提供的java、javac、jar等开发工具也是用Java编写的。
A. 对
B. 错
你的回答: a
单选 public interface IService {String NAME=“default”;} 默认类型等价表示是哪一项:
A. public String NAME=“default”;
B. public static String NAME=“default”;
C. public static final String NAME=“default”;
D. private String NAME=“default”;
你的回答: C
编程规范:输入校验是一个非常好的安全编码原则,可以预防SQL注入、命令注入、死循环等几乎所有典型问题。
A. 正确
B. 错误
你的回答: A
System.out.println(10%3*2)
A. 1
B. 2
C. 4
D. 6
你的回答: B
编程规范:可以通过使用JAVA的线程优先级来实现业务的优先级调度。
A. 正确
B. 错误
你的回答: B
以下哪些方法可以取到http请求中的cookie值()
A. request.getAttribute
B. request.getHeader
C. request.getParameter
D. request.getCookies
你的回答: B、D
以下关于File 类说法正确的是
A. 一个File 对象代表了操作系统中的一个文件或者文件夹
B. 可以使用File 对象创建和删除一个文件
C. 可以使用File 对象创建和删除一个文件夹
D. 当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除
你的回答: B、C 错误
多选 关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
在java语言中,如果你编写一个多线程序,可以使用的方法是()
A. 扩展类Thread
B. 实现Runnable接口
C. 扩展类 Runnable
D. 实现接口Thread
你的回答: A、B
对数组下标校验,要考虑以下情况:( )
A. 要考虑是否超过数组上限
B. index值类型最好定义为unsigned类型
C. 要考虑不为负值
D. 若有循环运算等操作,要考虑运算结果是否为溢出或者反转
你的回答: A、B、C、D
关于异常,以下说法错误的是 ( )
A. 不用处理的异常可以使用空的catch块进行忽略
B. 方法抛出的异常,应该与本身的抽象层次相对应
C. Finally块中可以使用return,continue或break进行流程控制
D. 方法抛出的异常数量可以不受限制
你的回答: A、C、D
Java网络程序设计中,下列正确的描述是
A. Java网络编程API建立在Socket基础之上
B. Java网络接口只支持TCP以及其上层协议
C. Java网络接口只支持UDP以及其上层协议
D. Java网络接口支持IP以上的所有高层协议
你的回答: A、C 错误
编程规范:下列哪些信息不可以打印到日志中:
A. 口令明文
B. 口令密文
C. 加密秘钥
D. 身份ID
你的回答: A、B、C、D
下列选项中属于面向对象程序设计语言特征的是
A. 继承性
B. 多态性
C. 相似性
D. 封装性
你的回答: A、B、D
编程规范:当直接将外部输入作为参数传递给java.lang.Runtime.exec()方法的时候,易引入下列哪些攻击类型的漏洞
A. SQL注入
B. XML注入
C. 命令注入
D. 参数注入攻击
你的回答: C、D
下面代码片段编译失败的是: 3. public static void main(String[] args) { 4. int iVar = 100; 5. float fVar = 100.100f; 6. double dVar = 123; 7. iVar = fVar; 8. fVar = iVar; 9. dVar = fVar; 10. fVar = dVar; 11. dVar = iVar; 12. iVar = dVar; 13.}
A. Line 7
B. Line 8
C. Line 9
D. Line 10
E. Line 11
F. Line 12
你的回答: A、D、F
给出代码片段: public static void main(String[] args) { int array[] = {10, 20, 30, 40, 50}; int x = array.length; //line n1 } 哪些代码片段可以在第n1行独立插入,以使代码能够以相反的顺序打印数组元素?
A. while (x > 0){ x–; System.out.println(array[x]); }
B. do { x–; System.out.println(array[x]); }while (x >= 0);
C. while(x >= 0){ System.out.println(array[x]); x–; }
D. do { System.out.println(array[x]); x–; }while (x >= 0);
E. while (x > 0){ System.out.println(array[–x]); }
你的回答: C、D、E
有关hashMap跟hashTable的区别,说法正确的是?
A. HashMap和Hashtable都实现了Map接口
B. HashMap是非synchronized,而Hashtable是synchronized
C. HashTable使用Enumeration,HashMap使用Iterator
D. HashMap允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。
你的回答: A、B、C、D
面选项中,哪些是interface中合法方法定义?()
A. public void main(String [] args);
B. private int getSum();
C. boolean setFlag(Boolean [] test);
D. public float get(int x);
你的回答: A、C、D
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: B、C、D
尽量不要实现Serializable接口的原因是( )
A. 序列化不必要地对外公开了对象的物理实现
B. 序列化容易使一个类对其最初的内部表示产生依赖
C. 编写正确的反序列化代码有很大的挑战
D. 序列化增大了安全风险
E. 序列化增加了测试的难度
你的回答: A、B、C、D 错误
单选 执行完以下代码 int [ ] x = new int[10] ;后,以下哪项说明是正确的( )
A. x[9]为0
B. x[9]未定义
C. x[10]为0
D. x[0]为空
你的回答: A
同一进程下的多个线程可以共享哪一种资源()
A. stack
B. data section
C. register set
D. thread ID
你的回答: D
下面哪种防护措施对XML注入没有防护作用
A. 使得dom4j等xml库对xml进行编辑
B. 对外部输入进行白名单校验
C. 在拼接xml字符串前,对外部输入进行转码处理
D. 将不可信数据拼接xml字符串,在解析前对xml字符串进行转码处理
你的回答: B 错了
public class Test { public static void main(String[] args) { String myStr = “Hello World”; myStr.trim(); int i1 =myStr.indexOf(" "); System.out.println(i1); } } what is the result?
A. An exception is thrown at runtime.
B. -1
C. 5
D. 0
你的回答: C
下面有关List接口、Set接口和Map接口的描述,错误的是?
A. 他们都继承自Collection接口
B. List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置
C. Set是一种不包含重复的元素的Collection
D. Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value
你的回答: A
线程的优先级在1 至10之间,数值越小任务越紧急
A. 正确
B. 错误
你的回答: B
编程规范:以下协议哪个是不安全的:
A. FTP
B. SSHv2
C. TLS1.2
D. SNMPv3
你的回答: A
编程规范:以下协议哪个是不安全的:
A. FTP
B. SSHv2
C. TLS1.2
D. SNMPv3
你的回答: A
哪个关键字可以对对象加互斥锁?()
A. synchronized
B. volatile
C. serialize
D. static
你的回答: A
下列哪个关键词可以解决线程同步中的数据不匹配问题()
A. finally
B. synchronized
C. return
D. static
你的回答: B
编程规范:用括号明确表达式的操作顺序,避免过分依赖默认优先级。
A. 正确
B. 错误
你的回答: a
编程规范:创建敏感文件时,需要显示指定文件的权限,从而可以防止未经授权的用户访问该文件。
A. 正确
B. 错误
你的回答: A
编程规范:创建敏感文件时,需要显示指定文件的权限,从而可以防止未经授权的用户访问该文件。
A. 正确
B. 错误
你的回答: A
异常可以减少代码嵌套的层次,而错误会增加代码嵌套。
A. 正确
B. 错误
你的回答: A
class Test { int a1; public static void doProduct(int a) { a = a * a; } public static void doString(StringBuilder s) { s.append(" " + s); } public static void main(String[] args) { Test item = new Test(); item.a1 =11; StringBuilder sb = new StringBuilder(“Hello”); Integer i = 10; doProduct(i); doString(sb); doProduct(item.a1); System.out.println(i + " " + sb + " " +item.a1); } } What is the result?
A. 10 Hello Hello 11
B. 10 Hello Hello 121
C. 100 Hello Hello 121
D. 10 Hello 21
你的回答: A
应用程序的main方法中有以下语句,则输出的结果( ) String s1=new String( " xyz " ); String s2=new String( " xyz " ); Boolean b1=s1.equals(s2); Boolean b2=(s1==s2); System .out.print(b1+ " " +b2);
A. true false
B. false true
C. true true
D. false false
你的回答: A
使用泛型,当从集合类中读取一个对象时,就不用手工进行类型转换。
A. 正确
B. 错误
你的回答: A
case语块句结束时如果不加break,需要有注释说明(fall-through)。
A. 正确
B. 错误
你的回答: A
单选 编程规范:WEB页面中用户输入的账户、密码等信息可以直接存储到服务器中,并可以在管理web页面中展示用以进行维护。
A. 正确
B. 错误
你的回答: B
单选 如果将脚本指令插入到WEB应用程序URL,并且注意到该脚本指令可以在页面环境中执行,可能会发生下列哪种攻击?
A. SQL注入
B. 反射型跨站脚本
C. 会话劫持
D. 持久型跨站脚本
你的回答: B
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: A
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: b
代码片段: byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6); 关于上面代码片段叙述正确的是()
A. 输出结果:13
B. 语句:b6=b4+b5编译出错
C. 语句:b3=b1+b2编译出错
D. 运行期抛出异常
你的回答: C
如下代码: public class Foo { public static void main(String[] args) { try { return; } finally { System.out.println( “Finally” ); } } } 输出结果是什么?
A. Finally
B. 编译失败
C. 代码正常运行但没有任何输出.
D. 运行时抛出异常
你的回答: A
下列循环语句序列执行完成后,i的值是() int i; for(i=2;i<=10;i++){ System.out.println(i); }
A. 2
B. 10
C. 11
D. 不确定
你的回答: C
如果输入源或输出目标直接支持,尽可能直接使用Unicode进行输入输出。
A. 正确
B. 错误
你的回答: A
下面关于垃圾收集的说法正确的是
A. 一旦一个对象成为垃圾,就立刻被收集掉。
B. 对象空间被收集掉之后,会执行该对象的finalize方法
C. finalize方法和C++的析构函数是完全一回事情
D. 一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此
你的回答: D
编程规范:Java平台沙箱安全模型包含以下哪几个安全组件
A. 类加载器
B. 类文件校验器
C. 安全管理器
D. 语法分析器
你的回答: A、B、C
局部内部类可以使用哪些修饰符
A. public
B. private
C. abstract
D. final
你的回答: C、D
关于大括号的使用,说法正确的是( )
A. 左大括号放行末时,其前方要保持1空格
B. if/while/switch/for语句必须要有大括号
C. if/while/switch/for语句的左大括号跟随放行末
D. 方法左大括号另起并独占一行
你的回答: A、B、C
关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
下列选项中属于面向对象程序设计语言特征的是
A. 继承性
B. 多态性
C. 相似性
D. 封装性
你的回答: A、B、D
下列哪个场景可能导致信息泄露?( )
A. 用户输入
B. 进程间的通信数据
C. 用户态输入
D. 外部调用的参数
你的回答: A、B、C、D
目录遍历攻击可以直接带来哪些危害:( )
A. 攻击者可以访问受限目录和文件
B. 攻击者可以改变程序的运行逻辑
C. 攻击者可以执行恶意的命令或程序
D. 攻击者以窃取内存中数据
你的回答: A、C 错了
多选 下面哪些攻击或漏洞是由于未对程序输入做有效的校验与限制所导致:( )
A. zip炸弹攻击
B. SQL注入
C. OS命令注入
D. 目录遍历攻击
你的回答: A、B、C、D
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
对第三方抛出的异常进行封装的理由是:( )
A. 直接利用第三方异常减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
编程规范:下列哪些场景可能导致信息泄露
A. 用户输入
B. 进程间的通信数据
C. 用户态输入
D. 外部调用的参数
你的回答: A、B、C、D
以下哪些场景可能会导致攻击者绕过安全检查:( )
A. 只检查当前调用者
B. 检查整个调用栈
C. Java applets允许给自己授权执行任意代码
D. 覆写安全检查执行的方法
你的回答: A、C、D
不用的代码直接删除掉,而不是注释掉,是因为:( )
A. 单元测试、自动化测试等无法覆盖注释掉的代码,其中有可能隐藏缺陷
B. 注释掉的代码无法被正常维护,不可信任
C. 注释掉的代码影响其他有用代码的阅读
你的回答: A、B、C
不用的代码直接删除掉,而不是注释掉,是因为:( )
A. 单元测试、自动化测试等无法覆盖注释掉的代码,其中有可能隐藏缺陷
B. 注释掉的代码无法被正常维护,不可信任
C. 注释掉的代码影响其他有用代码的阅读
你的回答: A、B、C
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: A、B、C、D错了
编程规范:路径遍历的防御式编程通常包括
A. 路径标准化(Canonicalize & Normalize)
B. 输入净化(Input Sanitzation)
C. 路径校验(Validation)
D. access()函数校验(Using access() to check)
你的回答: A、B、C
对于文件IO操作,下列哪些说法是正确的( )
A. 临时文件使用完毕应该及时删除
B. 避免让外部进程阻塞在输入输出流上
C. 避免在共享目录操作文件
D. 创建文件时指定合理的访问权限
你的回答: A、B、C、D
假如某个JAVA进程的JVM参数配置如下: -Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3, 请问eden区最终分配的大小是多少?
A. 64M
B. 500M
C. 300M
D. 100M
你的回答: B错了
建议方法的参数个数不超过( )个
A. 5
B. 6
C. 7
D. 8
你的回答: A
输入过滤不可以防止以下哪种漏洞?
A. XSS
B. SQL 注入
C. XML注入
D. CSRF
你的回答: D错了
下面对线程同步描述错误的是:
A. 同步方法与基于this引用的同步代码块使用的是相同的锁
B. 使用private final的锁对象更安全
C. Java中一般会使用同步方法或同步代码块实现线程同步操作
D. 对于单例模式的java类,即使该类对象可暴露给不可信代码,使用同步方法可以正确进行线程同步
你的回答: D
在下列哪个场景中,不需要加密和数字签名机制保证数据安全
A. 同一信任域内组件间传递
B. 序列化传输敏感数据
C. 无SSL传输通道或者代价太高
D. 敏感数据需要持久化长久保存
你的回答: A
下面代码输出是什么? class C { C() { System.out.print(“C”); } } class A { C c = new C(); A() { this(“A”); System.out.print(“A”); } A(String s) { System.out.print(s); } } public class Test extends A { Test() { super(“B”); System.out.print(“B”); } public static void main(String[] args) { new Test(); } }
A. BB
B. CBB
C. BAB
D. 全部都不是
你的回答: D 错了
关于输入校验原则描述错误的是
A. 不要依赖服务端检验
B. 不要依赖客户端检验
C. 可以采用正则表达式检验
D. 假设所有输入都是恶意的
你的回答: B 错了
为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为( )
A. static void method()
B. public void method
C. protected void method()
D. abstract void method()
你的回答: A
如下代码: class Base { Base() { System.out.print(“Base”); } } public class Alpha extends Base { public static void main( String[] args ) { new Alpha(); new Base(); } } 结果是什么?
A. Base
B. BaseBase
C. 编译失败.
D. 代码运行但没有输出.
E. 运行时抛出异常
你的回答: D 错了
编程规范:关于敏感信息说法错误的是
A. 敏感信息包括不限于加密秘钥、用户口令、身份ID、安全连接回话ID
B. 口令明文不可打印到日志中,但是口令密文是可以的
C. 保存敏感信息的变量使用完后应该及时显示清除。
D. 若特殊原因需要打印敏感信息,则敏感信息需要使用*等特殊字符来代替,且不可展示出敏感信息的长度
你的回答: D 错了
子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
A. 父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块->子类A构造函数->子类A非静态代码块
B. 父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
C. 父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
D. 父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块
你的回答: C
若程序中需要获取操作系统用户名,应采取下列哪种方法来获取:
A. 提示用户输入
B. 由环境变量获取:System.getenv(“USER”)
C. 由JVM属性获取:System.getProperty(“user.name”)
D. 启动程序的时候由程序参数传入
你的回答: C
如果一个list初始化为{5,3,1},执行以下代码后,其结果为()? nums.add(6); nums.add(0,4); nums.remove(1);
A. [5, 3, 1, 6]
B. [4, 3, 1, 6]
C. [4, 3, 6]
D. [5, 3, 6]
你的回答: B
如果一个list初始化为{5,3,1},执行以下代码后,其结果为()? nums.add(6); nums.add(0,4); nums.remove(1);
A. [5, 3, 1, 6]
B. [4, 3, 1, 6]
C. [4, 3, 6]
D. [5, 3, 6]
你的回答: B
编程规范:当一个表达式包含多个运算符时,应该尽量使用默认优先级来保证表达式的运算顺序。
A. 正确
B. 错误
你的回答: B
System.out.println(10%3*2)
A. 1
B. 2
C. 4
D. 6
你的回答: B
关于访问权限,说法正确的是? ( )
A. 类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB
B. 类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB
C. 访问权限大小范围:public > 包权限 > protected > private
D. 访问权限大小范围:public > 包权限 > private > protected
你的回答: C 错了应该是b
下列对线程操作的描述,正确的是
A. 同步方法或使用对象内置锁的同步代码块中,不需要考虑锁释放的问题
B. 使用非线程安全的方法来覆写线程安全的方法
C. 直接调用Thread.run()方法可以启动一个线程
D. 推荐使用Thread.stop()来终止线程
你的回答: D
下列程序test 类中的变量c 的最后结果为 public class Test { public static void main(String args[]) { int a = 10; int b; int c; if (a > 50) { b = 9; } c = b + a; } }
A. 10
B. 0
C. 19
D. 编译出错
你的回答: D
以下代码的输出的正确结果是 public class Test { public static void main(String args[]) { String s = “祝你考出好成绩!”; System.out.println(s.length()); } }
A. 24
B. 16
C. 15
D. 8
你的回答: D
为方便排错,在抛出异常的细节信息中包含能捕获失败的信息,但是不要包含敏感信息或者个人信息。
A. 正确
B. 错误
你的回答: A
下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?
A. 实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
B. 局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
C. 类变量指的是用static修饰的属性
D. final变量指的是用final 修饰的变量
你的回答: C 错了
所有方法都要加方法头注释。
A. 正确
B. 错误
你的回答: B
建议使用( )来做错误处理
A. 错误码
B. 异常
C. 包装类
D. 日志
你的回答: B
在switch(expression)语句中,expression的数据类型不能是:( )
A. double
B. char
C. byte
D. short
你的回答: A
如果输入源或输出目标直接支持,尽可能直接使用Unicode进行输入输出。
A. 正确
B. 错误
你的回答: A
方法命名无法表达的信息,必须加方法头注释辅助说明;禁止空有格式的方法头。
A. 正确
B. 错误
你的回答: A
直接将外部输入的数据记录到日志中,可能会存在哪些安全风险?( )
A. 日志注入
B. 敏感信息泄露
C. CSRF
D. XML注入
你的回答: A、B
JAVA平台沙箱安全模型包含以下哪几个安全组件( )
A. 类加载器
B. 类文件校验器
C. 安全管理器
D. 语法分析器
你的回答: A、B、C
请选择下列选项中属于JAVA基本数据类型的()
A. byte
B. Integer
C. String
D. char
E. long
你的回答: A、D、关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
编程规范:需对第三方抛出的异常进行封装的的理由是
A. 直接利用第三方异常,减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
什么时候需要增加空格:()
A. 变量与自增运算符(++)之间
B. if关键字后面
C. 逗号、分号与后续内容之间
D. 注释符与注释内容之间
你的回答: B、C、D
下面命名中适合大驼峰的有哪些( )
A. 类
B. 接口
C. static final常量
D. 方法
你的回答: A、B
编程规范:下列哪些选项属于SQL注入的危害
A. 窃取数据库敏感信息
B. 对数据进行恶意的增删改
C. 执行系统命令
D. 获取服务器权限
你的回答: A、B、C、D
需对第三方抛出的异常进行封装的理由是:( )
A. 直接利用第三方异常减少异常类的编写
B. 避免与第三方API产生太过紧密的耦合
C. 利用第三方抛出的异常,可以与本身的抽象层次相对应
D. 避免因第三方修改了异常之后而导致自身代码的变更
你的回答: B、D
下列说法正确的是()?
A. 对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们
B. 成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)
C. 由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的
D. 静态内部类可以访问外部类的成员变量
你的回答: A、B
面选项中,哪些是interface中合法方法定义?()
A. public void main(String [] args);
B. private int getSum();
C. boolean setFlag(Boolean [] test);
D. public float get(int x);
你的回答: A、C、D
目录遍历攻击可以直接带来哪些危害:( )
A. 攻击者可以访问受限目录和文件
B. 攻击者可以改变程序的运行逻辑
C. 攻击者可以执行恶意的命令或程序
D. 攻击者以窃取内存中数据
你的回答: A、C 错误
正确使用异常机制事半功倍,以下说法正确的是( )
A. 注释和文档中应该包含所抛出的异常说明
B. 异常信息中可以包含敏感信息和个人信息
C. 方法抛出的异常,应该与本身的抽象层次相对应
D. 异常机制不能取代正常的业务逻辑判断
你的回答: A、C、D
下列关于输入校验说法错误的是( )
A. 软件最为普遍的缺陷就是对来自客户端或者外部环境的数据没有进行正确的合法性校验。这种缺陷可以导致几乎所有的程序弱点。
B. 输入校验中如果没有特殊要求,应当首先考虑采用“白名单”校验形式。
C. 可以直接使用任意用户输入来构造格式化字符串,不会带来安全风险。
D. 当程序需要用户上传文件时,严格校验用户上传的文件后缀名可以有效防止可执行文件上传漏洞。
你的回答: C、D
编程规范:对外部输入的参数进行校验,可采用的校验方式有:
A. 输入验证前,对数据进行归一化处理以防止字符串转义绕过校验
B. 校验输入数据的范围
C. 输入校验应当采用“白名单”形式
D. 校验输入数据长度
你的回答: A、B、C、D
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: B、C、D
Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )
A. Java文档生成器
B. Java解释器
C. Java编译器
D. Java类分解器
你的回答: B
使用正则对外部输入进行校验是常用的方式,所以正则可以随意使用,不会产生安全风险。
A. 正确
B. 错误
你的回答: B
使用预编译的方式查询SQL就不会造成安全问题。
A. 正确
B. 错误
你的回答: B
下面的程序中,temp的最终值是什么? long temp=(int)3.9; temp%=2;
A. 0
B. 1
C. 2
D. 3
E. 4
你的回答: B
我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。()
A. 正确
B. 错误
你的回答: B
所有方法都要加方法头注释。
A. 正确
B. 错误
你的回答: b
A 是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的?( )
A. 第1行不能通过编译
B. 第1、2行能通过编译,但第3行编译出错
C. 第1、2、3行能通过编译,但第2、3行运行时出错
D. 第1行、第2行和第3行的声明都是正确的
你的回答: A
编程规范:函数设计时要优先考虑性能,重复代码直接放在函数中比调用函数性能更高,因此可以不需要提炼函数。
A. 正确
B. 错误
你的回答: B
如果要建立一个java.com.computer的包放入当前java类,下列叙述正确的是? ( )
A. 在代码中,不一定是第一句,只要是类定义前,加入package语句即可
B. 只需在代码中加入“package java.com;"一个语句
C. 必须在代码中加入“package java.com;"和“package java.com.computer;“两个语句
D. 只需在代码中第一条非注释性语句加入“package java.com.computer;”
你的回答: D
应用程序ping发出的是什么报文()
A. TCP请求报文
B. TCP应答报文
C. ICMP请求报文
D. ICMP应答报文
你的回答: C
下面的方法,当输入为2的时候返回值是多少?() public static int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; }
A. 2
B. 4
C. 6
D. 10
你的回答: D
case语句应该尽可能短,不影响整体条件分支处理逻辑;如果长了,应该考虑封装方法。
A. 正确
B. 错误
你的回答: A
ArrayList和LinkList的描述,下面说法错误的是?
A. LinkedeList和ArrayList都实现了List接口
B. ArrayList是可改变大小的数组,而LinkedList是双向链接串列
C. LinkedList不支持高效的随机元素访问
D. 在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的
你的回答: D
编程规范:下列哪个场景可以使用java.util.Random类产生的随机数
A. 挑战算法中的随机数生成
B. 验证码的随机数生成
C. 随机选取路由
D. Web应用会话标识符
你的回答: C
假设有以下代码 String s = “hello”; String t = “hello”; char c [ ] = {‘h’,‘e’,‘l’,‘l’,‘o’}; 下列选项中返回false的语句是?
A. s.equals (t);
B. t.equals ©;
C. s==t;
D. t.equals (new String (“hello”));
你的回答: B
下列说法正确的是()
A. LinkedList继承自List
B. AbstractSet继承自Set
C. HashSet继承自AbstractSet
D. WeakMap继承自HashMap
你的回答: C
下面对敏感数据记录日志,描述正确的是
A. 敏感信息记录日志时,直接将信息内容替换等长的即可
B. 做好日志访问权限控制,日志可以记录敏感信息
C. 敏感信息加密后可以记录日志
D. 日志中如果必须记录敏感信息,需使用长度固定的替代
你的回答: C 错误
以下 b 的值是: byte b = (byte)129;
A. -126
B. -127
C. -128
D. -129
你的回答: B
单选 如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( )
A. protected void setColor() { …}
B. void setColor() { …}
C. public void setColor() { …}
D. 以上语句都可以用在类BlueGlass中
你的回答: C
在 Java 中,存放字符串常量的对象属于( )类对象。
A. Character
B. String
C. StringBuffer
D. Vector
你的回答: B
JDK中提供的java、javac、jar等开发工具也是用Java编写的。
A. 对
B. 错
你的回答: a
单选 public interface IService {String NAME=“default”;} 默认类型等价表示是哪一项:
A. public String NAME=“default”;
B. public static String NAME=“default”;
C. public static final String NAME=“default”;
D. private String NAME=“default”;
你的回答: C
编程规范:输入校验是一个非常好的安全编码原则,可以预防SQL注入、命令注入、死循环等几乎所有典型问题。
A. 正确
B. 错误
你的回答: A
System.out.println(10%3*2)
A. 1
B. 2
C. 4
D. 6
你的回答: B
编程规范:可以通过使用JAVA的线程优先级来实现业务的优先级调度。
A. 正确
B. 错误
你的回答: B
以下哪些方法可以取到http请求中的cookie值()
A. request.getAttribute
B. request.getHeader
C. request.getParameter
D. request.getCookies
你的回答: B、D
以下关于File 类说法正确的是
A. 一个File 对象代表了操作系统中的一个文件或者文件夹
B. 可以使用File 对象创建和删除一个文件
C. 可以使用File 对象创建和删除一个文件夹
D. 当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除
你的回答: B、C 错误
多选 关于Java以下描述正确的有
A. native关键字表名修饰的方法是由其它非Java语言编写的
B. 能够出现在import语句前的只有注释语句
C. 接口中定义的方法默认是public和static的
D. 构造方法只能被修饰为public或者default
你的回答: A、C
在java语言中,如果你编写一个多线程序,可以使用的方法是()
A. 扩展类Thread
B. 实现Runnable接口
C. 扩展类 Runnable
D. 实现接口Thread
你的回答: A、B
对数组下标校验,要考虑以下情况:( )
A. 要考虑是否超过数组上限
B. index值类型最好定义为unsigned类型
C. 要考虑不为负值
D. 若有循环运算等操作,要考虑运算结果是否为溢出或者反转
你的回答: A、B、C、D
关于异常,以下说法错误的是 ( )
A. 不用处理的异常可以使用空的catch块进行忽略
B. 方法抛出的异常,应该与本身的抽象层次相对应
C. Finally块中可以使用return,continue或break进行流程控制
D. 方法抛出的异常数量可以不受限制
你的回答: A、C、D
Java网络程序设计中,下列正确的描述是
A. Java网络编程API建立在Socket基础之上
B. Java网络接口只支持TCP以及其上层协议
C. Java网络接口只支持UDP以及其上层协议
D. Java网络接口支持IP以上的所有高层协议
你的回答: A、C 错误
编程规范:下列哪些信息不可以打印到日志中:
A. 口令明文
B. 口令密文
C. 加密秘钥
D. 身份ID
你的回答: A、B、C、D
下列选项中属于面向对象程序设计语言特征的是
A. 继承性
B. 多态性
C. 相似性
D. 封装性
你的回答: A、B、D
编程规范:当直接将外部输入作为参数传递给java.lang.Runtime.exec()方法的时候,易引入下列哪些攻击类型的漏洞
A. SQL注入
B. XML注入
C. 命令注入
D. 参数注入攻击
你的回答: C、D
下面代码片段编译失败的是: 3. public static void main(String[] args) { 4. int iVar = 100; 5. float fVar = 100.100f; 6. double dVar = 123; 7. iVar = fVar; 8. fVar = iVar; 9. dVar = fVar; 10. fVar = dVar; 11. dVar = iVar; 12. iVar = dVar; 13.}
A. Line 7
B. Line 8
C. Line 9
D. Line 10
E. Line 11
F. Line 12
你的回答: A、D、F
给出代码片段: public static void main(String[] args) { int array[] = {10, 20, 30, 40, 50}; int x = array.length; //line n1 } 哪些代码片段可以在第n1行独立插入,以使代码能够以相反的顺序打印数组元素?
A. while (x > 0){ x–; System.out.println(array[x]); }
B. do { x–; System.out.println(array[x]); }while (x >= 0);
C. while(x >= 0){ System.out.println(array[x]); x–; }
D. do { System.out.println(array[x]); x–; }while (x >= 0);
E. while (x > 0){ System.out.println(array[–x]); }
你的回答: C、D、E
有关hashMap跟hashTable的区别,说法正确的是?
A. HashMap和Hashtable都实现了Map接口
B. HashMap是非synchronized,而Hashtable是synchronized
C. HashTable使用Enumeration,HashMap使用Iterator
D. HashMap允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。
你的回答: A、B、C、D
面选项中,哪些是interface中合法方法定义?()
A. public void main(String [] args);
B. private int getSum();
C. boolean setFlag(Boolean [] test);
D. public float get(int x);
你的回答: A、C、D
下列说法中错误的是( )
A. 格式化字符串中可以包含用户输入
B. 记录日志的时候不要抛出异常
C. 无需控制不受信任代码对System.exit()方法的调用
D. 在解压zip文件时无需对zip文件中所包含的每个文件条目的大小做检查与限制
你的回答: B、C、D
尽量不要实现Serializable接口的原因是( )
A. 序列化不必要地对外公开了对象的物理实现
B. 序列化容易使一个类对其最初的内部表示产生依赖
C. 编写正确的反序列化代码有很大的挑战
D. 序列化增大了安全风险
E. 序列化增加了测试的难度
你的回答: A、B、C、D 错误
本文地址:https://blog.csdn.net/ICEBOUND47/article/details/110231536
下一篇: 【HuoLe的学习笔记】--数组模拟队列