雖然這篇手機proxy設定鄉民發文沒有被收入到精華區:在手機proxy設定這個話題中,我們另外找到其它相關的精選爆讚文章
在 手機proxy設定產品中有3篇Facebook貼文,粉絲數超過1萬的網紅矽谷輕鬆談 Just Kidding Tech,也在其Facebook貼文中提到, #就地避難在家鍛鍊寫作能力 軟體工程師系統設計面試準備指南 當你有了幾年的工作經驗以後,在找工作時一定會遇到系統設計的面試,有鑒於大部分的面試心得都是針對演算法以及資料結構的程式面試 (包括我之前寫的美國軟體工程師求職心得),對於系統設計的準備資源還真的不多,本篇要來剖析系統設計面試,介紹面試的...
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
手機proxy設定 在 矽谷輕鬆談 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 跟微服務器的重要概念,學習的深度都是其他資源無法提供的。
#總結
這篇文章我們整理了很豐富的系統設計資源,希望大家不要被這滿滿的資訊量嚇跑。
請記得,我們永遠有各種方法在短期內針對面試做準備,提升面試的表現,但這都只是一時的,沒辦法讓你一夕之間就成為專家;如果想要追求長期的持續成長,那麼沒有捷徑 — 就是養成每天學習以及閱讀的習慣,一開始真的很難看到效果,但是當你持續一週、一個月甚至是一年以後,你會明顯感受到自己的成長,這些投入的時間都是騙不了人的。
如果這篇文章對你有幫助,請拍手留言加訂閱,並且分享給更多有需要的人知道!
手機proxy設定 在 Check Point Taiwan Facebook 的最佳貼文
Android手機用戶遭遇一種進階網釣攻擊手法,讓攻擊者可誘使用戶變更其手機設定,進而劫持手機流量,包括三星、LG、華為及Sony手機都可能受害。
#cybersecurity #checkpoint #threatprevention
手機proxy設定 在 織田紀香 Facebook 的最讚貼文
好有遠見與想像力。
特斯拉藍圖之第二篇章
伊隆·馬斯克 2016年7月21日
10年前,我發佈了特斯拉規劃藍圖的第一篇章,如今已進入最後的完成階段。這一規劃並不複雜,基本內容如下:
第一步: 打造一款產量很小的車型,該車型價格肯定是昂貴的;第二步: 用賺到的錢,開發一款產量適中的、價格相對低一些的車型第三步: 再用賺到的錢,創造一款量產的、價格親民的車型而且...第四步:提供太陽能電力。不開玩笑,在過去的10年中,這項規劃一直出現在我們的網站上。
我只能從第一步(譯者注:打造產量小、價格昂貴的車型)開始,是因為我從PayPal賺到的錢,只夠支持第一步!當時我認為,我們成功的機率很低,而我不想拿任何人的錢來冒險 --- 因此,只能用我自己的錢。歷史上成功的汽車初創企業寥寥無幾。截至2016年,沒有倒閉的美國汽車企業只有兩家:福特和特斯拉。創辦一家汽車公司是白痴一樣的愚蠢行為,而創辦一家電動汽車公司則是蠢上加蠢!
其次,產量小的車型意味著工廠的規模要更小、更簡潔,大多數工序要靠手工完成。在沒有形成規模效應之前,我們無論生產何種車型 --- 經濟型也好,運動型也罷,都會是價格昂貴的。然而,至少有些人會花大價錢去購買一款運動車型,但沒人會花10萬美元購入一部電動的本田思域,哪怕它看上去再酷也沒用。 我發佈特斯拉規劃藍圖第一篇章的原因之一,是為了回復那些攻擊特斯拉的言論 --- 有人指責我們只為富人造車,他們的意思是,生產運動車型的公司還不夠多,或者其他稀奇古怪的理由。然而遺憾的是,那篇博文未能阻止援引這些理由撰寫的攻擊特斯拉的文章 ---- 我的目的沒有徹底達成。
但是,(發佈整體規劃)的主要原因,是表明我們目前所在的戰略位置,以及公司行為的計劃性。所有規劃、行動的目的,一直以來,都是加速可持續能源的到來,使我們能夠暢想未來和依然擁有美好的生活。這是"可持續性"的真正意義所在。它不是一件愚蠢、嬉皮的事情,它關乎我們每一個人。
從本質上講,我們必須在某一個時刻實現可持續的能源經濟性,否則化石燃料將會用盡,人類文明便會坍塌。無論如何,我們必須擺脫對化石燃料的依賴,且幾乎全部科學家都認同,大幅度地增加大氣和海洋中的碳濃度是瘋狂的愚蠢行為。因此實現可持續性的速度,越快越好。
為了使這一天盡快到來,我們計劃這樣做:
整合能源再生與儲存創造整體的、美觀的太陽能板和電池的集成產品,使之成為個人的供電設備,繼而在全世界實現規模化效應。而這只需要一次訂購,一次安裝,一個服務點,一個手機應用即可。
如果特斯拉和 SolarCity 是兩家獨立的公司,這一目的則很難實現。因此,我們必須通過整合來消除作為兩家獨立公司所固有的障礙。儘管,兩家公司具有類似的起源,追求相同的可持續能源的整體目標,但這兩家公司是完全獨立的,這很大程度上是歷史的偶然造成的。現在,特斯拉準備擴大 特斯拉能源(Powerwall),而 SolarCity 則準備提供豐富的差異化太陽能產品,把兩家公司整合到一起的時機已經到來。
豐富產品線和涵蓋主要的地面交通形式目前,特斯拉只涉足了兩個相對較小的高端轎車和 SUV細分市場。隨著Model 3、一款緊湊型 SUV 以及一款小型卡車的推出,我們將進軍更多的細分市場。基於本規劃的第三部分,比 Model 3 成本更低的車型看起來是不必要的。
盡可能迅速地擴大產能是實現可持續發展未來的關鍵。工欲善其事必先利其器,特斯拉的工程師部門已把相當的精力專注於設計製造設備的設備。自動化生產的第一原理分析表明,大約2 年為一個迭代週期,第一套生產Model 3 的設備可被視為 0.5 版本,1.0 版本很有可能在2018年出現, 而版本 3 則將可以實現 5 至 10 倍(產能)的提升。
除了乘用車,我們還需要其他兩款電動產品:重型卡車和高載客密度的城市交通(工具)。特斯拉對這兩款產品的開發仍處於初期階段,2017年將會對外公佈。我們相信,Tesla Semi 將大大降低貨物運輸成本,同時增加安全性,提升運營的樂趣。
隨著自動駕駛的出現,或許可以縮小公共汽車的尺寸,將公共汽車司機轉變為車隊管理人。通過取消公共汽車的中央過道,在入口通道的地方加設座椅,可以增加公共汽車載客區的載客密度;通過將加速和剎車與其他車輛相匹配,可以避免傳統重型公共汽車對流暢交通流的慣性阻礙,從而使交通擁堵狀況得到改善,並把乘客送達目的地。現有公共汽車站的固定呼叫按鈕可以供那些沒有手機的人使用。此外還有針對輪椅、嬰兒車和自行車的便利設計。
自動駕駛隨著技術的日趨成熟,全部特斯拉車型都將搭載必要的硬體,以實現具有容錯功能的全自動駕駛,即無論車輛出現任何系統故障,仍然能夠自動安全行駛。必須強調的是,相比加裝攝像頭、雷達、聲納和計算硬體,軟體的完善和檢驗需要的時間要長得多。
即使有一天,軟體已經高度完善,甚至遠超人類駕駛員,獲得監管部門批准完全自動駕駛也還有很長時間,而這個時間會隨地區不同而有很大差異。我們預計,獲得世界各地監管部門批准,需要積累大約60 億英里(接近100 億公里)的自動駕駛里程。目前自動駕駛車輛的學習里程才剛剛超過每天 300萬英里(接近500萬公里)。
我想在此補充說明,特斯拉現在採用部分的自動駕駛,而非等待未來某個時刻採用全自動駕駛,最重要的原因是,在使用正確的前提下,自動駕駛已經比人類駕駛要安全得多。因此,僅僅因為害怕不利的媒體報道或從商業角度計算的法律責任而推遲發佈,在道德上是應當受到指責的。
根據最近發佈的 2015 年美國國家交通安全管理局(NHTSA)的報告,汽車傷亡事故率增加了 8%,每 8900 萬英里就有一人因交通事故死亡。而Autopilot 的行駛里程將很快將超過這一里程的兩倍,且系統每天都在不斷地完善。正如有人呼籲的,禁用特斯拉的Autopilot, 並不比禁止飛機的Autopilot功能更有道理,而我們的系統也正是借用了飛機Autopilot的名稱。
解釋為何Autopilot 被稱為"Beta測試版"是很重要的。這裡使用的不是該詞在描述"軟體測試版beta software"時所具有的通常含義。(我們)在向消費者發佈之前,每個版本都經過了廣泛的內部測試。之所以稱其為"Beta測試版",是為了減少消費者對它的盲目信任,並表明它將繼續得到完善(在默認情況下,Autopilot 功能始終處於關閉狀態)。一旦Autopilot達到比美國汽車平均水平安全大約 10 倍,"Beta測試版"的標識就會被取消。
共享全自動駕駛得到監管部門批准後,這將意味著您可以從幾乎任何地方召喚您的特斯拉。上車後,在抵達目的地的途中,您可以睡覺、閱讀或做任何其他事情。
您還可以很便捷地在特斯拉 App上設定一個按鍵,將您的座駕加入到特斯拉共享車隊,讓愛車在您工作或休假時為您賺取收入,從而大大抵消、甚至有可能超出月貸款或租賃成本。這將大大降低真實的擁有成本,以至於幾乎每個人都可以擁有一部特斯拉。由於大部分車主每天的車輛使用率只有 5% 至 10% ,全自動駕駛車輛的基本經濟效用,將很可能是非自動駕駛汽車的數倍。
而在客戶用車需求大於客戶擁有車輛數量的城市,特斯拉將會運營自己的車隊,無論您身處何處,我們都確保您可以召喚到我們的汽車。
簡而言之,特斯拉藍圖之第二篇章包含:
1. 創造驚人高效的、配備集成儲電功能的、美觀的太陽能
2. 擴充電動汽車產品線,滿足各細分市場需求
3. 通過大量的車隊學習功能,開發出比人類手動駕駛安全10倍的自動駕駛技術
4. 讓車輛在閒置的時候,通過分享來為你賺錢。
* * * * *
FORWARD-LOOKING STATEMENTS; ADDITIONAL INFORMATION
Certain statements in this blog post, such as those about future products, services and features, are "forward-looking statements" that are subject to risks and uncertainties. These forward-looking statements are based on current expectations. Various important factors could cause actual results to differ materially. Tesla disclaims any obligation to update this information.
This communication is not an offer or a solicitation of an offer to purchase, sell or exchange securities or a solicitation of a proxy from any stockholder. Subject to future developments, additional documents regarding the proposed transaction may be filed with the SEC, which investors should read carefully if and when they become available because they contain important information. Investors may obtain a free copy of the documents filed by Tesla, when they are available, from the SEC's website at www.sec.gov. Tesla, its directors and certain of its executive officers may be deemed to be participants in a solicitation of proxies for the proposed transaction. Information about the directors and executive officers of Tesla is set forth in its proxy statement for the 2016 annual meeting of stockholders, as filed with the SEC, and will be included in the relevant documents regarding the proposed transaction filed with the SEC.
按【讚】加入TESLA 粉絲團,取得 TESLA 最新動態
https://www.facebook.com/teslataiwan
#TESLA #特斯拉