說個小故事。
-
我是在讀大二~大三(資工系)時知道比特幣的。具體細節也忘記了,只記得當時暗網「絲路」被 FBI 查禁後沒多久,裡面流通的交易貨幣「比特幣」開始漸為人知。
至今印象最深刻的一件事,發生是在某堂課的時候。
朋友因為老師講課太無聊,於是拿起手機開始分心。突然間,他把手機螢幕湊過來,給我看當時比特幣的價格。
因為同為資工人,平常對於這類技術就有討論,因此我們也都會關注相關消息。
我還記得,當時我們倆都笑了出來,搖頭直說瘋了。
那時一顆比特幣的價格 = 200-500 台幣左右。
-
等我上了研究所(差不多 2016 的時候),「區塊鏈」這個概念已經在資工圈內較為人知。
與此同時,還掀起了一股不亞於掏金熱的「挖礦熱」。
當時在各大論壇(Mobile01、PTT),都有人分享如何利用 CPU/GPU 進行挖礦,並且吸引不少人投入。
還記得看過最誇張的一則新聞:「有人包下一台飛機裝滿 Nvidia 的顯卡,準備載回國來賣/建立礦場」
我自己的話,則是一邊研究 AI,一邊投入體驗看看挖礦這件事。
當年用筆電的 CPU 就可以挖礦了,記得平均一天的收益約 5 美金。
雖然不多,但電腦擺著就可以挖礦,整體來說還滿有趣的。
當然之後隨著越來越多人投入,整體挖礦難度變高,CPU 挖礦已經變得毫無效率了。
除此之外,我也有玩 FreeBitco.in。
有經驗的人就會知道,這是一個老牌的水龍頭網站,靠著點點點來賺比特幣,並且後來還在 dcard 上寫了一系列「教你不耗電賺比特幣」的文章,可以說是年少輕狂😆
👉https://www.dcard.tw/f/money/p/227033709
-
2018 年出社會後,成功討到一份 AI 工程師的工作,也同時開始經營「雷司紀的小道投資」。
早期在 Medium 上寫作的時候,也以投資的觀點,寫了一些跟區塊鏈/加密貨幣有關的文章👉https://rayskyinvest.org.in/加密貨幣
這個時候正值Likecoin / Self tokens(聖人大盜)的創業,幣圈/鏈圈內的各種應用也百花盛開,因此便在下班之餘開始研究區塊鏈--
像是寫 Solidity + Truffle + Ganache 程式,成功在以太坊測試鏈上部署開發的加密貨幣;
把比特幣、以太坊的白皮書/黃皮書讀過一遍,並且找一些《區塊鏈資安攻擊》的論文來研究;
到最後(2019年底),還出任某間區塊鏈新創公司的BD。
-
對於加密貨幣/區塊鏈,我一直以來都抱持的好奇的心態去接觸。
當然以投資的觀點來看,有的人會嗤之以鼻,認為這就是炒作起來的「投機商品」。但你知道嗎?以嚴格的定義來說,期貨、選擇權、差價合約...等等,也是屬於「投機商品」,在市場上皆為零和遊戲。
我不會明確告訴你:「加密貨幣非常值得投資!」或是「加密貨幣很不值得投資!」,因為那沒有意義。
因為在投資理財這條路上,永遠有一條最多人容易犯、但也最重要的金律:「不要投資你不懂的東西。」
如果你非常熟悉某一樣東西,那投資/投機這項「資產」就不是什麼大問題,就如同《決戰 21 點》一樣,雖然賭博是投機,但主角們找到了賺錢的方式,那就是成功。
同理,那一批在 2012-2015 年看見比特幣潛力並投資的人,有的翻轉人生、有的登上富比世雜誌封面。
因此在市場上,採取什麼樣的投資手段從來就無關緊要;你所採取的手段是否能成功「獲利」,這才是真正重要的事。
-
故事說完了。
如果你看到這裡,表示你是個很有耐心的人,同時你現在應該真的滿閒的(?)......開玩笑的。
不過我還是很感謝你願意看到最後,因此為了獎勵你的耐心跟支持,這邊將會提供一項大回饋🎁(這是僅限看完整篇文章的人喔!)
最近由於幣安(全球最大加密貨幣交易所)找上門來,最後決定雙方展開合作,因此這邊就先提供一項跟幣安有關的回饋:
【幣安推薦碼:20% 回饋反佣(一般最多10%)】
🎁 https://rayskyinvest.org.in/幣安註冊優惠-20反佣
(這個推薦碼期限只到 6/4 24:00,之後會換回原本的)
-
對幣圈/有在使用幣安的人來說,應該知道這是多大的讓利,因為一般正常的推薦碼只提供最多 10% 的反佣。
如果是對加密貨幣不熟的人也不用擔心,所謂的反佣 20% = 你未來在幣安上的交易手續費都只要 8 折。(20%折扣的意思)
-
這項回饋僅限這篇貼文,為期三天,
等期限過後,未來將不會再開放。
因此我的建議是,可以先趁這個機會把幣安帳戶註冊起來放,註冊並不等於投資,只是先搶一個優惠帳戶,就算永遠放著也無妨。
🎁 https://rayskyinvest.org.in/幣安註冊優惠-20反佣
之後我也會開始寫一些區塊鏈、加密貨幣的文章,像是知識上的內容、投資上的細節風險....都會包含在內。
未來區塊鏈/加密貨幣的知識討論,也會集中在此社團:
♣ 台灣加密貨幣討論區-區塊鏈、加密貨幣、比特幣、以太幣、Ripple、TRON、幣安加密貨幣合約、幣安寶
-
即便永遠不會投資加密貨幣,但了解學習現在正在發展的區塊鏈技術、加密貨幣商業市場運作....具備這樣的知識,我認為並不是損失。
畢竟現在連各國政府、Facebook、Line...等等,也都開始注重這項技術了,不是嗎?
「最重要的投資並非金錢,而是投資你自己!」
-
https://www.facebook.com/BinanceChinese/posts/1895102983957648
同時也有1部Youtube影片,追蹤數超過626的網紅Bradley說故事,也在其Youtube影片中提到,我買了 24 本 GaryVee 的新書《Twelve and a Half: Leveraging the Emotional Ingredients Necessary for Business Success》 我瘋了嗎? 沒有,它有可能是我最好的投資! 本視頻中提到:GaryVee、N...
聖 研 推薦碼 在 矽谷輕鬆談 Just Kidding Tech Facebook 的精選貼文
#就地避難在家鍛鍊寫作能力
軟體工程師系統設計面試準備指南
當你有了幾年的工作經驗以後,在找工作時一定會遇到系統設計的面試,有鑒於大部分的面試心得都是針對演算法以及資料結構的程式面試 (包括我之前寫的美國軟體工程師求職心得),對於系統設計的準備資源還真的不多,本篇要來剖析系統設計面試,介紹面試的流程、正確的心態以及準備的方向,讓大家再也不怕系統設計面試!
Medium 好讀版:https://medium.com/jktech/%E8%BB%9F%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E6%BA%96%E5%82%99%E6%8C%87%E5%8D%97-acf6ab1f502f?source=friends_link&sk=ca40acf60b749cb1b32c17a868b0c1a3
#為什麼系統設計很重要?
在程式面試表現優異,可以讓你順利拿到 Offer;但是系統設計會決定你加入公司的職等!這也就是為什麼有些人有十年經驗只能拿到 Mid-Level (L4) 的 Offer,而有些人只有五年經驗卻可以拿到資深工程師以上 (L5+) 的 Offer。
另外,如果你是面試 Staff 或是 Principal 級別以上的話,除了系統設計以外,有些公司還會有 Technical Leadership 的面試,來判斷你是否有能力可以跟不同的部門合作、解決問題的不確定性、帶領資淺的人然後推動並且完成一個跨部門的大型技術專案。
簡單來說,系統設計用來判斷你是 L4 或是 L5+,Technical Leadership 面試用來判斷是 L5 或是 L6+。
#為什麼系統設計很難準備?
大多數應徵者在準備的時候會過度偏重於程式面試,原因也不難理解,程式問題的定義很清楚,有給定的輸入以及預期的輸出,就算你真的想不出來,LeetCode 上的討論區也有參考答案;這種有考古題可以參考的面試,對於台灣教育出來的人來說相對好準備,隨著你解的問題多了,你也會更有信心,不知不覺甚至還會刷上癮了呢!但系統設計卻非如此。
系統設計面試的問題描述通常很模糊 (這是刻意的),沒有給定的輸入與輸出,比較沒有既定規則可以遵循,然後也沒有一個標準答案,針對不同系統你需要提出不同的解法然後分析優缺點,一樣的問題,面試官也會針對你過去經驗往不同的方向問,有些問題你工作上沒有碰過還真的回答不出來,這也就是為什麼很多人看到系統面試就怕了。
#到底要怎麼準備?
首先我們要先建立一個觀念:沒有任何一個人可以知道所有的技術細節
不管你的面試官有多少年經驗,不管他們再怎麼資深,在變化快速的軟體產業,沒有人可以知道所有事情,一定有你知道而他們沒聽過的事情!
請把系統設計當成分享你過去所學的面試,這個面試的目的在於展示你對於軟體架構能力的廣度跟深度,你必須可以給出大方向的架構,知道有哪些元件 (廣度),同時針對你熟悉的領域深入探討更多細節 (深度),並且提出幾個解決方案,分析優缺點,並且針對系統需求選擇合適的解法。
大方承認自己對某些領域的細節不熟,也是完全沒問題的,只要讓面試官了解你知道這個東西,如果要深入了解的話你知道有哪些方向要努力,這樣就夠了,因為在大型的軟體專案裡,一定是高度分工的,不會有人同時精通手機端、前端、後端、Infra 以及嵌入式或是硬體的。
講到這裡,相信你也知道如果真的要準備是準備不完的,這些知識是透過平常工作以及閱讀技術文章長期累積的成果,比較沒辦法臨時抱佛腳。
#具體來說會問什麼問題
舉例來說,一個系統設計的問題會像是這樣:如何設計 Facebook?
這類問題的描述通常會很大而且模糊,面試官不預期而且你也不可能在 45 分鐘內就設計出這些公司花了好幾年這麼多人力設計出來的產品,所以第一步要做的事情是確認需求:是要設計動態牆、Messenger、廣告系統還是推薦系統?流量跟資料量為多少?需要支援全球的使用者嗎?
確認完需求以後,會針對最重要的幾個使用場景設計你的 Data model 以及 API,接著畫出大的系統架構圖,大致上會包含客戶端 (手機版/桌面版)、Load Balancer (Reverse Proxy)、App Servers 以及資料庫,接著可以針對細節下去討論,這邊開始就很自由了。
如果你是專精在資料庫,可以討論要用什麼資料庫以及資料要怎麼存可以讓特定使用場景的讀取以及寫入效能比較好,要怎麼做資料庫的 Replication 跟 Sharding 來服務更多的使用者?
如果講到快取,哪些地方可以加快取呢 (瀏覽器前端, CDN, App Server, 資料庫)?具體來說寫入快取有哪些方式以及優缺點 (write-through, write-around, write-back)?什麼時候要失效?要讓哪些資料失效?
如果聊到微服務器架構跟 Service Mesh,不同的服務怎麼跟其他的服務溝通? control plane 要怎麼更新 data plane 的設定?如果 control plane 掛了怎麼辦?要怎麼做 service discovery? 哪一種 Load Balancing 策略比較好 (round robin, random, least connection, ring hash, or maglev)?有些服務掛了影響到整個系統怎麼辦?什麼時候需要 circuit breaker ?
如果你是手機開發者,怎麼實現離線瀏覽?手機要有資料庫嗎?要怎麼以及多常跟伺服器同步?API 要怎麼設計?如何實現 Infinite Loading?剛 Po 文以後要怎麼樣在自己手機上馬上看到?
這些問題真的列舉不完,總之看到這裡你會了解為什麼我說這個面試是沒有範圍而且也準備不完的,重點應該放在跟面試官的討論,展現你在技術方面的廣度跟深度,讓面試結束的時候能夠有一個你們兩個人都同意的設計!
#準備材料
系統設計的資源比較分散,以下是我篩選過後覺得有用的資料,按照素材的類型作分類,也歡迎大家留言補充!
#入門影片
針對完全沒有概念的新手,我建議可以先從哈佛的 CS75 Lecture 9 Scalability 開始,裡面講到的很多基礎觀念都相當重要,值得一再複習,這些概念先有了以後再閱讀其他的材料會比較有感覺:
如果你看完這篇文章後還想再多了解系統面試的形式,也可以看一個前 Facebook 工程師分享的影片:
Distributed Systems in One Lesson 也很推,裡面提到不少業界在使用的設計模式:
有一個需要付費的資源是 SystemsExpert,每個影片會講解一個系統設計重要的概念,我個人覺得內容有點淺所以沒有買,但是整理地還算不錯,如果你看完他們免費的影片有興趣還是可以參考一下。
#閱讀文章
影片是一個讓你很好理解大方向概念的方式,但是如果你要深入理解背後的原理還有怎麼運作的細節,還是得透過大量以及深度的閱讀來吸收呀!
system design primer 整理了很多系統設計的資源,資料量很夠, 個人的建議是先快速過一遍,不要細讀,先知道總共有哪些元件,大概是做什麼用的就好,接著針對有興趣的部分在深入研究,建立自己的知識庫。
Grokking the System Design Interview 也是很多人推薦的材料,主要是針對系統設計的問題提供範例解答,他們的答案可以當作一個參考,但面試的時候不要完全照著回答,還是得看跟面試官討論的結果來進行,但這個是需要付費的,有興趣可以用我的推薦碼註冊購買。
如果你不想花錢或是不確定 Grokking 的文章你喜不喜歡,有一個類似的網站 Crack the System Design Interview 整理得也還不錯。
#書籍
唸書是一個有系統性學習的方法,如果你只想選一本書來看,就選這本大家都推的系統設計聖經 — Designing Data-Intensive Applications,簡稱 DDIA,這本書適合的對象是想要長期準備系統設計或是分散式系統的人,裡面舉的例子都是實際上業界遇到的問題,不會有以前讀教科書那種工作又用不到的感覺;但也因為是書,花了一些篇幅在講解背景知識,包含以前的系統是怎麼設計的以及如何演進到現在,對短期要準備面試的人效率會有點低,所以不適合有時間壓力的人。
這本書我目前讀了一半,最大的收獲是它解釋了很多為什麼現代的系統要做這樣的設計,我們針對不同的系統要求可以有哪些解法,這些解法各有什麼優缺點,總之分散式系統就是我們解決了一個問題,但又會產生更多要考量的點,一切都是 trade-off。
但這本書也不是沒有缺點的,首先我覺得是本書的英文沒有很好讀,我常常一段看了好幾遍才知道他想表達的重點是什麼,而且,有些很重要的觀念常常藏在一段文字裡用一句話帶過,但是不太重要的觀念卻使用 Bullet Point 表達;另外這本書話常常講一半,一些觀念提到了一點卻說我們後面再聊,也因為這樣,我在考慮要不要幫大家整理每一個章節的重點,翻成中文分享給大家,有興趣的朋友麻煩拍手留言告訴我!
除此之外,Google 的 SRE Books 內容也很實在,但是每一個章節的內容是獨立的,建議大家選擇想研究的章節跳著看就好。
最後,Distributed systems for fun and profit 的內容也很好,以分散式系統的理論為主,比較沒那麼針對系統設計面試。
#還想閱讀更多嗎?
我知道光是上面的資源就已經讀不完了,但是行有餘力的話,平時也可以多看看各大公司的技術部落格或是訂閱技術週刊如 TechBridge (台灣) 、HackerNews 以及 InfoQ 等等。
此外,參考別人的經驗也是很好的方式,最近剛好幾個朋友剛找完工作,他們分享的矽谷找資深工程師工作心得分享以及2020 上半年軟工找工經驗分享也都很值得看!
最後,在工作上使用到的技術,除了會用以外,最好也要花時間去研讀技術文件,了解他們設計的考量以及支援的場景,大部分這類型針對開發者的文件寫得會比較深入,所以也是相當好的學習素材;我自己過去一年因為工作上需要整合 Envoy 到我們公司的 Traffic Infrastructure,從他們的文件中學到很多 Service Mesh 跟微服務器的重要概念,學習的深度都是其他資源無法提供的。
#總結
這篇文章我們整理了很豐富的系統設計資源,希望大家不要被這滿滿的資訊量嚇跑。
請記得,我們永遠有各種方法在短期內針對面試做準備,提升面試的表現,但這都只是一時的,沒辦法讓你一夕之間就成為專家;如果想要追求長期的持續成長,那麼沒有捷徑 — 就是養成每天學習以及閱讀的習慣,一開始真的很難看到效果,但是當你持續一週、一個月甚至是一年以後,你會明顯感受到自己的成長,這些投入的時間都是騙不了人的。
如果這篇文章對你有幫助,請拍手留言加訂閱,並且分享給更多有需要的人知道!
聖 研 推薦碼 在 Bradley說故事 Youtube 的精選貼文
我買了 24 本 GaryVee 的新書《Twelve and a Half: Leveraging the Emotional Ingredients Necessary for Business Success》
我瘋了嗎?
沒有,它有可能是我最好的投資!
本視頻中提到:GaryVee、NFT、VeeFriends、VeeCon 等等。
🔥 在 幣安 交易所交易 (全世界最大交易所,取得手續費折抵)
https://accounts.binance.me/zh-TW/register?ref=P9H7RJYN
🔥 在 Max 交易所交易(台幣出入金首選,取得手續費折抵)
https://max.maicoin.com/signup?r=3ab27dfa
🔥FTX Pro(玩以太坊、Solana鏈首選)
https://ftx.com/#a=40291297
🔥FTX(舊Blockfolio)美金賺取8%!
以零手續費交易比特幣、狗狗幣與其他加密貨幣。當您進行價值 10 美元的交易時使用我的推薦代碼並獲得免費硬幣。
https://link.blockfolio.com/9dzp/58d03a11
🔥CELSIUS BTC 賺取6.2% 並且贏得 50 美元的免費 BTC!
https://celsiusnetwork.app.link/194077575c
推薦碼:194077575c
時間軸
0:00 開場
0:30 GaryVee直播精華
2:05 影片大綱
2:41 VeeFriends
3:20 NFT潛在投報率
4:32 Twelve and a Half 簡介
5:04 還能買書嗎?
5:44 為什麼只買24本
6:00 多餘的書怎麼處理?
6:55 片尾彩蛋
訂閱以追蹤更多加密貨幣影片:
https://www.youtube.com/c/BradleyChung?sub_confirmation=1
👇►►► 我的社群連結 ◄◄◄👇
✅ 追蹤我的 TWITTER: https://twitter.com/yuchanchung8211
✅ 追蹤我的 INSTAGRAM: https://www.instagram.com/bradleychung6666/
✅ 追蹤我的 FACEBOOK: https://www.facebook.com/bradley.chung.58910
CREDITS: Content inspired by Income Series
https://youtu.be/SleOtDAfO8w
CREDITS: Content inspired by GaryVee
https://youtu.be/BGnNE79FPlw
---
⚠️免責聲明:請注意,我的媒體內容只是我的個人意見,內容僅供參考,不得作為財務、法律或投資建議。 加密貨幣是非常高風險的投資,可能帶來相當大的損失風險,在投資之前,請務必深入鑽研並諮詢專業人士。
#Crypto #Bitcoin #NFT #Blockchain #Altcoin #Decentralized #CryptoNews #Investing #Ethereum #Ripple #Binance #Cardano #Litecoin #BullRun #PassiveIncome #StockMarket