當前位置:簡歷模板館>面試>面試筆試>

網友:阿里巴巴筆試題彙總

面試筆試 閱讀(2.67W)
網友:阿里巴巴筆試題彙總
一:SQL tuning 類

  阿里巴巴筆試1:列舉幾種表連接方式:hash join/merge join/nest loop(cluster join)/index join

  阿里巴巴筆試2:不借助第三方工具,怎樣查看sql的執行計劃

  set autot on

  explain plan set statement_id = &item_id for &sql;

  select * from table(dbms_lay);

  阿里巴巴筆試3:如何使用CBO,CBO與RULE的區別

  在optimizer_mode=choose時,如果表有統計信息(分區表外),優化器將選擇CBO,否則選RBO。RBO遵循簡單的分級方法學,使用15種級別要點,當接收到查詢,優化器將評估使用到的要點數目, 然後選擇最佳級別(最少的數量)的執行路徑來運行查詢。CBO嘗試找到最低成本的訪問數據的方法,爲了最大的吞吐量或最快的初始響應時間,計算使用不同 的執行計劃的成本,並選擇成本最低的一個,關於表的數據內容的統計被用於確定執行計劃。

  阿里巴巴筆試4:如何定位重要(消耗資源多)的SQL

  select sql_text

  from v$sql

  where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

  阿里巴巴筆試5:如何跟蹤某個session的SQL

  exec dbms__sql_trace_in_session(sid,serial#,&sql_trace);

  select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);

  exec dbms__ev(&sid,&serial#,&event_10046,&level_12,);

  阿里巴巴筆試6:SQL調整最關注的是什麼

  查看該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk))

  阿里巴巴筆試7:說說你對索引的認識(索引的結構、對dml影響、爲什麼提高查詢性能)

  b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,會降低insert的速度

  阿里巴巴筆試8:使用索引查詢一定能提高查詢的性能嗎?爲什麼

  索引就是爲了提高查詢性能而存在的, 如果在查詢中索引沒有提高性能, 只能說是用錯了索引,或者講是場合不同

  阿里巴巴筆試9:綁定變量是什麼?綁定變量有什麼優缺點?

  綁定變量是相對文本變量來講的,所謂文本變量是指在SQL直接書寫查詢條件,這樣的SQL在不同條件下需要反覆解析,綁定變量是指使用變量來代替直接書寫條件,查詢bind value在運行時傳遞,然後綁定執行。優點是減少硬解析,降低CPU的爭用,節省shared_pool ;缺點是不能使用histogram,sql優化比較困難

  阿里巴巴筆試10:如何穩定(固定)執行計劃

  query_rewrite_enabled = true

  star_transformation_enabled = true

  optimizer_features_enable = 9.2.0

  創建並使用stored outline

  阿里巴巴筆試11:和排序相關的內存在8i和9i分別怎樣調整,臨時表空間的作用是什麼

  8i中sort_area_size/sort_area_retained_size決定了排序所需要的內存如果排序操作不能在sort_area_size中完成,就會用到temp表空間9i中如果workarea_size_policy=auto時, 排序在pga內進行,通常pga_aggregate_target的1/20可以用來進行disk sort;如果workarea_size_policy=manual時,排序需要的內存由sort_area_size決定在執行order by/group by/distinct/union/create index/index rebuild/minus等操作時,如果在pga或sort_area_size中不能完成,排序將在臨時表空間進行(disk sort)臨時表空間主要作用就是完成系統中的disk sort.

  阿里巴巴筆試12:存在表T(a,b,c,d),要根據字段c排序後取第21—30條記錄顯示,請給出sqlcreate table t(a number(,b number(,c number(,d number();/begin for i in 1 .. 300 loopinsert into t values(mod(i,2),i/2,dbms_e(1,300),i/4);end loop;end;/select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;/select * from (select * from test order by c desc) x where rownum < 30minusselect * from (select * from test order by c desc) y where rownum < 20 order by 3 desc相比之 minus性能較差

  二:阿里巴巴筆試數據庫基本概念類

  阿里巴巴筆試1:pctused and pctfree 表示什麼含義有什麼作用

  pctused與pctfree控制數據塊是否出現在freelist中,pctfree控制數據塊中保留用於update的空間,當數據塊中的free space小於pctfree設置的空間時,該數據塊從freelist中去掉,當塊由於dml操作free space大於pct_used設置的空間時,該數據庫塊將被添加在freelist鏈表中。

  阿里巴巴筆試2:簡單描述table / segment / extent / block之間的關係

  table創建時,默認創建了一個data segment,每個data segment含有min extents指定的extents數,每個extent據據表空間的存儲參數分配一定數量的blocks

  阿里巴巴筆試3:描述tablespace和datafile之間的關係

  一個tablespace可以有一個或多個datafile,每個datafile只能在一個tablespace內,table中的數據,通過hash算法分佈在tablespace中的各個datafile中,tablespace是邏輯上的概念,datafile則在物理上儲存了數據庫的種種對象。

  阿里巴巴筆試4:本地治理表空間和字典治理表空間的特點,ASSM有什麼特點

  本地治理表空間(Locally Managed Tablespace簡稱LMT):8i以後出現的一種新的表空間的治理模式,通過位圖來治理表空間的空間使用。

  字典治理表空間(Dictionary-Managed Tablespace簡稱DMT):8i以前包括以後都還可以使用的一種表空間治理模式,通過數據字典治理表空間的空間使用。

  動段空間治理(ASSM),它首次出現在Oracle920裏有了ASSM,鏈接列表freelist被位圖所取代,它是一個二進制的數組,能夠迅速有效地治理存儲擴展和剩餘區塊(free block),因此能夠改善分段存儲本質,ASSM表空間上創建的段還有另外一個稱呼叫Bitmap Managed Segments(BMB 段)。


  阿里巴巴筆試真題二:

  阿里巴巴筆試1、raid0.1.5的特點和優點。

  阿里巴巴筆試2、SMTP,POP3端口號。

  阿里巴巴筆試3、OSI七層模型。

  阿里巴巴筆試4、添加靜態路由命令。

  阿里巴巴筆試5、LINUX是實時還是分時操作系統。

  阿里巴巴筆試6、瀏覽網頁出現亂碼什麼原因。

  阿里巴巴筆試7、VLAN實現的功能

  阿里巴巴筆試8、IP子網劃分問題。

  阿里巴巴筆試9、能否將WIN2000P升級成WIN2000S?

  阿里巴巴筆試10、怎樣保證1個文檔的安全性?

  阿里巴巴筆試11、SAMBA實現什麼功能?

  阿里巴巴筆試12、怎樣實現VLAN間通信?

  阿里巴巴筆試13、1個公有IP接入路由器,怎樣實現局域網上網?


  阿里巴巴筆試真題三:

  最近有同學去阿里巴巴筆試,特地在網上搜了些阿里巴巴筆試題,大家可以共享一下。

  阿里巴巴筆試:A,B頭上各有一頂帽子,帽子上各有一個大於0的整數,已知這兩個整數相差1。

  A,B能看見對方的帽子,但是看不見自己。

  這時候:

  C問A:你知道你頭上的數字是多少嗎? A說:不知道

  C問B:你知道你頭上的數字是多少嗎? B說:不知道

  C又問A:你知道你頭上的數字是多少嗎? A說:不知道

  C又問B:你知道你頭上的數字是多少嗎? B說:不知道

  C又問A:你知道你頭上的數字是多少嗎? A說:不知道

  C又問B:你知道你頭上的數字是多少嗎? B說:不知道

  C又問A:你知道你頭上的數字是多少嗎? A說:我知道了

  C又問B:你知道你頭上的數字是多少嗎? B說:我知道了

  你知道他們頭上的數字嗎?

  阿里巴巴筆試參考解答:

  1、假設S、P額頭上的數字分別爲2和1(以S=2、P=1表示)。S可以看到P=1,P可以看到S=2。根據P=1,S可以斷定S=0或2,但數字爲正整數,故只能爲2,即第一次問時S即可猜出自己頭上的數字爲2。根據S=2,P可以斷定P=1或3。假定P=3,則第一次問時S只能得到S=2或4,並不能猜出S到底等於幾,故可得出P=1的結論。即第一次問時S即猜出自己的數字時P也能猜出自己的數字。故S=2、P=1時Q問一次S及P即可猜出自己的數字。

  2、假設S=3、P=2。根據P=2,S可以得出S=1或3;根據S=3,P可以得出P=2或4。第一次問時,S和P均猜不出自己額頭上的數字。第二次問時,S可以這麼思考:假設S=1,根據1中的證實,第一次問時P即可猜出P=2,故S=1可排除,即可斷定S=3。S猜出自己的數字後,P可以這麼思考:假設P=4,S能得出的結論是S=3或5,第二次問時S並不能猜到S等於幾,故可將P=4排除,即可斷定P=2。故S=3、P=2時Q問兩次S及P即可猜出自己的數字。