• 笔试错题汇总(一)


    1、下面有关JVM内存,说法错误的是?正确答案: C  

    A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
    B.虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
    C.方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的
    D.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

    解析:

     http://www.cnblogs.com/sunada2005/p/3577799.html

    2、下面有关jdbc statement的说法错误的是?正确答案: C   

    A.JDBC提供了Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程
    B.对于PreparedStatement来说,数据库可以使用已经编译过及定义好的执行计划,由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象”
    C.PreparedStatement中,“?” 叫做占位符,一个占位符可以有一个或者多个值
    D.PreparedStatement可以阻止常见的SQL注入式攻击

    解析:
    1.Statement、PreparedStatement和CallableStatement都是接口(interface)。 
    
    2.Statement继承自Wrapper、PreparedStatement继承自Statement、CallableStatement继承自PreparedStatement。 
    
    3. 
        Statement接口提供了执行语句和获取结果的基本方法; 
        PreparedStatement接口添加了处理 IN 参数的方法; 
        CallableStatement接口添加了处理 OUT 参数的方法。 
    4. 
        Statement: 普通的不带参的查询SQL;支持批量更新,批量删除;
        PreparedStatement: 可变参数的SQL,编译一次,执行多次,效率高; 安全性好,有效防止Sql注入等问题; 支持批量更新,批量删除; 
        CallableStatement: 继承自PreparedStatement,支持带参数的SQL操作; 支持调用存储过程,提供了对输出和输入/输出参数(INOUT)的支持; 

      JDBC statement中的PReparedStatement的占位符对应着即将与之对应当值,并且一个占位符只能对应一个值,如果能对应多个就会引起混淆。sql语句是确定的,那么一个占位符必定只能对应一个值

    3、下面有关SPRING的事务传播特性,说法错误的是?正确答案: B 

    A.PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行

    B.PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就抛出异常

    C.PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起

    D.PROPAGATION_NESTED:支持当前事务,新增Savepoint点,与当前事务同步提交或回滚

     

    解析:

     

    PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 

     

    PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 

    PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。 

    PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。 

    PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 

    PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
     

    在操作数据时可能带来 3 个副作用,分别是脏读、不可重复读、幻读。为了避免这 3 中副作用的发生,在标准的 SQL 语句中定义了 4 种隔离级别,分别是未提交读、已提交读、可重复读、可序列化。而在 spring 事务中提供了 5 种隔离级别来对应在 SQL 中定义的 4 种隔离级别,如下:

    ISOLATION_DEFAULT:使用后端数据库默认的隔离级别

    ISOLATION_READ_UNCOMMITTED:允许读取未提交的数据(对应未提交读),可能导致脏读、不可重复读、幻读

    ISOLATION_READ_COMMITTED:允许在一个事务中读取另一个已经提交的事务中的数据(对应已提交读)。可以避免脏读,但是无法避免不可重复读和幻读

    ISOLATION_REPEATABLE_READ:一个事务不可能更新由另一个事务修改但尚未提交(回滚)的数据(对应可重复读)。可以避免脏读和不可重复读,但无法避免幻读

    ISOLATION_SERIALIZABLE:这种隔离级别是所有的事务都在一个执行队列中,依次顺序执行,而不是并行(对应可序列化)。可以避免脏读、不可重复读、幻读。但是这种隔离级别效率很低,因此,除非必须,否则不建议使用。

     

    4、下列有关Servlet的生命周期,说法不正确的是?正确答案: A   

    A.在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
    B.在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
    C.在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
    D.destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法

    解析:

      Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
      (1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
      (2)创建:通过调用servlet构造函数创建一个servlet对象
      (3)初始化:调用init方法初始化
      (4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
      (5)卸载:调用destroy方法让servlet自己释放其占用的资源
     
    5、
    看以下代码:
    文件名称:forward.jsp
    <html>  
         <head><title> 跳转  </title> </head> 
         <body>  
             <jsp:forward page="index.htm"/>     
         </body>
     </html> 
    如果运行以上jsp文件,地址栏的内容为

    正确答案: A  

    A.http://127.0.0.1:8080/myjsp/forward.jsp
    B.http://127.0.0.1:8080/myjsp/index.jsp
    C.http://127.0.0.1:8080/myjsp/index.htm
    D.http://127.0.0.1:8080/myjsp/forward.htm
    解析:
      forward,服务器获取跳转页面内容传给用户,用户地址栏不变
      redirect,是服务器向用户发送转向的地址,redirect后地址栏变成新的地址
     

     6、关于sleep()和wait(),以下描述错误的一项是( )正确答案: D   

    A.sleep是线程类(Thread)的方法,wait是Object类的方法;
    B.sleep不释放对象锁,wait放弃对象锁
    C.sleep暂停线程、但监控状态仍然保持,结束后会自动恢复
    D.wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态

    解析:

    sleep和wait的不同点:

      1.每个对象都有一个锁来控制同步访问。Synchronized关键字可以和对象的锁交互,来实现线程的同步。
       sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。

      2.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用 

      3.sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常 
     
      4.sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
     
      5.wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

    7、数据库、数据库系统和数据库管理系统三者之间的关系是(  ) 正确答案: C 

    A.数据库系统就是数据库,也就是数据库管理系统
    B.数据库管理系统包括数据库和数据库系统
    C.数据库系统包括数据库和数据库管理系统 [数据库系统>数据库管理系统>数据库]
    D.数据库包括数据库系统和数据库管理系统

    8、在 SQL 中,与关系代数中的投影运算对应的子句是?正确答案: A   

    A.Select
    B.From
    C.Where
    D.Order

    解析:

    select 子句是投影操作,where子句是选择操作,join子句是连接操作

    9、“查询”设计视图窗口分这上下部分,下部分为()。正确答案: A

    A.设计网络
    B.查询记录
    C.属性窗口
    D.字段列表

    解析:

    查询”设计视图窗口分这上下部分;
    上部分为:“字段列表区”,用来显示所选择的所有字段。
    下部分为:设计网络,由一些字段列和一些已命名的列组成。

    10、下列有关Socket的说法,错误的是()正确答案: B   

    A.Socket用于描述IP地址和端口,是一个通信链的句柄
    B.Socket通信必须建立连结
    C.Socket客户端的端口是不固定的
    D.Socket服务端的端口是固定的

    解析:

    IPV4下,两种基本的通信方式分别是TCP和UDP,前者是面向连接的可靠的字节流服务,通信之前必须要先建立起socket连接,
    而后者是面向无连接的数据包服务,通信之前无需建立起任何连接,因而B选项是错误的。

    11、路由器运行于 OSI 模型的哪个层次?正确答案: B   

    A.数据链路层
    B.网络层
    C.传输层
    D.应用层

    解析:

      路由器、网关 ==>  网络层
      交换机、网桥 ==>  数据链路层
      集线器 ==>  物理层

    12、直接封装RIP、OSPF、BGP报文的协议分别是 。正确答案: D   

    A.TCP、UDP、IP
    B.TCP、IP、UDP
    C.UDP、TCP、IP
    D.UDP、IP、TCP

    解析:

      RIP是一种分布式的基于距离向量的路由选择协议,通过广播UDP报文来交换路由信息。
      OSPF是一个内部网关协议,不使用传输协议,而是直接用IP包封装它的数据。
      BGP是一个外部网关协议,用TCP封装它的数据。

    13、公司网络中心存储服务器IP地址是10.0.1.129/255.255.255.192,下面是计算机IP地址,哪些计算机可以访问存储服务器( )正确答案: B C 

    A.10.0.1.126
    B.10.0.1.160
    C.10.0.1.190
    D.10.0.1.193

    解析:

      255.255.255.192=>11111111.11111111.11111111.11000000 共26个1,那么
      中心存储服务器IP地址是用CIDR表示为10.0.1.129/26
      所以IP可以是10.0.1.10{000000}~ 10.0.1.10{111111}=>10.0.1.128~10.0.1.191。
  • 相关阅读:
    牛逼哄哄的 RPC 框架,底层到底什么原理?
    你只会用 StringBuilder?试试 StringJoiner,真香!
    厉害了,淘宝千万并发,14 次架构演进…
    微服务中 Zookeeper 应用及原理
    牛逼哄哄的零拷贝是什么?
    排名前 16 的 Java 工具类,哪个你没用过?
    Spring Boot 2.4 正式发布,重大调整!!!
    pl/sql 实例精解 07
    ArcGIS 符号和样式
    SQL Server系统视图有什么用?
  • 原文地址:https://www.cnblogs.com/strong-FE/p/15394692.html
Copyright © 2020-2023  润新知