開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)

芊寶寶發表於2019-05-07

為幫助開發者們提升面試技能、有機會入職阿里,雲棲社群特別製作了這個專輯——阿里巴巴資深技術專家們結合多年的工作、面試經驗總結提煉而成的面試真題這一次將陸續放出(面試題官方參考答案將在專輯結束後統一彙總分享,點此進入答題並圍觀他人答案)。並通過這些筆試真題開放阿里巴巴工作機會,讓更多的開發者加入到阿里這個大平臺。

這一次,不僅是知識的收穫,還將間接地與技術大牛們做了直觀的溝通,瞭解他們的出題思路與考察要點,並加以消化吸收,這對自己技術能力本身就是一種極大的提升。走上程式設計之路,不斷豐富自己方能與世接軌,努力做最優秀的自己。

5月5日,我們給開發者的第8道面試題。

08.NFS和SMB是最常見的兩種NAS(Network Attached Storage)協議,當把一個檔案系統同時通過NFS和SMB協議共享給多個主機訪問時,以下哪些說法是錯誤的:(多選)

A. 不可能有這樣的操作,即把一個檔案系統同時通過NFS和SMB協議共享給多個主機訪問。
B. 主機a的使用者通過NFS協議建立的檔案或者目錄,另一個主機b的使用者不能通過SMB協議將其刪除。
C. 在同一個目錄下,主機a通過NFS協議看到檔案file.txt,主機b通過SMB協議也看到檔案file.txt,那麼它們是同一個檔案。
D. 主機a通過NFS協議,以及主機b通過SMB協議,都可以通過主機端的資料快取,提升檔案訪問效能。

阿里巴巴出題專家:起影

阿里雲檔案儲存-高階技術專家,清華大學本科和研究生,電子工程系光電子和光通訊專業。畢業後在兩家光通訊公司(Lucent和Sycamore)進行光網路產品的開發。從2011年開始進入儲存行業,加入EMC2公司,主要參與檔案系統的開發,六年中,參與了企業級中端產品VNX/Unity多項Block和File的特性開發。
2017年2月加入阿里雲檔案儲存團隊,參與基於KV系統的檔案系統開發,以及NFS/SMB相關協議開發。

開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)

招聘職位:阿里雲端儲存技術專家

點選進入聚能聊答題,並圍觀大家的回答!

4月28日,我們給開發者的第6~7道面試題。

06. 從innodb的索引結構分析,為什麼索引的key長度不能太長

07. MySQL的資料如何恢復到任意時間點

阿里巴巴出題專家:近秋

阿里雲資料庫產品技術部技術專家,有6年的行業從業經驗。2016年加入阿里雲,目前負責最流行的開源資料庫MySQL在阿里雲的商業化的工作。

開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)

招聘職位:阿里雲資料庫技術專家
點選進入聚能聊答題,並圍觀大家的回答!

4月26日,我們給開發者的第5道面試題。

05.關於epoll和select的區別,哪些說法是正確的?(多選)

A.
epoll和select都是I/O多路複用的技術,都可以實現同時監聽多個I/O事件的狀態

B.
epoll相比select效率更高,主要是基於其作業系統支援的I/O事件通知機制,而select是基於輪詢機制

C.
epoll支援水平觸發和邊沿觸發兩種模式

D.
select能並行支援I/O比較小,且無法修改

阿里巴巴出題專家:寈峰

阿里技術專家,阿里巴巴百年技術大學講師,Apache RocketMQ Committer,Linux OpenMessaging Advisory Board Member,具有多年分散式訊息系統等中介軟體架構設計及研發經驗,對雲端計算及分散式系統架構有深刻理解。目前負責Apache RocketMQ的研發及社群生態。

開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)

招聘職位:阿里雲中介軟體技術專家

點選進入聚能聊答題,並圍觀大家的回答!

4月25日,我們給開發者的第2~4道面試題。

02.已知sqrt(2)約等於1.414,要求不用數學庫,求sqrt(2)精確到小數點後10位

考察點:

  1. 基礎演算法的靈活應用能力(二分法學過資料結構的同學都知道,但不一定往這個方向考慮;如果學過數值計算的同學,應該還要能想到牛頓迭代法並解釋清楚)
  2. 退出條件設計

03. 給定一個二叉搜尋樹(BST),找到樹中第K小的節點

考察點:

  1. 基礎資料結構的理解和編碼能力
  2. 遞迴使用

示例
如下圖,輸入K=3, 輸出節點值3

開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)


說明
保證輸入的K滿足1<=K<=(節點數目)

04.LRU快取機制

設計和實現一個 LRU(最近最少使用)快取 資料結構,使它應該支援以下操作: get 和 put 。
get(key) ‑ 如果key存在於快取中,則獲取key的value(總是正數),否則返回 ‑1。 put(key,
value) ‑ 如果key不存在,請設定或插入value。當快取達到其容量時,它應該在插入新專案之前使
最近最少使用的專案作廢。

案例:
LRUCache cache = new LRUCache( 2 / 容量 / );

cache.put(1, 1);
cache.put(2, 2);
cache.get(1); // 返回 1
cache.put(3, 3); // 該操作,會將 key 2 作廢
cache.get(2); // 返回 ‑1 (結果不存在)
cache.put(4, 4); // 該操作,會將 key 1 作廢
cache.get(1); // 返回 ‑1 (結果不存在)
cache.get(3); // 返回 3
cache.get(4); // 返回 4

測試用例: s = [["put","put","get","put","get","put","get","get","get"],[[1,1],[2,2],[1],[3,3],[2],
[4,4],[1],[3],[4]]]

考察點:
對LRU實現的基本原理和資料結構的理解。

阿里巴巴出題專家:文景

阿里雲CDN資深技術專家,浙大碩士,在高效能服務端產品開發、穩定性、服務質量優化及成本優化等各項功能都有10年以上的經驗。在網易杭州研究院負責底層開源軟體研發,國內最早核心Nginx研發人員之一,曾任tengine研發負責人,熱衷於參與開源專案。
現在是CDN技術負責人,連續7年服務雙11,保障整個阿里集團95%以上的流量分發穩定性。從2014年開始,從0到1構建阿里雲CDN的商業化基礎設施,包括點播、直播、動態、安全加速等各項產品線,阿里雲CDN現在是中國使用者數最多的CDN、也是國內規模最大的CDN。正在將CDN打造成網際網路的基礎設施,為全球使用者提供接入、加速、安全的穩定服務。

開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)

招聘職位:點此進入檢視CDN大量職位並投遞簡歷
點選進入聚能聊答題,並圍觀大家的回答!

4月24日,我們給開發者的第1道面試題。

01. 如何實現一個高效的單向連結串列逆序輸出?

阿里巴巴出題專家:昀龍

阿里雲彈性人工智慧負責人
,帶領團隊研發了同時支援Tensorflow、MXNET、PyTorch、Caffe的Perseus加速框架,曾獲得Dawnbench推理世界競賽的效能第一和成本最低雙料冠軍。曾任阿里雲彈性高效能運算、超級計算叢集技術架構師,獲得過多項專利,擁有10年以上AI技術研發和高效能優化經驗。精通針對CPU、GPU、MIC等微架構的計算效能優化以及網路、儲存等系統效能優化。曾在英特爾SSG部門工作,並獲得過英特爾中國最高成就獎(ICA)。
當人工智慧遇上雲端計算,未來不可限量,歡迎加入阿里雲彈性人工智慧團隊。

開發者招聘節 | 2019阿里巴巴技術面試題分享(陸續放出)

招聘職位:阿里雲-GPU虛擬化研發高階專家

點選進入聚能聊答題,並圍觀大家的回答!

更多面試真題陸續放出,敬請期待!


原文連結

本文為雲棲社群原創內容,未經允許不得轉載。


相關文章