兩分鐘搞定阿里SQL面試題:億級表合併
阿里面試
2010 年,阿里正當紅。
那年 BAT 的名氣還沒有現今那麼響亮。 就業的時候,很多畢業生還是會選擇 HP, IBM, EMC, SONY, ORACLE,Microsoft 等一類的外企。 這些外企在畢業生眼中代表的是名牌,權威,以及自由,沒錯,自由很重要,Nice 的環境,和諧的團隊,沒有 996 的生存壓力。
但,差距就是在不經意間發生的。
隨著阿里 DBA 團隊轟轟烈烈的多場技術分享演講,越來越多的阿里人在部落格上、論壇裡釋出了自己對技術的理解。 尤其是 Oracle 技術的應用,itpub 的崛起,簡直把 Oracle 推向了神壇。 特別是 Fenng 這支筆桿子,既是 Oracle 高手,還帶有特別出色的影響力,讓每個玩資料庫的人都對 Oracle 產生了特別的好感,為人不知 Oracle, 縱稱 DBA 也枉然。
當帝國大廈建成,也自然成就了一批匠人。
現在來看,後期的業務幾近於維護期,再去阿里搞 Oracle, 時間風口已經不再了。 所以 BAT 未來幾年不再是技術人成長的好地方了,反而那些小立山頭的初創公司,可能還有至少讓你技術騰飛的空間。
當然,如果你是搞 AI, BAT 依然是首選。
2010 年我也帶著一絲敬仰,畢竟玩了 Oracle 也 2 年了,準備去阿里試試。 阿里招新也是挺大場面的。 虹橋展覽館都包了整整 3 層,迎賓就用了 1 層。 筆試很快就透過了,基礎題還是選擇題,只要認真看過 Oracle Concepts 都應該問題不大。 一面 HR,問一些個人意願和對技術的看法,不太張狂的技術人,不會卡在這一關。 終面是個老技術,問得特別細。
印象中,時間過得很慢,大概整個面試過程有 1 個半小時。 面試給的礦泉水都喝得差不多了才停。
拒人千里之外的那道 SQL 題
所有的面試我想都會有兩部分。
第一部分是對理論知識的考察,比如表空間,分割槽,統計資訊,日誌處理,備份與恢復,RAC, OGG 等等。 這些基礎知識,在 Oracle Concepts, Tom 的 《Oracle 體系架構》《Oracle 程式設計藝術》中都會有涉及,即使只看過其中某幾章,吹吹水還是能過得去。 就像《雪山飛狐》中偷練了胡家刀法的那個遊醫,不也稱霸一方了嘛。
第二部分實戰題就真的是考察功底了。 我記得最清楚的是這麼道題,直到現在我作為面試官來面試候選人,也會用這道題,因為只此一題就能考察候選人對 DB 的理解,不至於一個 Update/Insert 就把 DB 搞掛!
題目是這樣的:
有一張以 ID 為主關鍵字的聚集表,表資料量是 2 億。 要將另一張同樣結構的表,表資料量是 6000 萬,合併到第一張表裡。
請你設計一個更新的過程。 第一張表可能含有 第二張表的部分資料,也可能沒有。 沒有的要加入,匹配的要更新。
不出大家所料,當時我的回答跟絕大部分我遇到的面試者一樣,insert/update/merge 就完了唄。 結果統統都是被否定的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2669300/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 5分鐘搞定Promise控制併發Promise
- 【搞定 Java 併發面試】面試最常問的 Java 併發基礎常見面試題總結!Java面試題
- SQL面試題 三(單表、多表查詢)SQL面試題
- 10分鐘搞定 Java 併發佇列好嗎?好的Java佇列
- SQL 兩個表組合查詢SQL
- 搞定字串類面試題-Palindrome字串面試題
- 使用SQL語句將資料庫中的兩個表合併成一張表SQL資料庫
- 十分鐘搞定 GradleGradle
- 做好面試的準備之—常見面試題(適合初級、中級的面試者)面試題
- sql 經典面試題及答案(選課表)SQL面試題
- 1分鐘搞定 Nginx 版本的平滑升級與回滾Nginx
- SQL崗位30個面試題,SQL面試問題及答案SQL面試題
- Python面試應急5分鐘!Python面試
- 5 分鐘搞定 Java Comparable 介面Java
- Java併發面試題Java面試題
- 阿里一道Java併發面試題 (詳細分析篇)阿里Java面試題
- 伺服器穩定性的測試方法,1分鐘搞定伺服器
- Golang精編100題-搞定golang面試Golang面試
- 搞定這套 Python 爬蟲面試題,面試會 so easyPython爬蟲面試題
- 5分鐘搞定OKR工作法OKR
- 10 分鐘搞定 Golang 結構體Golang結構體
- 五分鐘搞定Docker安裝ElasticSearchDockerElasticsearch
- 30分鐘SQL指南SQL
- Java 併發面試題解Java面試題
- RabbitMQ/高併發面試題MQ面試題
- 常見面試SQL問題面試SQL
- SQL面試題,快問快答!SQL面試題
- 最新阿里Java面試題,這些面試題你會嗎?阿里Java面試題
- 必看,經典sql面試題2(學生表_課程表_成績表_教師表)SQL面試題
- 必看,經典sql面試題1(學生表_課程表_成績表_教師表)SQL面試題
- iOS 中級面試題iOS面試題
- iOS面試題 --- 中級iOS面試題
- 2019 阿里java面試總結 (含面試題解析)阿里Java面試題
- 三分鐘搞定 Springboot 和Swagger 整合Spring BootSwagger
- 10分鐘搞定Mysql主從部署配置MySql
- Java併發面試題精選Java面試題
- 邦芒面試:把握面試的前三分鐘重要性面試
- Android 面試題,百度,小米,阿里面試題Android面試題阿里