国产精品亚洲综合久久系列,一本大道香蕉青青久久,播放高清的播放器,国产在线观看无码不卡

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

java軟件工程師實用面試題文庫

時間: 小龍 面試技巧

  Java軟件工程師在面試中,想要取得面試官的肯定,那么面試前對面試題了解很有必要,以下是小編幫你們整理的java軟件工程師實用面試題,一起來學習啦。

  java軟件工程師實用面試題(一)

  1.Tomcat服務(wù)器的默認端口是多少?怎樣修改tomcat的端口?

  解答:默認端口為8080,可以通過service.xml的Connector元素的port屬性來修改端口。

  2.多線程有幾種實現(xiàn)方法,都是什么?同步的方法有幾種,都是什么?

  解答:多線程有兩種實現(xiàn)方法:繼承Thread類或者實現(xiàn)Runnable接口。

  實現(xiàn)同步也有兩種方法:一種是同步方法,另一種是同步代碼塊。

  同步方法是在方法返回類型前面加上synchronized關(guān)鍵字

  同步代碼塊是synchronized (這里寫需要同步的對象){„}

  3.談一下聚簇索引和非聚簇索引的區(qū)別以及各自的優(yōu)缺點。

  解答:

  聚集索引,表中存儲的數(shù)據(jù)按照索引的順序存儲,檢索效率比普通索引高,但對數(shù)據(jù)新增/修改/刪除的影響比較大 非聚集索引,不影響表中的數(shù)據(jù)存儲順序,檢索效率比聚集索引低,對數(shù)據(jù)新增/修改/刪除的影響很小

  4. 死鎖的必要條件?怎么克服?

  解答:產(chǎn)生死鎖的四個必要條件:

  互斥條件:一個資源每次只能被一個進程使用。

  請求與保持條件:一個進程因請求資源而阻塞時,對已獲得的資源保持不放。

  不剝奪條件:進程已獲得的資源,在末使用完之前,不能強行剝奪。

  循環(huán)等待條件:若干進程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。

  這四個條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發(fā)生死鎖。

  死鎖的解決方法:

  a 撤消陷于死鎖的全部進程; b逐個撤消陷于死鎖的進程,直到死鎖不存在; c從陷于死鎖的進程中逐個強迫放棄所占用的資源,直至死鎖消失。 d從另外一些進程那里強行剝奪足夠數(shù)量的資源分配給死鎖進程,以解除死鎖狀態(tài)

  5.描述重做與回滾的認識;

  解答:重做日志生成日志文件,是為將來恢復數(shù)據(jù)庫使用的.

  回滾段保存未提交數(shù)據(jù),是為支持事務(wù)而起作用的。

  java軟件工程師實用面試題(二)

  1.索引組織表,聚蔟表的用途;

  解答:

  索引組織表:數(shù)據(jù)按主碼存儲和排序,同索引結(jié)構(gòu)一樣,不過數(shù)據(jù)直接存儲于主碼后面。適用于信息.檢索、空間和OLAP程序。索引組織表的適用情況:

  a.代碼查找表。

  b.經(jīng)常通過主碼訪問的表。

  c.構(gòu)建自己的索引結(jié)構(gòu)。

  d.加強數(shù)據(jù)的共同定位,要數(shù)據(jù)按特定順序物理存儲。

  e.經(jīng)常用between„and„對主碼或唯一碼進行查詢。數(shù)據(jù)物理上分類查詢。如一張訂單表,按日期裝載數(shù)據(jù),想查單個客戶不同時期的訂貨和統(tǒng)計情況。

  索引聚簇表:索引聚簇表是表相關(guān)的表共享同一數(shù)據(jù)塊中的相同列,并把相關(guān)數(shù)據(jù)存儲中同一個數(shù)據(jù)塊上。創(chuàng)建索引聚簇表中最重要的是對SIZE參數(shù)有很好的估量,否則聚簇將會降低空間利用,降低效率。

  使用索引聚簇表的注意點:

  a如果表中數(shù)據(jù)有大量DML操作的話,那么聚簇將不適用,因為會消極地影響到DML性能。

  b聚簇中,全表掃描將受到影響。這是因為將掃描聚簇中不同表的數(shù)據(jù),額外增加很多無用的數(shù)據(jù)。

  c如果經(jīng)常TRUNCATE表和裝載表的話,聚簇將不適用。聚簇中的表無法被TRUNCATE的,這是因為每個塊中不只是存儲一張表的數(shù)據(jù)。

  SQL> truncate table emp;

  truncate table emp

  *

  ERROR at line 1:

  ORA-03292: Table to be truncated is part of a cluster

  d如果大部分是讀取操作,且通過聚簇碼索引或聚簇表中其他索引來讀取的話,聚簇將會比較適用。

  2.消耗資源的SQL的定位方法;

  解答:select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

  SELECT * FROM ( SELECT sql_text,buffer_gets,disk_reads FROM v$sql ORDER BY buffer_gets,disk_reads DESC) WHERE ROWNUM<=10;

  3.對觸發(fā)器的認識;

  解答:觸發(fā)器是表上的程序,主要提供數(shù)據(jù)添加、修改與刪除后的程序處理方法,可以用來檢查數(shù)據(jù)及進行數(shù)據(jù)更新,也可以分擔一些前端應(yīng)用程序撰寫的邏輯規(guī)則。用場景: 觸發(fā)器可以查詢其他表,而且可以包含復雜的SQL語句。它們主要用于強制復雜的業(yè)務(wù)規(guī)則或要求。

  觸發(fā)器的主要應(yīng)用場合概括起來講有以下幾種:

  1).當向一張表中添加或刪除記錄時,需要在相關(guān)表中進行同步操作。比如,當為應(yīng)用系統(tǒng)添加一個系統(tǒng)用戶時,需要同時向權(quán)限表中添加該用戶的缺省權(quán)限,此時就編寫系統(tǒng)用戶表的觸發(fā)器在添加記錄動作時觸發(fā)。

  2).當表上某列數(shù)據(jù)的值與其他表中的數(shù)據(jù)有聯(lián)系時。比如,當某客戶進行欠款消費,可以在生成訂單時通過設(shè)計觸發(fā)器判斷該客戶的累計欠款是否超出了最大限度。

  3).當需要對某張表進行跟蹤時。比如,當人事表中有人離職時,第一時間通知或更改相關(guān)表的值。

  java軟件工程師實用面試題(三)

  1.對ORA-01555錯誤的認識;

  解答:ORA-01555錯誤產(chǎn)生的原因:一致性讀(Consistent Get)和延遲塊清除(Delayed Block Cleanout)。

  2.將ORACLE數(shù)據(jù)庫更改為歸檔模式;寫出步驟

  解答:具體步驟如下:

  1),以exp方式在線備份數(shù)據(jù)庫到指定位置;

  2),觀察當前數(shù)據(jù)庫是以服務(wù)器參數(shù)文件(spfile)方式啟動還是以參數(shù)文件(pfile)方式啟動: SQL> show parameter spfile; NAME TYPE VALUE ———————————— ———– —————————— spfile string /home/db/oracle/10g/dbs/spfile XXXX.ora value后有內(nèi)容,說明數(shù)據(jù)庫以服務(wù)器參數(shù)文件方式啟動,這里的spfile文件對應(yīng)的裸設(shè)備為/dev/vgdata/rspfile(通過查看/home/db/oracle/10g/dbs/initSID.ora文件內(nèi)容獲得);

  3),關(guān)閉所有實例(shutdown immediate);

  4),任意選取一個實例,創(chuàng)建參數(shù)文件到指定路徑: SQL>create pfile=’/home/db/oracle/pfile.ora’ from spfile;

  5),修改pfile.ora文件,添加參數(shù)cluster_database=false;

  6),以修改之后的參數(shù)文件按nomount方式啟動數(shù)據(jù)庫: SQL>startup nomount pfile=’/home/db/oracle/pfile.ora’;

  7),使數(shù)據(jù)庫以exclusive方式啟動: SQL>alter database mount exclusive;

  8),改變歸檔模式: SQL>alter database archivelog;

  9),將pfile參數(shù)中的cluster_database重新更改為“true”;

  10),更新服務(wù)器參數(shù)文件: SQL>create spfile from pfile=’/home/db/oracle/pfile.ora’;

  11),關(guān)閉數(shù)據(jù)庫實例; SQL>shutdowm immediate;

  12),分別在兩個節(jié)點上啟動數(shù)據(jù)庫: SQL>startup;

  13),在兩個節(jié)點上分別檢查歸檔模式是否更改成功: SQL>archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /home/db/oracle/10g/dbs/arch Oldest online log sequence 489 Next log sequence to archive 491 Current log sequence 491 完成。

  
看了“java軟件工程師實用面試題”

50421