ㄧ個多月前驚覺原來申請永居簽證要考Life in the UK 考試後,立馬上去訂書、訂考試
尤於疫情的關係全英國的考場有限,ㄧ直到7/15之後才有全面開放,有比較多時間跟考場釋出
原本訂不到適合的時間,後來發現常常突然會有多的時間釋出,只要經常上去看一下,都可以訂到適合的時間,考前3天取消是可以退費的,所以不適合時間記得要取消!
本來是7/25要考試,結果當天早上通知考試取消!還好有訂到ㄧ週後的時間,聽說那週同考場很多人的考試都被取消,建議考試時多訂一個備用時間比較好唷!
我有好幾週時間準備這個考試,這本書真的是被我翻爛了!也有上網做歷史題,但在考前2天聽到有人說什麼光做最新的15組考題不夠,有很多是從以前40組考題出來的,於是我就真的做完所有的歷史題庫😂
而且ㄧ定要23/24左右的答對率才肯放心!
題庫中有很多年份、人名的問題、我真的是背到頭昏腦脹,最後告訴自己任由天命吧!
S先生說,我看書看的那麼認真,ㄧ定過的,叫我不要想太多,但我就是怕遇到刁鑽問題啊哈哈😱
總而言之,通常事情都不是自己想像的那麼糟糕! 11點考試當天10:30進場,規定要戴口罩,執行社交距離和簡單的安檢後我就提早進去考試了,人非常少,考完就可以離場,結果10分鐘內email通知。
不知道是不是我的祈禱有效?我抽到的題目好簡單😳我擔心的那些刁鑽問題都沒有出現!
短短5分鐘我就做完離開了!結果是PASS!
之前的擔心到底是為什麼🤣
////////////
如果有要去考試的朋友,建議你們起碼書要認真看過一次再去做考古題庫!這樣再做題目會強化你的記憶,如果記憶不好的考試時間不要跟學習時間拉太長,免得很快忘記,我就是脫太久才看了4次書!
怕英文不好?慢慢看你會看完的!而且英文會進步很多!ㄧ石2鳥!
不看書硬背曆史題除非你夠LUCKY做過考題都有出現,不然也是有機會Fail的喔!
附上使用的免費歷史題庫網站,它有2020年最新15組題庫,也有以前的其他歷史題庫,建議做完15組後再去做舊的題庫,增加印象
考試買書ㄧ定要買官方版本喔!每年內容都會增減不同唷!今年脫歐後就刪了關於歐盟的事。
https://lifeintheuktestweb.co.uk/exams/
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
合 庫 英文 考古題 在 矽谷輕鬆談 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 跟微服務器的重要概念,學習的深度都是其他資源無法提供的。
#總結
這篇文章我們整理了很豐富的系統設計資源,希望大家不要被這滿滿的資訊量嚇跑。
請記得,我們永遠有各種方法在短期內針對面試做準備,提升面試的表現,但這都只是一時的,沒辦法讓你一夕之間就成為專家;如果想要追求長期的持續成長,那麼沒有捷徑 — 就是養成每天學習以及閱讀的習慣,一開始真的很難看到效果,但是當你持續一週、一個月甚至是一年以後,你會明顯感受到自己的成長,這些投入的時間都是騙不了人的。
如果這篇文章對你有幫助,請拍手留言加訂閱,並且分享給更多有需要的人知道!
合 庫 英文 考古題 在 行政法林清老師 Facebook 的最讚貼文
地方特考三等榜首,分享給準備體育行政的考生:
首先感謝所有幫助過我的師長與應考前輩,有您們的幫助,我才有可能在這裡撰寫這篇文章回饋大家,也希望這些經驗可以幫助到未來想納入這一行的朋友們。
1、 心態建立:
強大的心理建設是準備國家考試路上最重要的部分,如何在挫敗後迅速重拾信心,或者是面對旁人有意無意潑冷水而不被動搖,另外我也建議踏入這條路上的考生,除了公務員工作穩定以及薪資實質的誘因外,更要有一個能說服自己為何要踏入體育行政這一行更深刻的理由,因為這一份強大的內在動機會在往後的日子裡,支持你繼續前進。
另外我也鼓勵考生,不要把考試當作是一種門檻與折磨,而是當作未來考上之前必要的職能訓練,這樣準備起來會比較有動力一點,也會比較甘願。
2、 應考背景與經歷:
我是體育學系學士與碩士的本科生,研究所主修運動管理,大一時其實就已經知道,除了當體育老師之外,也有體育行政的路可以選擇,但我真正開始萌生想要實踐的念頭,是在讀研究所時,一邊在大學體育室擔任行政工作的時期,因工作所帶給我的成就感。
完成碩士論文後,我延畢了一學期,一方面是需要一邊補習行政法,一方面也是在學校可以提供給我比較多資源可以備考,第一次106年高考第25名(取11),讓我第一次真正意識到人外有人天外有天!
畢業之後,回到了家鄉,剛好也在所在的縣府教育處應徵到體育相關的職務,這一年一邊工作一邊備考,心理上相對踏實,工作的實務經驗對我考試充實了很大的能量,但其實上班也佔掉了我大部分的時間,這一年(107)高考與地特分別是第17名(取8)與第8名(取1)。
隔年在父母的建議之下,於是我辭掉了工作,當起了全職考生背水一戰,全職考生的生活雖然多出時間,但相對也多了很多壓力,對未來的徬徨,旁人的眼光等等,108高考考了第10名(取4),曾讓我一度想就此放棄了,所幸在家人100%支持下,我才得以在這次地方特考順利上榜。
3、 讀書方法:
(1) 時間安排:
1. 半工半讀:平日回家後每日至少2 小時,假日圖書館8小時。
2. 全職考生:每天圖書館專心讀8小時(09:00~17:00),因為回到家基本上我也看不下書了,則搭配相關議題的影片作為輔助。
(2) 共通原則:
1. 一本書原則:所謂一本書原則,並非只讀一本書,而是以一本書作為主軸,並融會各家參考書後,能夠自己整理出一本書的筆記與心得。
2. 習慣聯想:養成聯想的習慣,例如看到一則體育新聞或法律事件新聞時,要能時常聯想到可能的考點是甚麼?此外也可以藉此一邊回想以前讀過的內容有沒有記熟。
3. 勤做習題:除了考古題一定要全部做熟之外,也要以上述的聯想的方法猜題,並「實際手寫」練習。
4. 筆記整理:前期我有以電腦打字,希望可以做成一本完整的筆記,但我後來發現雖然可以當作參考,並隨時補充資料,但是實在太花時間了,而且打過即忘。所以後來筆記的方式還是以考古題擬答的方式,手寫作成筆記。手寫雖然速度慢,但是慢讀的過程卻更有助於內容消化,另一方面,也可以更習慣在考試上手寫的速度與感覺。
4、 各科準備:
(1) 國文:58
雖然沒有特別準備,但公文格式及用語務必要背熟,作文的部分可以參考專業科目的內容,就可以跟其他考生的內容有所區別了(尤其運動社會學與體育史都有很多例子可以拉進來寫),選擇題純吃老本。
(2) 法學知識與英文:64
憲法與增修條文熟記是最基本的,但近年更偏向考大法官解釋,坊間都有很多參考書可以參考,至於法學緒論的部分,高考與地特三等的部分雖然包山包海但題目本身不至於考得太難,建議可以找一本《圖解法律》的書籍幫助理解,另外我也有買陳治宇老師的參考書搭配看,剩下的就是利用零碎時間勤做阿摩練習了。
英文的話其實沒有特別準備,個人英文程度不算很好,對我來說英文投資報酬率實在太低了,但閱讀測驗題相對好拿分,務必把握。
(3) 行政法:79
上過一年林清老師一年的面授課程,真的建議至少一定要去上過一輪課程(尤其無法律背景的考生),薯叔的教法受一致好評,網路上已經非常多的評價了。
除了在行政法這科外,我也應用老師的擬答與整理筆記的方式在其他專業科目上,真的對我收穫非常很多,有種「啊…原來書應該是要這麼讀的」的感覺。
至於要選擇函授或和面授我覺得因人而異,函授雖然可以反覆看,但如果時間允許我還是建議面授,一方面可以方便問老師問題,另一方面如果是自認自制力較差的考生,也可以跟著老師的步調走;但我也知道也有考生因為上班和家庭時間上的不允許,函授就是個還不錯的選擇,但是一定要按表操課!否則內容很多,後期一定會消化不完。
另外我認為比上課更重要的是,自己多練習跟消化,這也是為何我只上了一輪課程,後面2年都是純靠在家自修了!選擇題建議勤做阿摩,建議要練到至少考試不會錯超過4題的穩定度;申論題則搭配老師參考書內的題庫,另外個人也覺得猜題非常重要,尤其是那種選擇題已經前幾年考過的新議題,申論題還沒考過的,就極有可能出現,這次運氣非常好,剛好命中行政執行聲明異議那一題,拿了20分。
(4) 體育行政與管理:52
以鄭志富老師的《體育行政與管理》和教育部體育署《體育運動白皮書》,作為備考的雙主軸,再搭配其他的書籍當作參考(詳書單)。這幾年雖然考的題目不算是非常難,但分數似乎有越改越嚴格的趨勢,所以建議準備到後期要廣泛閱讀,多多套用管理理論和實例旁徵博引,才能寫出亮點。
(5) 運動社會學:77
這一科原本是我非常不擅長的科目(可能以前書真得看太少…),所以我先去找了蘇維杉老師的參考書把基礎重新打好,因為這一本寫得相對簡單,而且舉了非常多台灣本土的例子,非常有助於理解。但是後期漸入佳境後,我則以王宗吉老師的書為主,這本書因為是譯本,有很多國外著名實例與社會現象可以參考。
此外也推薦陳子軒老師的《左‧外‧野︰賽後看門道,運動社會學家大聲講》,這本寫得非常活潑,沒有教科書那種硬梆梆的感覺,舉的也都是最新的例子,非常豐富可以當作擬答參考,也可以當作閒書來閱讀。
因為近年偶爾會考出比較純社會學理論的題目,很怕拿到考卷就被嚇傻了,因此我也找了陳遠老師的參考書來搭配。
(6) 世界體育史:86
以吳文忠老師的《體育史》(編修版)為主,這本書已經出版超過了近半世紀,許多體育科系都還拿來作為上課用書,就知道這本堪稱「體育史的百科全書」有多麼重要。另外我也找來徐元民老師的《體育史》來搭配,這本書的寫法與吳文忠老師的寫法截然不同,比較偏向探討哲學意義和比較,可以更充實答題的內容。
至於其他比較細節的部份我則是參考了《體育運動大辭典》、《中華民國建國百年體育專輯》等資料,此外日本也為了東京奧運會也拍了一部日劇《韋駄天~東京奧運故事~》,個人覺得這部日劇非常精采,非常有助於對於近代奧運脈絡的釐清,也讓我在休息之餘,能以更輕鬆的方式一邊吸收體育史的知識。
近年偶爾會考單項運動的歷史或發展,實在非常不好掌握,但可多留意一些時事上或是台灣國際賽成績還不錯的運動種類來準備。
(7) 體育原理:64
這一科基本上就是一個綜合性科目,其他科能考的,這一科也都能考,尤其和運動社會學有很多重疊的部分。
這一科比較特別的是,要把幾個如「體育」、「運動」、「遊戲」、「休閒」…等名詞的定義與關係多加釐清,並把握好12年國教、身體素養、身體與運動文化、電子競技等議題。
參考書我則以許義雄老師的《現代體育學原理》為主,並搭配其他書單上的書作為搭配。
(8) 運動自然科學:86
近幾年運動科學的考法比較應用,所以在以書單上《運動生理學》、《競技與健身運動心理學》打好基礎後,我後期開始找了《肌力與體能訓練》、《學校運動教練手冊》…等當作重點閱讀,尤其《學校專任運動教練手冊》是體育署寫給第一線教練的官方資料,相對容易閱讀,也有非常多的實例,更重要的是貼近實務,整本都是滿滿的考點!
至於很多人問我運動生物力學的部分,因為考的比例偏低,而且不好準備,我建議把以前國高中物理課中古典力學的部分再拿出來複習,並搭配運動實例,應該就不會差太多了。
最後謝謝大家看完這篇勒勒長的文章,感謝一路上給我支持跟幫助的家人、師長及同學,也希望這一篇文章可以回饋到所有還在努力的考生,最後送上我去年初失意時,在日本東京淺草寺抽到的詩籤,作為我最誠摯的祝福:
鑿石方逢玉
淘沙始見金
青霄終有路
只恐不堅心
備考書單:https://docs.google.com/document/d/1PqqzUQMEb18eR-3PAwX2llasAZ7YMT3H/