滴滴面試的流程,有客服會和你確認面試時間,併發送郵件附帶面試連接談項目經驗。處理算法題,最大無重複子串,鏈表的值交換遇到過線上服務器CPU飆高的狀況沒有,如何處理對線程池的理解,項目中哪一個地方使用了,如何使用的,用的Excutor框架中的哪一個實現類,爲何用這個對MySQL索引的理解、對組合索引的理解、索引的最佳實踐分佈式鎖的實現、對比Redis分佈式鎖 & ZK分佈式鎖怎麼理解微服務,服務如何劃分,能夠從哪幾個方面去劃分,爲何這樣劃分,微服務帶來了哪些好處,哪些壞處,如何看待這個問題?如何理解網關,網關帶來的好處和壞處,如何解決掌握哪些設計模式,經常使用哪些,項目中如何使用的,爲何用這個,不用那個?手寫一個線程安全的單例模式如何設計一個秒殺系統?假設如今雙十一零點,大量下單請求,如何對這些訂單進行分庫分表,爲何?MySQL事務隔離級別、MVCC?css
答案:
前端
3:nginx
登陸服務器,執行top命令,查看CPU佔用狀況;定位線程;定位代碼,解決問題面試
4:redis
1)建立/銷燬線程伴隨着系統開銷,過於頻繁的建立/銷燬線程,會很大程度上影響處理效率算法
2)線程併發數量過多,搶佔系統資源從而致使阻塞數據庫
3)對線程進行一些簡單的管理, 延時執行 定時循環執行後端
普通索引:即一個索引只包含單個列,一個表能夠有多個單列索引設計模式
惟一索引:索引列的值必須惟一,但容許有空值瀏覽器
複合索引:多列值組成一個索引,專門用於組合搜索,其效率大於索引合併
聚簇索引(彙集索引):並非一種單獨的索引類型,而是一種數據存儲方式。具體細節取決於不一樣的實現,InnoDB的聚簇索引其實就是在同一個結構中保存了B-Tree索引(技術上來講是B+Tree)和數據行。
非聚簇索引:不是聚簇索引,就是非聚簇索引
基於緩存(Redis等)實現;
基於Zookeeper實現;
服務間調用,服務發現,服務容錯,服務部署,數據調用
高性能,可橫向擴展
高可靠,業務不中斷
插件化的API安全控制
靈活的數據編排
精細化流控
API版本管理
API數據分析
高效插件化路由算法
安全認證,防攻擊
API訪問控制
Swagger導入導出
9:
單例模式,工程模式,註冊模式,適配器模式,觀察者模式,策略模式
10:
前端
一、nginx負載均衡,將請求分發到各個服務器,減輕壓力。
二、js、css壓縮,減小流量以及請求次數。
三、cdn加速。
緩存
一、採用redis緩存,能夠提早將某些秒殺的數據加載到緩存。如庫存先加載到緩存,判斷緩存裏的庫存,成功後再繼續,同時爲了防止大量訪問redis,能夠用共享變量標識是否賣完,如賣完了,則直接返回,不用訪問redis。
二、頁面緩存,即將頁面直接緩存到redis,或者頁面靜態化,即先後端分離。
三、開啓瀏覽器緩存。
限流
一、使用消息隊列,例rabbitmq進行消峯。
二、利用驗證碼防止惡意刷單,能夠有效下降單位時間內訪問次數。
三、地址隱藏,防止知道地址後提早購買以及多刷。
四、必定時間內限制url訪問次數。
數據庫
一、利用行級鎖,先扣庫存,成功後再建立訂單,防止超賣。
二、惟一索引,防止重複購買。
三、數據庫讀寫分離,如mycat。
11:
將訂單數據劃分紅兩大類型:分別是熱數據和冷數據。
熱數據:3個月內的訂單數據,查詢實時性較高。
冷數據A:3個月 ~ 12個月前的訂單數據,查詢頻率不高。
冷數據B:1年前的訂單數據,幾乎不會查詢,只有偶爾的查詢需求。
12:
數據庫事務的隔離級別ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔離性、持久性)。
當數據庫上有多個事務同時執行的時候,就可能出現髒讀(dirty read)、不可重複讀(non-repeatable read)、幻讀(phantom read)的問題,爲了解決這些問題,就有了「隔離級別」的概念。
隔離級別越高,效率就會越低。所以不少時候,咱們都要在兩者之間尋找一個平衡點。
SQL標準的事務隔離級別包括:讀未提交(read uncommitted)、讀提交(read committed)、可重複讀(repeatable read)和串行化(serializable )。
讀未提交:一個事務還沒提交時,它作的變動就能被別的事務看到。
讀提交:一個事務提交以後,它作的變動纔會被其餘事務看到。
可重複讀:一個事務執行過程當中看到的數據,老是跟這個事務在啓動時看到的數據是一致的。固然在可重複讀隔離級別下,未提交變動對其餘事務也是不可見的。
串行化:顧名思義是對於同一行記錄,「寫」會加「寫鎖」,「讀」會加「讀鎖」。當出現讀寫鎖衝突的時候,後訪問的事務必須等前一個事務執行完成,才能繼續執行。
本文分享自微信公衆號 - 風帆(wdswhf)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。