我發現一件事,今年的秋招比去年來的更早一些,像什麼小度、深信服、OPPO、科大訊飛、華夏銀行等等知名的公司都開始了,想問問要找工作的各位:你們準備好了嗎?
這真不是危言聳聽,需要參加今年秋招的小夥伴真的要抓緊時間準備了,八股、算法、項目都要按部就班地往前推進了,畢竟時間不等人,我在星球裏還遇到過秋招錯過、春招也錯過的球友,後續真的是十分被動。
今天分享一位粉絲投稿的阿里面經,這是他第一次約到阿里的面試,二面面完後跟我直呼:“太難了”。
阿里巴巴
阿里國際
數字零售技術部-ERP技術一面(電話面)
- 自我介紹
- 項目背景?
- 你覺得項目難點是哪些?
- 第一版是怎麼實現的?為什麼會出現超賣問題?
- 記錄搶單結果的表是怎麼設計的?
- 這張表的索引和其他的約束是怎麼做的?
- 樂觀鎖為什麼不是加在搶單關係表而是在訂單表裏的?
- 你現在數據庫的設計上似乎有些問題
- 你們的訂單允許取消嗎?
- 如果要取消的話應該怎麼設計呢?
- 簡易短視頻做了哪些東西
- 用户登錄的處理流程是怎麼個樣子
- 接收登錄請求是HTTP嗎
- HTTP裏面登錄的狀態保持是怎麼做的?
- 怎麼判斷JWT的合法性
- JWT裏面保持了哪些東西?數據結構大概是什麼樣子?
- JWT和普通的Session的方式有什麼區別?
- session的方式瞭解過嗎?
- 使用JWT要實現一個狀態只能一個設備登錄,這應該怎麼做呢?
- 怎麼設置JWT的校驗不通過呢?
- JWT對於登錄數量有要求的就很痛苦
- Java的雙親委派,為什麼要這麼設計呢?
- 類如果重複加載會有什麼問題呢?
- 有遇到過非雙親委派模型的場景嗎?
- 類加載的過程一般會做哪些事情?每一步具體都在做些什麼呢?
- 對JVM的調優有了解過嗎?
- 説説你對Redis的瞭解
- bitmap是個什麼樣的東西
- 項目裏的Redis是怎麼用的?
- 搶單為什麼會有庫存數量
- 使用Redis防止超賣的流程是怎樣的,會不會有併發的問題?
- 遞減是怎麼操作的?
- 這樣會不會有問題,遞減完成時的併發判斷庫存大小的時候出問題,因為遞減和判斷不是原子性的
- ThreadLocal的作用
- 什麼樣的情況下會使用ThreadLocal?
- 後面怎麼使用的?
- 這麼設計(使用ThreadLocal)的原因?目前來説ThreadLocal是能不用就不用的
- 內部起個線程池,這時能拿到ThreadLocal的內容嗎?
- SpringCache和Redis有什麼區別?(考慮業務上的合理性)
- MySQL有哪些儲存引擎瞭解嗎?有什麼區別
- 聚簇索引和非聚簇索引有什麼區別?
- 回表的優化了解過嗎?
- 為什麼不要使用select * 呢?
- 沒有被索引覆蓋是什麼?
- 什麼是索引下推
- 反問
二面(電話面)
- 自我介紹
- 這裏面比較有挑戰的是哪個系統
- 在Redis裏怎麼做庫存的扣減
- 怎麼保證是不超賣的呢
- 面試官舉了個例子表示對Redis遞減防止超賣的不理解
- HashMap底層是什麼數據結構組成的
- 紅黑樹有什麼好處
- 28個元素放到HashMap裏面,那麼HashMap初始化的容量為多少比較好
- 初始化了一個固定線程數的線程池,線程數是5個,把6個任務扔進去,線程池怎麼處理
- MySQL有個表,裏面四個字段有abc三個字段,d是主鍵,我要查詢ab,條件是bc,這時怎麼設計索引
- 什麼是回表
- 假設還是這個表,數據量很大,這時要做分頁,每頁100條,你怎麼設計這個查詢語句
- 子查詢怎麼設計
- 比如要查第10000頁,你會怎麼寫這個sql
- 用過limit查詢嗎
- 項目裏Redis防止超賣的方案,Redis就類似一個鎖了
- 解釋緩存穿透和緩存雪崩
- 上述情況的解決方案
- 刷新視頻時系統會推薦20條用户沒看過的視頻,這時怎麼設計會讓性能更優呢
考慮位圖或者布隆過濾器,使用二進制數組來保存視頻,實現篩選沒看過的視頻
- 筆試題:輸出每個url最多的訪問次數(類似華子實習筆試第一題,但是簡單一些)
-
反問
歡迎關注 ❤
我的文章都首發在同名公眾號:王中陽
需要簡歷優化或者就業輔導,可以直接加我微信:wangzhongyang1993,備註:sf