面試題整理

2021-06-21 02:06:39 字數 3082 閱讀 3996

2014.3.19日整理

1. 建立一張表hack

,裡面就乙個欄位num,然後用sql語句從1開始插入到100,怎麼寫?

(oracle)

答:1.create

tablehack (num number

)   --

建表語句 2.

begin

for i in1..

100loop

insert

intohack (num)

values

(i);

endloop;

end;

commit;       

3.select* from hack

2.資料庫分頁(oracle)

方法一:

select * from (selecta.*,rownum rn from (select * from table_name)a

where rownum<=40 ) where rn>21

1>select * from table_name  不進行翻頁的原始查詢語句

2>rownum<=40 rn>=21控制分頁查詢的每頁範圍

方法二:

select * from (selecta.*,rownum rn from (select * from table_name)

where rn between 21 and 40

第一種方法的效率高,因為在cbo優化模式下,oracle可以將外層的查詢條件推到內層查詢中,以提高內層查詢的執行效率。whererownum <=40 可以被oracle推入到內層查詢中,這樣oracle查詢的結果一旦超過了ruwnum限制條件,就終止查詢將結果返回。

3.union all 和union的區別

答:1.union,對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序(按顯示的第乙個字段進行排序)

2.unionall對兩個結果集進行並集操作,包括重複行,不進行排序

3.intersect對兩個結果集進行交集操作,不包括重複行,同時進行預設規則的排序

4.minus,對兩個結果集進行差集操作,不包括重複行,同時進行預設規則的排序

5.可以在最後乙個結果集中指定order by子句改變排序方式

4.webservice相關技術

答:1.xml是webservice平台中表示資料的基本格式。xml與平台好廠商無關。

2.xsd 是webservice平台的資料型別系統

3.soap是webservice基於的協議

soap是簡單物件訪問協議,是用於交換xml編碼資訊的輕量級協議。

4.wsdl是webservice的描述語言

5.uddi是webservice的實現標準

6.呼叫rpc與訊息傳遞

5.tcp和udp的區別

(1)tcp是面向連線

的傳輸控制協議

,而udp提供了無連線的資料報

服務;(2)tcp具有高可靠性,確保傳輸資料的正確性,不出現丟失或亂序;udp在傳輸資料前不建立連線,不對資料報

進行檢查與修改,無須等待對方的應答,所以會出現分組丟失、重複、亂序,應用程式需要負責傳輸可靠性方面的所有工作;

(3)也正因為以上特徵,udp具有較好的實時性

,工作效率較tcp

協議高;

(4)udp段結構比tcp的段結構簡單,因此網路開銷也小。

6.arraylist和linkedlist的區別

答:arraylist和linkedlist在效能上各有優缺點,都有各自所適用的地方,總的說來可以描述如下: 

1.對arraylist和linkedlist而言,在列表末尾增加乙個元素所花的開銷都是固定的。對arraylist而言,主要是在內部陣列中增加一項,指向所新增的元素,偶爾可能會導致對陣列重新進行分配;而對linkedlist而言,這個開銷是統一的,分配乙個內部entry物件。

2.在arraylist的中間插入或刪除乙個元素意味著這個列表中剩餘的元素都會被移動;而在linkedlist的中間插入或刪除乙個元素的開銷是固定的。

3.linkedlist不支援高效的隨機元素訪問。

4.arraylist的空間浪費主要體現在在list列表的結尾預留一定的容量空間,而linkedlist的空間花費則體現在它的每乙個元素都需要消耗相當的空間

可以這樣說:當操作是在一列資料的後面新增資料而不是在前面或中間,並且需要隨機地訪問其中的元素時,使用arraylist會提供比較好的效能;當你的操作是在一列資料的前面或中間新增或刪除資料,並且按照順序訪問其中的元素時,就應該使用linkedlist了。

7.hashtable和hashmap的區別

hashtable的應用非常廣泛,hashmap是新框架中用來代替hashtable的類,也就是說建議使用hashmap,不要使用hashtable。可能你覺得hashtable很好用,為什麼不用呢?這裡簡單分析他們的區別。 

1.hashtable的方法是同步的,hashmap未經同步,所以在多執行緒場合要手動同步hashmap這個區別就像vector和arraylist一樣。

2.hashtable不允許null值(key和value都不可以),hashmap允許null值(key和value都可以)。

3.hashtable有乙個contains(object value),功能和containsvalue(object value)功能一樣。

4.hashtable使用enumeration,hashmap使用iterator。

以上只是表面的不同,它們的實現也有很大的不同。

5.hashtable中hash陣列預設大小是11,增加的方式是 old*2+1。hashmap中hash陣列的預設大小是16,而且一定是2的指數。

6.雜湊值的使用不同,hashtable直接使用物件的hashcode,**是這樣的:

int hash = key.hashcode();

int index = (hash & 0x7fffffff) % tab.length;

而hashmap重新計算hash值,而且用與代替求模:

int hash = hash(k);

int i = indexfor(hash, table.length);

整理面試題

整理面試題 1 說說activity,intent,service是什麼關係 答 乙個activity 通常是乙個單獨的螢幕,每乙個 activity 都被實現為乙個單獨的類,這些類都是從 activity 基類中繼承而來的。activity 類會顯示由檢視控制項組成的使用者介面,並對檢視控制項的事...

面試題整理

static變數 全域性變數與區域性變數 靜態資料區 堆疊 heap和stack的區別 堆是由malloc之類的函式分配的空間位址由低向高增長 stack是自動分配變數位址由高向低 減少程式的記憶體分配 1.棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於...

面試題整理

def num return lambda x x i for i in range 4 print func 2 for func in num 考點 匿名函式lambda的使用,列表生成式,對迴圈體 的解析 lambda函式隱藏了return,實際上是可以寫成以下形式的 for i in ran...