国产精品久久久久影院老司_亚洲福利在线视频_中国女警察一级毛片视频_亚洲一区在线免费视频_久久亚洲第一_狠狠干五月

蜜蜂職場文庫 > 面試技巧 >

java軟件開發工程師面試題寶典

時間: 小龍 面試技巧

  Java軟件開發的面試題目你又了解了嗎?對于Java軟件工程師來說,做好準備很重要,以下是小編幫你們整理的java軟件開發工程師面試題,一起來學習啦。

  java軟件開發工程師面試題(一)

  1)transient和volatile是java關鍵字嗎?

  如果用transient聲明一個實例變量,當對象存儲時,它的值不需要維持。例如: class T

  {

  transient int a; //不需要維持

  int b; //需要維持

  }

  這里,如果T類的一個對象寫入一個持久的存儲區域,a的內容不被保存,但b的將被保存。

  volatile修飾符告訴編譯器被volatile修飾的變量可以被程序的其他部分改變。在多線程程序中,有時兩個或更多的線程共享一個相同的實例變量。考慮效率問題,每個線程可以自己保存該共享變量的私有拷貝。實際的變量副本在不同的時候更新,如當進入synchronized方法時。 用strictfp修飾類或方法,可以確保浮點運算(以及所有切斷)正如早期的Java版本那樣準確。切斷只影響某些操作的指數。當一個類被strictfp修飾,所有的方法自動被strictfp修飾。

  strictfp的意思是FP-strict,也就是說精確浮點的意思。在Java虛擬機進行浮點運算時,如果沒有指定strictfp關鍵字時,Java的編譯器以及運行環境在對浮點運

  算的表達式是采取一種近似于我行我素的行為來完成這些操作,以致于得到的結果往往無法令你滿意。而一旦使用了strictfp來聲明一個類、接口或者方法時,那么所聲明的范圍內Java的編譯器以及運行環境會完全依照浮點規范IEEE-754來執行。因此如果你想讓你的浮點運算更加精確,而且不會因為不同的硬件平臺所執行的結果不一致的話,那就請用關鍵字strictfp。

  你可以將一個類、接口以及方法聲明為strictfp,但是不允許對接口中的方法以及構造函數聲明strictfp關鍵字,例如下面的代碼:

  strictfp interface A {}

  public strictfp class FpDemo1 {

  strictfp void f() {}

  }

  2. 錯誤的使用方法

  interface A {

  strictfp void f();

  }

  public class FpDemo2 {

  strictfp FpDemo2() {}

  }

  一旦使用了關鍵字strictfp來聲明某個類、接口或者方法時,那么在這個關鍵字所聲明的范圍內所有浮點運算都是精確的,符合IEEE-754規范的。例如一個類被聲明為strictfp,那么該類中所有的方法都是strictfp的。

  2)抽象類和接口有什么區別?

  1.abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface。

  2.在abstract class 中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是static final的,不過在 interface中一般不定義數據成員),所有的成員方法都是abstract的。

  3.abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"is-a"關系,interface表示的是"like-a"關系。

  4.實現抽象類和接口的類必須實現其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現方法。

  5.接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。

  6.抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。

  7.接口中的方法默認都是 public,abstract 類型的。

  3)能說一下java的反射(reflection)機制嗎?

  開放性和原因連接(causally-connected)是反射系統的兩大基本要素

  java軟件開發工程師面試題(二)

  1.j2ee是什么?它包含哪些技術?

  從整體來講,J2EE是使用java開發技術開發企業級應用的工業標準,它是java技術不斷適應和醋精企業級應用過程的產物。適用于企業級應用的j2ee,提供一個平臺獨立的、可移植的、多用戶的、安全的和基于標注呢企業級平臺,從而簡化企0業應用的開發、管理和部署。J2EE是一個標準,而不是一個現成的產品。

  主要包括以下這些技術:

  (1)Servlet servlet是java平臺上的CGI技術。Servlet在服務器端運行,動態的生成web頁面。與傳統的CGI和其他類似CGI的技術相比,Java Servlet具有更高的效率并更容易使用。對于Servlet,從夫的請求不會導致同一程序的多次轉載,它是依靠線程的方式來支持并訪問的。

  (2)JSP Jsp(java server page)是一種是實現普通靜態HTML和動態頁面輸出混合編碼的技術。從這一點看,非常類似Microsoft ASP、PHP等技術。借助形式上的內容和外觀表現的分離,web頁面制作的任務可以比較方便的話費給頁面設計人員和程序員,并方便的通過JSP來合成。在運行時態,JSP將會被首先轉換成Servlet,并以Servlet的形態編譯運行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。

  (3)EJB EJB定義了一組可充用的組件:Enterprise Beans。開發人員可以利用這些組件,像搭積木一樣建立分布式應用。

  (4)JDBC JDBC(Java DataBase Connectivity,java數據庫連接)API是一個標準SQL(Structured Query Language,結構化查詢語句)數據庫訪問接口,它使數據庫開發人員能夠使用標準Java API編寫數據庫應用程序。JDBC API主要用來連接數據庫和調用SQL命令執行各種SQL語句。利用JDBC API可以執行一般的SQL語句、動態SQL語句及帶IN和OUT參數的存儲過程。JAVA中的JDBC 相當于Microsoft平臺中的ODBC(open Database Connectivity)。

  2.測試生命周期、測試過程分為幾個階段、以及各階段的含義?

  軟件測試生命周期一般包括6個階段:

  (1)技術:產品定義階段

  (2)分析:外部文檔階段

  (3)設計:文檔架構階段

  (4)構建:單元測試階段

  (5)測試周期:錯誤修正,重復系統測試階段

  (6)最后測試和實施:代碼凍結階段

  3.您做系統設計用各種工具?

  Visio,Rational rose,power designer的

  4.什么是web容器?

  容器就是一種服務程序,在服務器一個端口就有一個提供相應服務的程度,而這個程序就是處理從客戶端發出的請求,如java中的Tomat容器,ASP的IIS火舌PWS都是這樣的容器。

  java軟件開發工程師面試題(三)

  1.運行是異常與一般異常有何異同?

  異常表示程序運行高城中可能會出現的非正常狀態,運行時異常表示虛擬機的同城操作中可能遇到的異常,是一種常見運行異常。Java編譯器要求方法必須聲明拋出可能發生的非運行異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。

  2.Hibernate中:不看數據庫,不看XML文件,不看查詢語句,怎么能知道表結構?

  可以看與xml文件對應的域模型。

  3.目前集中主流數據庫軟件的應用特點,使用范圍各是什么?

  國際國內的主導關系型數據庫管理系統由SQL Server、ORACLE、SYBASE、InFormix和DB2。本問題從性能、可伸縮性和并行性、安全性、操作簡便、使用風險、開放性、易維護性和價格、數據庫二次開發方面比較了SQL Server、ORACLE、SYBASE\DB2\INformix數據庫。

  (1)性能

  SQLServer:老版本多用戶時性能不佳,新版本的性能有了明顯的改善,各項處理能力都有了明顯的提高。保持了多項TPC-C(TPC-C值被廣泛用于衡量C/S環境下,由服務器和客戶端構筑的整體系統的性能,它由事務處理性能委員會(TPC,Transaction Processing Corp)制定,TPC為非盈利性國際組織)記錄。

  Oracle:性能最高,保持Windows NT下的TPC-C的世界紀錄。

  SYSBASE:性能較高,支持Sun,IBM,HP,Compaq和veritas的集群設備特性,實現高可用性。適應與安全性要求極高的系統。

  DB2:適用于數據倉庫和在線事務處理,性能較高。客戶端支持及應用模式。

  Informix:性能較高,支持集群,實現高可用性。適用于安全性要求極高的系統,尤其是銀行,證券系統的應用。

  (2)可伸縮性,并行性

  SQLServer:以前版本SQLServer并行實施和共存模型并不成熟。很難處理大量的用戶數和數據卷。伸縮性有限。新版本性能有了較大的改善,在Microsoft Advanced Server上由突出表現,查過了它的主要競爭對象。

  ORACLE:平行服務器通過使一組結點貢獻同一簇中的工作來擴展Window nt的能力,提供高可用性和高伸縮性的簇的解決方案。如果Window NT不能滿足需要,用戶可以吧數據庫一道linux中,具有很好的伸縮性。

  SYBASE:新版本具有較好的并行性,速度快,對巨量數據無明顯影響,但是技術實現復雜,需要程序指導,伸縮性有限。

  DB2:DB2具有很好的并行性。DB2把數據庫管理擴充到了并行的、多節點的環境。數據庫分區是數據庫的一部分,包含自己的數據、索引、配置文件和事務日志。數據庫分區又是被稱之為節點或是數據庫節點,伸縮性有限。

  InFormix:采用單進程多線程的技術,具有較好的并行性。但是僅運行于unix平臺,伸縮性優先。

  (3)安全性

  SQL Server:Microsoft Advanced Server獲得最高安全認證,服務器平臺的穩定性是數據庫的穩定性的基礎,新版本的SQL的安全性有了極大的提高。

  ORACLE:獲得最高認證級別的ISO標準認證。

  SYBASE:通過sun公司J2EE認證測試,獲得最高認證級別的ISO的標準認證。

  DB2:獲得最高認證級別的ISO標準認證。

  inFormin:獲得最高認證級別的ISO標準認證。

  (4)操作簡便

  SQLServer:操作簡單,采用圖形界面。管理也很方便,而且編程接口特別友好(它的SQL-DMO讓變成變得更方便),從易維護和價格上SQL Server明顯占有優勢。

  Oracle:較復雜,同時提供GUI和命令行,在windowNT和Unix,linux下操作仙童。對數據庫管理人員要求較高。

  SYBASE:復雜,使用命令行操作,對數據庫管理人員要求較高。

  DB2:操作簡單,同時提供GUI和命令行,在window NT和unix下操作相同。

  Informix:使用和管理復雜,命令行操作,對數據庫管理人員要求較高,

  (5)使用風險

  SQLServer:完全重寫的代碼,性能和兼容性有了較大的提高,與Oracle,DB2的性能差距明顯減小。該產品的出臺經歷了長期的測試,為產品的安全和穩定進行了全面的測試,安全穩定性有了明顯的提高。

  ORACEL:長時間的開發經驗,完全向下兼容,可以安全的進行數據庫的升級,在企業,政府中的到廣泛的應用。并且如果在Window NT上無法媽祖數據的妖氣,可以安全的把數據轉到unix上來。

  SYBASE:開發時間長,升級較復雜,穩定性較好,數據安全有保障。風險小。在安全要求極高的銀行,證券行業得到了廣發的應用。

  DB2:在巨型企業得到廣泛的應用,向下兼容性好,風險小。

  Informix:開放時間較長,升級較復雜,穩定性較好,數據安全有保障。風險小,在安全要求極高的銀行,證券行業得到廣泛應用。

  (6)開放性

  SQL Server:只能在Window上運行,C/S結果,只支持window客戶,可以用

  ADO,DAO,OLEDB,ODBC連接。Windows9X系列產品是偏重于桌面應用,NTserver使用各種大小大小型企業。操作系統的穩定對數據庫是十分重要的。Window平臺的可靠性,安全性警告了最高級別的C2認證的。在處理大數據量的關鍵業務時提供了較好的性能。

  ORACLE:能在所有主流平臺上運行。完全支持所有的工業標準。蠶蛹完全開放策略。多層次萬羅計算,支持多種工業標準,可以用ODBC,JDBC,OCI等網絡客戶連接。可以使客戶選擇最適合的解決方案。對開發商全力支持。

  SYBASE:能在所有主流平臺上運行,在銀行中得到廣泛的應用。

  DB2:有較好的開放性,最適合海量數據。跨平臺,多層結構,支持ODBC、JDBC等客戶。在大型的國際企業中得到最為廣泛的應用,在全球的500家最大的企業中,大部分采用DB2數據庫服務器。

  Informix:僅運行在unix平臺,包括SUBOS、HPUX、ALFAOSF/1。在銀行中得到廣泛應用。

  (7)易維護性和價格

  SQL Server:從易維護性和價格上SQL Server明顯占優勢,基于Microsoft的一貫風格,SQL Server的的圖形管理界面帶來了明顯的易用性,微軟的數據庫管理員培訓進行的比較充分,可以輕松的找到很好的數據庫管理員,數據庫管理價格也是很低的,SQL Server的價格也是很低的,但是在license的購買商會抬高價格。總體來說SQL Server的價格在商用數據庫中是最低的。

  Oracle:從易維護性和價格上來說Oracle的價格是比較高的,管理比較復雜,由于Oracle的應用廣泛,經驗豐富得問Oracle數據庫管理員可以比較容易的找到,從而實現Oracle的良好管理。因此oracle的性能價格比在商用數據庫中是最好的。

  Sybase:sybase的價格是比較低,但是sybase在企業和政府中的應用是較少的,很難找到經驗豐富的管理員,運行管理費用較高。

  DB2:價格高,管理員少,在中國的應用少,運行管理費用高,適用于大興企業的數據倉庫應用。

  Informix:價格在這些系統中居于中間,與sybase一樣,在企業與政府中應用較少,僅在銀行在得到了廣范應用。經驗豐富的管理人員較少,運行費用高。

  (8)數據庫的二次開發

  SQLServer:數據庫的二次開發工具很多,包括Visual C++,Visual Basic等開發工具,可以實現很好的Windows應用,開發容易。

  Oracle:數據庫的二次開發工具很多,涵蓋了數據庫開發的各個階段,中國的經驗豐富的人員很少。

  Informin:在銀行項目中廣泛的應用,但是在中國的經驗豐富的人很少。

  
看了“java軟件開發工程師面試題”

50423 主站蜘蛛池模板: 一起草av在线 | 有兽焉免费动画 | 国产亚洲综合精品 | 好吊色欧美一区二区三区四区 | 在线无码| 欧美a黄 | 亚洲国产精品一区二区精品 | 国产成人高清成人av片在线看 | 911视频免费版 | a视频在线播放 | 亚洲成人精品在线 | 久久久免费电影 | av懂色 | 日本黄色a视频 | 黄色免费高清网站 | 天天操综 | 亚洲国产精品二区 | 欧美国产一区二区三区激情无套 | 亚洲精品久久久久久久久久 | 羞羞视频一区 | 中文字幕在线视频日本 | 激情亚洲一区二区 | 福利在线国产 | 91美女福利视频 | 国产免费观看av | 欧美日本在线播放 | 国产小视频在线观看 | 国产精品视频 | 久久久涩| 久久久精品视频国产 | 久久精品国产一区二区 | 国产一级毛片国产 | 国产午夜精品一区二区三区不卡 | 亚洲日色 | 黄视频在线网站 | 亚洲不卡 | 午夜精品成人 | 国产精品久久久久久久久久尿 | 欧美一级美片在线观看免费 | 国产正在播放 | 欧美精品1区 |