關注飛總聊IT,瞭解IT行業的方方面面。
大概在2008-2009年前後,Jeff Dean在公開場合做過幾次演講,有一次是在斯坦福。
演講的內容就是如何設計一個系統,做back of envelope analysis。當然還有一些金句,比如說系統要設計成10x但是是別擔心100x的traffic,比如說,還有一些每個人都要知道的number。
這之後大資料迎來了一波發展,湧現出了很多技術。而relational database則成為了沒希望的技術。實在要用資料庫,那就先sharding。
之後很多的公司面試就都需要interview system design了。
更有趣的事情在於,這個面試發展出了一個產業,比如著名的Alex Xu的書。而面試官也好,面試者也好,其實都不是通才,都不見得真的做過那麼多系統。
那麼怎麼辦呢?大家都照本宣科的學習。而Jeff Dean顯然是這方面的鼻祖,他說過的話,做過的事情自然是經典。
問題來了,現在這幾年的硬體發展是很誇張的。如果你去看一下AWS提供的機器的話,幾十GB的memory到幾TB的memory都有,至於SSD硬碟,10個TB應該是小意思了。
軟體技術的發展,也日新月異。以前大家覺得relational database要完蛋了,其實不是,現在資料量幾十個TB,一個node的PostgreSQL就夠了。每秒處理10k個訪問輕輕鬆鬆的根本就不是個事情。
而且NoSQL也今時不同往日了。比如說,應該沒什麼人繼續用HBase了,除非是Legacy。畢竟relational database已經很能打了。
亞馬遜的DynamoDB現在也牛逼了,支援Strong consistency好多年了。之前的刻板印象都消失了。
有時候我真的覺得PostgreSQL能幹的事情,DynamoDB也能幹。
當然Cassandra還是經常會跳幾下的,因為寫的速度確實夠快,Netflix還給調優了一下。
所以現在就出現了一個很奇怪的現象,一邊來面試的人,動不動就要這種情況下選nosql,那個情況下要sharding。
另外一邊現實情況是,目前的技術發展早就日新月異,無論硬體還是軟體,都不是十幾年前的樣子了。
如果你真的在AWS上買過機器搭過服務的話,大機率是知道,很多東西,早就不是當年那一套了。
但是呢?面試還是面試,該按照什麼套路來的,還是按照什麼套路來。面試官們是不是真的搭過Uber,搭過YouTube,搭過SnapChat不重要,重要的是,他們按照套路面,你按照套路答。
要是遇到一個真有實操經驗的人,說一些實際的情況,面試官都不知道你說的是對還是錯。這才是荒謬的地方。
不過想想,刷題刷上幾千道,工作完全用不到,system design也刷起來,總而言之,這年頭找工作那真的是不容易,和找到工作以後,乾的活,完全不是一回事。
歡迎加入飛總知識星球。一頓飯的錢,和飛總交個朋友。
