筆試錯題匯總(一)


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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM