java初級工程師面試題
對于Java初級工程師來說,面試前的準備很有必要,Java初級工程師面試中有哪些面試題呢?以下是小編幫你們整理的java初級工程師面試題,一起來學習啦。
java初級工程師面試題(一)
1.如何優(yōu)化數(shù)據(jù)庫,如何提高數(shù)據(jù)庫的性能?
解答:
1) 硬件調整性能
最有可能影響性能的是磁盤和網(wǎng)絡吞吐量,解決辦法擴大虛擬內存,并保證有足夠可以擴充的空間;把數(shù)據(jù)庫服務器上的不必要服務關閉掉;把數(shù)據(jù)庫服務器和主域服務器分開;把SQL數(shù)據(jù)庫服務器的吞吐量調為最大;在具有一個以上處理器的機器上運行SQL。
2)調整數(shù)據(jù)庫
若對該表的查詢頻率比較高,則建立索引;建立索引時,想盡對該表的所有查詢搜索操作, 按照where選擇條件建立索引,盡量為整型鍵建立為有且只有一個簇集索引,數(shù)據(jù)在物理上按順序在數(shù)據(jù)頁上,縮短查找范圍,為在查詢經(jīng)常使用的全部列建立非簇集索引,能最大地覆蓋查詢;但是索引不可太多,執(zhí)行UPDATE DELETE INSERT語句需要用于維護這些索引的開銷量急劇增加;避免在索引中有太多的索引鍵;避免使用大型數(shù)據(jù)類型的列為索引;保證每個索引鍵值有少數(shù)行。
3)使用存儲過程
應用程序的實現(xiàn)過程中,能夠采用存儲過程實現(xiàn)的對數(shù)據(jù)庫的操作盡量通過存儲過程來實現(xiàn),因為存儲過程是存放在數(shù)據(jù)庫服務器上的一次性被設計、編碼、測試,并被再次使用,需要執(zhí)行該任務的應用可以簡單地執(zhí)行存儲過程,并且只返回結果集或者數(shù)值,這樣不僅可以使程序模塊化,同時提高響應速度,減少網(wǎng)絡流量,并且通過輸入?yún)?shù)接受輸入,使得在應用中完成邏輯的一致性實現(xiàn)。
4)應用程序結構和算法
建立查詢條件索引僅僅是提高速度的前提條件,響應速度的提高還依賴于對索引的使用。因為人們在使用SQL時往往會陷入一個誤區(qū),即太關注于所得的結果是否正確,特別是對數(shù)據(jù)量不是特別大的數(shù)據(jù)庫操作時,是否建立索引和使用索引的好壞對程序的響應速度并不大,因此程序員在書寫程序時就忽略了不同的實現(xiàn)方法之間可能存在的性能差異,這種性能差異在數(shù)據(jù)量特別大時或者大型的或是復雜的數(shù)據(jù)庫環(huán)境中(如聯(lián)機事務處理OLTP或決策支持系統(tǒng)DSS)中表現(xiàn)得尤為明顯。在工作實踐中發(fā)現(xiàn),不良的SQL往往來自于不恰當?shù)乃饕O計、不充份的連接條件和不可優(yōu)化的where子句。在對它們進行適當?shù)膬?yōu)化后,其運行速度有了明顯地提高!
2.JS中的三種彈出式消息提醒(警告窗口、確認窗口、信息輸入窗口)的命令是什么?
解答:alert confirm prompt
3.描述JSP和Servlet的區(qū)別、共同點、各自應用的范圍
解答:JSP在本質上就是SERVLET,但是兩者的創(chuàng)建方式不一樣.Servlet完全是JAVA程序代碼構成,擅長于流程控制和事務處理,通過Servlet來生成動態(tài)網(wǎng)頁很不直觀.JSP由HTML代碼和JSP標簽構成,可以方便地編寫動態(tài)網(wǎng)頁.因此在實際應用中采用Servlet來控制業(yè)務流程,而采用JSP來生成動態(tài)網(wǎng)頁.
4.在java語言中int 和 Integer 有什么區(qū)別
解答:int是基本數(shù)據(jù)類型,Integer是int的包裝類,屬于引用類型
5.計算下列結果:
25&3 =
25|3=
解答:25的二進制是11001 , 3的二進制是00011, 按位與的結果是:00001 ,按位或的結果是:11010,因此轉成10進制分別為:1 和27
java初級工程師面試題(二)
1.JDK1.5中支持的 for循環(huán)的語法
解答:
for(type element : array) { System.out.println(element)} type 集合(不僅僅指Collection,也包含普通的數(shù)組)中元素的數(shù)據(jù)類型 element 遍歷到的元素 array 集合對象本身(當然不只是Collection)
2.簡述synchronized和java.util.concurrent.locks.Lock的異同?
解答:
主要相同點:Lock能完成synchronized所實現(xiàn)的所有功能 主要不同點:Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。
3.如何格式化日期
解答:
Date now=new Date();
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
String formatNow=sdf.format(now);
變量formatNow就是格式化好的日期。
4.將字符“12345”轉換成long型
解答: String s=”12345″;
long num=Long.valueOf(s).longValue();
5.struts中如何實現(xiàn)國際化,涉及哪些文件?
解答:“國際化”是指一個應用程序在運行時能夠根據(jù)客戶端請求所來自的國家/地區(qū)、語言的不同而顯示不同的用戶界面。Struts框架通過使用標記,以及使用java.util數(shù)據(jù)包中定義的Locale和ResourceBundle類來支持國際化。java.text.MessageFormat類定義的技術可以支持消息的格式。利用此功能,開發(fā)人員不需了解這些類的細節(jié)就可進行國際化和設置消息的格式。會涉及到資源文件,不需了解這些類的細節(jié)就可進行國際化和設置消息的格式。會涉及到資源文件,struts-config.xml配置文件,web.xml配置文件。
java初級工程師面試題(三)
1.例舉在診斷Oracle性能問題時,常用的工具、方法
解答: 1)簡單一點的可以用toad及dbartisan這樣的工具。
2)純做性能監(jiān)測,比較出色的有spolight和emc的I3,這兩個軟件都比較貴。
3)一些網(wǎng)管系統(tǒng)這方面也不錯,如hp的openview。不過定制起來不太容易,且很貴。
4)不用花錢又好用的就是Oracle的statpack了。
5)再有就是自己寫腳本了,大多數(shù)有經(jīng)驗的DBA都喜歡這樣的方式。優(yōu)點是實用靈活。缺點是如果想出一個性能變化的曲線圖等圖表,且做的美觀就需要些delphi,c++builder或是pb的開發(fā)功底了。
2.Oracle啟動中,startup nomount、 startup mount 有什么差別?
解答: startup nomount:啟動實例,讀取參數(shù)文件,分配內存空間,啟動后臺進程,打開跟蹤文件和報警文件。startup mount:裝載數(shù)據(jù)庫,打開控制文件。nomount方式下還沒有讀取控制文件,該選項用于在數(shù)據(jù)庫的控制文件全部損壞,需要重新創(chuàng)建數(shù)據(jù)庫控制文件或創(chuàng)建一個新的數(shù)據(jù)庫時使用。mount 選項下并沒有打開數(shù)據(jù)文件,該選項可以用來修改數(shù)據(jù)庫的運行模式或進行數(shù)據(jù)庫恢復。
3.Oracle啟動中,spfile.ora、init.ora、spfile.ora 這三個文件正確的先后順序是什么?
解答:啟動數(shù)據(jù)庫,使用startup命令,Oralce將會按照以下順序在缺省目錄中搜索參數(shù)文件:spfile.ora , spfile.ora ,init.ora a
4.說明Oracle數(shù)據(jù)庫邏輯備份和物理備份的方式。
解答:Oracle備份包括邏輯備份和物理備份。
1).邏輯備份
數(shù)據(jù)庫的邏輯備份包含讀一個數(shù)據(jù)庫記錄集和將記錄集寫入文件。
a.輸出(Export)輸出可以是整個數(shù)據(jù)庫、指定用戶或指定表。
b.輸入(Import)輸入將輸出建立的二進制轉儲文件讀入并執(zhí)行其命令。
2).物理備份
物理備份包含拷貝構成數(shù)據(jù)庫的文件而不管其邏輯內容。
Oracle支持兩種不同類型的物理文件備份:脫機備份(offline backup)和聯(lián)機備份(online backup)。
a.脫機備份: 脫機備份用在當數(shù)據(jù)庫已正常關閉,數(shù)據(jù)庫處于”offline”時,要備份下列文件:
所有數(shù)據(jù)文件
所有控制文件
所有聯(lián)機日志
init.ora(可選的)
b 聯(lián)機備份:聯(lián)機備份可用來備份任何運作在ARCHIVELOG方式下的數(shù)據(jù)庫。在這種方式下,聯(lián)機日志被歸檔,在數(shù)據(jù)庫內部建立一個所有作業(yè)的完整記錄。聯(lián)機備份過程具備強有力的功能。第一,提供了完全的時間點(point-in-time)恢復。第二,在文件系統(tǒng)備份時允許數(shù)據(jù)庫保持打開狀態(tài)。
看了“java初級工程師面試題”