「#閱讀是最好的學習」這一句在 閱讀前哨站 首頁顯眼的標題,從部落格成立至今就放到現在。我不曾改變過這句話,卻也是這句話,對我帶來了最大的改變。為了學習「如何閱讀一本書」,我開始對每一本讀過的書寫下讀書筆記,並且將心得整理成部落格文章,透過這樣持之以恆的紀錄,我有了一些不同的體悟。
圖文好讀版 https://readingoutpost.com/2020-favorite-books/
.
1.跨能致勝
2.誰會說故事,誰就是贏家
3.完成
4.最高學習法
5.破框能力
6.財務自由實踐版
7.金錢超思考
8.從內做起
9.僧人思考
10.零規則
.
【為我帶來啟發的書單】
.
我發現,只靠讀書,雖然沒辦法直接改變你的人生,但是,從書本裡你可以找到許多的「啟發」。這些啟發,或多或少會改變你思考事情的方式,讓你想要接觸不同的觀點、學習不同的知識、嘗試不同的行為。接著,就是當你踏出了那一步、往未知的領域前進了那麼一些,這時候,改變才會發生。
2020年,我從讀過的70本書、寫過的56篇讀書心得裡面,挑選出10本我個人最喜歡、最受啟發的書來跟你分享(前兩年的Top 10好書推薦:2019年、2018年)。我挑選的這10本書裡頭,有些帶給我思考上的衝擊、有些帶來特別的靈感、有些則幫我改變了行為和習慣。
以下,我會簡單分享這些書的心得,以及我得到的啟發。每一本書我都會附上完整心得的長文連結,如果你有興趣的話,也可以直點進去閱讀全文。接下來,就讓我們開始吧!
.
1.#跨能致勝:顛覆一萬小時打造天才的迷思,最適用於AI世代的成功法
當初我讀完《跨能致勝》之後,馬上寫道:「這是我2020年至今最喜歡的書,它有故事、有理論、有溫度,用廣闊的視角和獨到的觀點,帶人們領略『在這個越來越需要超級專業化的世界中,如何獲取和培養跨界能力、體驗多樣化、探索跨學科的領域?』」
在這本書尚未推出中文版之前,我就用Audible英文有聲書聽過一次,當下已經非常喜歡,後來推出中文版後又讀了第二次。在年底的時候,當我得知這本書也名列「比爾蓋茨2020年度五本選書」,能跟他有類似的選書品味,心裡真的感覺到非常的開心。
作者從運動界、藝術界、商界、學界,挑選了許多發展過程截然不同的人,說明專才跟通才的差異。不過,這本書的中文版有一些小缺點,因為是四個人聯合翻譯的作品,所以會感覺有一些地方的前後連貫性沒有這麼理想。但是整體來說,作者要傳達的觀念還是非常的有意思的,對我來說算是瑕不掩瑜。
帶給我的啟發:讓我換個角度思考,不一定要執著於「成為特定領域前1%的專家」,而是結合跨領域的專業能力,發揮出截然不同的獨特性,去達成另一種類型的前1%。跨能人才懂得尋找自己在這個社會上的「稀缺性」,提高自己獨特的「價值」。這本書讓我對於即將執行的目標,產生了更多靈感。
.
2.#誰會說故事誰就是贏家:讓你在幾分鐘內感動人心,說服任何人、做成任何事
《誰會說故事,誰就是贏家》是一本非常有意思的書,作者認為「說故事」的策略可以應用於當今商業的溝通挑戰,協助企業和公司用更親切的方式塑造形象、傳遞訊息、與客戶建立關係。當你想要讓任何人接受你的服務或商品,靠得不只是規格或數據,更多的時候是你說了什麼故事。
作者在書中應用許多生動的案例,說明了為什麼要說故事、如何說故事、該說哪些故事。我認為,這本書除了對各種大小的公司有幫助之外,對於準備職場簡報、經營個人品牌的一般讀者也會有所啟發。你只要把書中的「顧客」換成你要溝通的「對象」,把「公司」換成「你」自己就可以。
因此,無論你是在經營個人品牌、在公司擔任行銷或業務的職位、或是想推廣產品和服務的創業家,這本書都會對你非常的有幫助。書中會用實際的範例和步驟,帶你建立四種必備的故事:價值故事、創辦人故事、使命故事、顧客故事,這本書不只談理論,更有許多的地方會帶著你實作。
帶給我的啟發:以前,我總是覺得自己不是一個說故事的高手,常常用理工人的觀點,覺得如果要做一件生意,就開談規格、要談賣點,要談價格。現在,我被「說故事」的觀念說服,也從許多其他的商業故事認識到這個手法的優點,我開始思考關於自己更深層的故事,這本書是一個很好轉捩點。
.
3.#完成:把不了了之的待辦目標變成已實現的有效練習
面對新的一年,應該有很多人都會興高采烈的寫下自己的「新年新希望」,但是你知道嗎?根據統計,有92%的人會半途而廢。如果你想真正「完成」自己許下的新希望,《完成》這本書是我認為在新的一年,你會最需要的一本書。
作者寫作的方式,會讓你感覺有點像是一個幽默的脫口秀演員,有時調侃、有時鼓勵、有時自嘲。雖然,作者的文字之間充滿了輕鬆風趣,但是他給出的建議卻十分誠懇和執行。例如,把目標砍半、把時間加倍、把目標拆解成微小目標、記得回顧自己的進步。從這本書裡,你也會學到如何克服完美主義的心魔,讓自己「不完美地前進」,贏過九成不能完成目標的人。
帶給我的啟發:原本我一直很猶豫要不要開始錄製 Podcast,總是擔心自己比較內向、無法對麥克風唱獨角戲、感覺自己還不夠格、可能沒人喜歡自己的聲音,因此,遲遲無法完成這個延宕許久的目標。這本書幫我用輕鬆的方式,接受了不完美的自己,終於踏出了第一步。這一步,幫我帶來更多的勇氣和自信。
4.#最高學習法:12個改變你如何思考、學習與記憶的核心關鍵
《最高學習法》這本書讓我超級驚艷,我分兩個面向來講。第一個是這本書的評價非常好,我喜歡在網路上先看別人的評論,做為自己的選書參考,但是我完全找不到這本書的負評。這也是我第一次在幫助讀者選書的〈選書,兩好三壞〉專題文章裡,沒有紀錄任何負評的一本書。
第二個是這本書真的是我以前從來沒有讀過的類型。書的主題是在講人類的大腦是怎麼學習和記憶的,最特別地方就在於,作者竟然把「這本書的本身,當成這本書的範例」。舉個例子來說,其中一個理論是,為了提高我們的記憶力,背誦東西應該首重「更高的複習頻率」,而非「單一長時段的複習時間」。
所以,他在四個不同的章節,放了同一張照片(上面有一些文字)請你看10秒。然後,他又在某一個章節裡,在同一頁上放了四張一樣的照片,請你連續看40秒。在書的尾聲,他請你回憶兩張照片裡面的文字。結果非常鮮明,分散在四個章節的照片,帶給我們的記憶深刻許多。
帶給我的啟發:第一次體驗到「紙本書」的設計和編排方式,可以讓我這麼深刻地體會到,腦袋如何去學習和記憶。這本書必讀紙本書,其他的媒介都沒辦法帶你如此深刻的震撼。我也體會到,學習「如何學習」的另一個好處,會讓我們學到「如何教學、說服和影響」,這是一體兩面的事情。
.
5.#破框能力:全球TOP50管理大師教你突破「專業」陷阱
《破框能力》是帶給我思考衝擊的一本書,作者在談我們常常會陷入一種稱為「能力陷阱」的境地,也就是說:「當你越擅長自己做的事情,就會一直去做。做得越多、越擅長,就越願意去做。這樣的循環讓你獲得大量專業經驗,卻容易讓你受限於專業框架,落入能力陷阱。」
你如果想在職場往上爬,想往管理職邁進,那這種能力陷阱會成為一種很大的障礙,作者認為克服這個陷阱最好的方式就是「先行動後思考」,由外部的行動,改變內在的想法。如果你想要像一個領導者一樣思考,唯一的辦法就是先讓自己像一個領導者一樣行動。
作者強調,當你跟那些「優秀的領導人」做著一樣的行為,你才有可能反過來刺激自己的想法,去思考他們為什麼要這麼做,發掘背後的原因和技巧,淺移默化改變自己的思考方式。書中也提供具體建議,教你怎麼克服三種陷阱:專業陷阱、人脈陷阱、忠於自我陷阱,很顛覆我想法的一本書。
帶給我的啟發:以往我也曾經落入作者說的一種心態,那就是想要「先想清楚再行動」。結果,往往實際的情形是,想了半天卻滯足不前,永遠覺得自己還沒準備好、還不夠格。現在,我在職場上的工作規劃,開始加強「行動」的部分,更願意讓自己嘗試以往不熟悉、不習慣的互動方式。
.
6.#財務自由實踐版:打造財務跑道,月光族、小資族也能過自己想要的生活
《財務自由實踐版》的作者是受過認證的財務規劃師,這本書也跟我讀過的其他財務自由理財書,有著滿大的差異和特色。作者不是單純只講財務和投資,他認為邁向財務自由是一條漫長的道路,因此我們如何看待主要的收入來源「工作」,就顯得十分重要。他想透過這本書,提供一份健全的「財務、工作、生活」規劃指南。
如果你以為只靠著股市裡面殺進殺出,就可以提早退休,那是過於美好的幻想。作者除了提供穩健的投資策略之外,也說明了該如何善用自己的職場能力,找到你的使命感和成就感,獲得越來越好的本業收入。這是一場馬拉松,而不是短跑,你必須學會享受這段過程。
關於書中談到稅務、保險和遺產規劃的部份,是財務規劃裡不可或缺的一環,作者以財務規劃師的角度,用平易近人的文字說明了這些規劃的原則和重點。雖然,書中的範例大多以美國人為主,但是觀念可以先學起來,再延伸到台灣的情境。
帶給我的啟發:首先是作者提到的「財務跑道」公式,這是一個很有意思的計算方式,讓我們知道自己的資產狀態,以及擁有的自由程度(選擇喜歡的工作)。另一個是關於「財務自由」的心態,並非達到終點才叫做自由,這樣反而會帶來「現在都只是在受苦」的假象。當你踏上適合的財務跑道,朝向終點邁進的每一個時刻,都是自由。有了這種認知和喜悅,前進的速度反而更快、更穩健。
.
7.#金錢超思考:《華爾街日報》最受歡迎財經作家,25道創造財富的關鍵思考,教你晉升有錢人!
《金錢超思考》這本書的作者是一位長年在《華爾街日報》撰寫財經專欄的作家,他透過長年來的觀察,對於人們該「如何思考金錢」有很深刻的洞見。他想告訴我們,如何有智慧地看待金錢、如何運用它,讓它成為一個讓我們生活更美好的工具。
我覺得很有意思的是作者把金錢和「快樂」連結起來的方式,還有關於用錢來「追求物質」和「追求體驗」的差異和比較。另外,作者也說明了金錢和「時間」的關係,時間可以換取金錢,但金錢也能買到時間。當我們認識到金錢跟時間的關係之後,對於「投資」和「儲蓄」就能有更深刻的理解。書的後半段談金錢和「風險」的關係,以及我們該如何處理和面對這些風險。
帶給我的啟發:當我們對一件事情的心態對了,行動才會跟著對,對於「錢」這件事情更是如此。我學到三個重點,第一個是金錢帶來的體驗不分貴賤,追求體驗是很值得的消費;第二個是學會判斷保險的類別,什麼是不值得承擔的保險;第三個是活得太久竟然也是一種風險,需要將長壽風險納入投資理財的規畫當中。
.
8.#從內做起:頂尖領導大師淬鍊25年的10堂課
《從內做起》這本書的作者認為所謂的「領導力」,就是你對別人的「影響力」。讓我印象深刻的是他把領導力拆分成「領導力五階層」。他認為提升領導力是一個循序漸進的過程,有一些可以遵循的原則和步驟,是可以透過後天的方式培養出來的。
對我來說,這本書跟領導管理的經典書籍《與成功有約》有那麼一絲相似,都是作者本人從自己的故事和例子,延伸出包含人格培養、待人處事、心態建立…等論述,然後旁徵博引其他的書籍與文獻。從同樣身為內向者的作者身上,我被他「領導力不是天生,而是後天養成」的說法感動,他追求「自我成長」展現出的熱情,也讓我為之嚮往。
帶給我的啟發:「領導力的高低」是可以被定義出來的,一個人在不同的群體裡面,也會有著不同程度的「領導力」。重要的是,我們都能透過「領導力五階層」的步驟和方法,來逐步提升自己在群體中的領導力。也不要仗著自己在某個群體裡有著很高的影響力,就想把一樣的態度用在不同的群體上。
.
9.#僧人思考:從道場到職場,訓練你的心,過著平靜而有目標的每一天
《僧人心態》這本書是我今年讀到關於哲學思考方面,最喜歡的一本書。作者在社群媒體上非常火紅,擅長用淺顯易懂的方式,把一些很棒的觀念包裝成激勵人心的短片。直到接觸到這本書我才發現,原來作者曾經從商學院畢業後,前往印度當過三年的僧侶,這件事情引起了我對這本書的興趣。
在這本書裡,作者把他在道場裡面的修練、跟僧侶們的交流互動、體悟到的人生的道理、還有千古流傳的智慧,帶回紛擾的現實世界分享給大眾。作者將道場中學到的普世智慧,巧妙地融合數位科技的推廣,加上他曾經是商學院出身的思維,打造出了一個具有深遠影響力的思想傳播平台。
僧人總是能夠以最平靜的方式,活出充滿意義感的人生。作者認為我們也應該學習這些智慧,用來面對你的內心情緒、處理你的人際關係,提升你在職場上的表現、改善你想要學習和進步的事物。每個章節後面都有許多的「試試看」步驟,讓我們採取具體的行動,來練習這些僧人教我們的事情。
帶給我的啟發:讀完後我得到三個好東西,讓自己更容易找到平靜。第一個是:「放下對於目標的執著,收穫來自於享受學習的過程本身。」第二個是:「練習抽離自己的原始心智,用愛和尊重來對待自己。」第三個是:「學會付出自己的喜悅,對別人的成功抱持祝福,你就可以擁有無限的快樂。」這本書也幫我重拾睡前「冥想」的習慣。
.
10.#零規則:高人才密度x完全透明x最低管控,首度完整直擊Netflix圈粉全球的關鍵祕密
《零規則》這本書在談Netflix創新企業文化背後的管理方式,作者正是創辦人暨執行長本人。特別的是,他邀請一位專門研究各地文化差異的學者跟他共同寫這本書。學者到世界各地訪談幾乎所有層級的Netflix員工,從新人工程師、中階主管、以及高階主管群,都是受訪對象。
這本書獨特的三方對話寫作方式「創辦人—學者—員工」,我讀起來的感覺,就像是親自在公司裡面走一遭,非常有代入感。Netflix特有的「自由與責任」文化,強調給予員工高度的授權、刪除繁瑣的行政流程和規則、重視員工之間高度透明的溝通方式。執行長以循序漸進的方法,顛覆傳統老舊的管理方式,讓整本書讀起來令人耳目一新。
書中許多環節都凸顯出「高人才密度」的好處,執行長把最優秀頂尖的人齊聚一堂,設計一個不會彼此扯後腿的績效機制,這讓員工們集中火力在提升公司的創新和競爭力。對待這些優秀的員工,給予他們自由,不要用規範和流程束縛創意;給予他們責任,讓他們有權決定重要策略、擔起公司進步的重任。
帶給我的啟發:這本書是我今年最喜歡的商管書,相比起我待的高科技製造業使用「規範與控制」來達到製造量產,Netflix看似「零規則」的管理方式則有利於「創新」。我沒有在這類型的公司待過,能夠這麼近距離了解這家公司的運作和理念,對我的領導思維帶來很多衝擊,也讓我重新思考自己的團隊管理和帶人方式。
.
【後記:更多的好書推薦】
.
圖文好讀版 https://readingoutpost.com/2020-favorite-books/
如果你喜歡我分享的讀書心得,歡迎訂閱「閱讀前哨站的電子報」,每週都會寄送最新的文章通知。如果你喜歡用「聽」的方式吸收資訊,也歡迎訂閱我的 Podcast 說書頻道「下一本讀什麼?」,我會用輕鬆的方式說書、聊書,讓你能利用通勤之類的零碎時間,快速吸收我從一本書裡得到的收穫。
最後,提供一些閱讀的資源。想要培養閱讀的習慣?可以參考我的這篇文章〈養成這3個習慣,一年讀50本書改變人生軌跡〉。想要徹底讀懂一本書?這篇文章可以幫上你〈對抗淺碟閱讀的最佳武器〉。想要學習在書中記下重點?這邊文章有多訣竅〈一流的人讀書,都在哪裡畫線?〉。
.
2021年正式起跑了,你的下一本讀什麼?
.
【博客來.2021 黃金月活動】
文章的最後,跟大家分享一個好康,那就是一年一度的「博客來黃金月活動」。我幫閱讀前哨站的讀者們爭取到了「限量2000份的 $50 優惠券」,需要的朋友趕緊去領取。更棒的是,我請博客來將我的年度書單,做成一個專頁讓你可以快速瀏覽我的好書推薦,千萬別錯過了!
領取粉絲專屬 $50 優惠券 https://bit.ly/2WHAdAr
「下一本讀什麼」年度書單 https://bit.ly/3pB9aDa
黃金月活動主場(全館3折起) https://bit.ly/2L8pTPs
經驗學習法定義 在 文茜的世界周報 Sisy's World News Facebook 的最佳解答
《文茜的世界周報》
川普與拜登之間的首次電視辯論在9月29日,證實了歐洲各國所有對美國民主四年以來的擔憂。歐洲媒體普遍認為辯論並沒有發生,因為兩人毫無彼此對話的意願。民主辯論蕩然無存。從形式上講,選出了歐洲大陸最年輕總統的法國媒體,訝異於是兩位年逾七旬的老人主導了美國的未來,充分暴露了世代分歧。拜登民調上的領先,讓他極力保持冷靜,不願降低到川普的層次。但是這場辯論並沒有呈現任何對於美國未來四年的願景。
德法公共電視台的新聞評論以「仇恨的勝利 」為題,認為仇恨才是這場辯論的贏家。
德國之聲評論這場辯論沒有贏家,最大的輸家是民主,尤其是美國在全球的民主形象。歐洲對於美國軍事保護傘最為敏感的德國,聯邦議院外交事務委員會主席羅特根(NorbertR?ttgen)在這場辯論之前,接受訪問時提出警告,認為如果川普在11月3日大選中獲勝,將對北約的未來構成嚴重威脅,「因為川普的原則是一個懲罰性的邏輯,在這種基礎上建立夥伴關係是不可能的」。這場辯論徹底瓦解了歐洲認為川普無法破壞美國至今不可動搖的共和國理念的懸念。
法國國家廣播電台引用了非洲開發銀行首席經濟學家的推文:「在一個擁有244年民主經驗的國家,如此恐怖的表現,在世界各國仍在為基本政治權利而戰的人們,應該如何從美國的實驗中思考和學習」 。法國外交界大佬早就在數月前提出,這是一個對辯論不再有興趣的時代,社群網站讓大家只在同溫層裡交流,不肯傾聽異己的聲音與意見。
{內文}
「我不同意你的看法 但我會為了讓你有權說出來而奮戰致死 」,如果你也認同法國大文豪伏爾泰對民主的定義,那麼這還是一場民主制度下的大選辯論嗎?
(法國美國歷史學者/Corentin Sellin)
我們可以說辯論沒有發生,這是一場什麼都是,但絕不是一場辯論,我們看到的是兩個不願意和對方對話的人,一邊是川普一開始就企圖,以一種男性較勁的肢體動作,系統性不斷打斷拜登的方式
如果打斷對方是唯一的戰略,那唯一能夠繼續發言的反制策略,就是徹底放棄對話,拜登選擇了直接對鏡頭說話,不再面對川普。
(法國美國歷史學者/Corentin Sellin)
拜登的處境比較困難,一方面他不能只是接受挨打,因為川普很霸道地,強迫他接受這種辯論方式,他必須表現出他可以接招還招,但是所有民調都對他有利,雖然僅僅是民調,但他似乎應該以國家領袖的身分自居,而不能隨之起舞降低到川普的層級
因為從不間斷的街頭示威與黃背心運動,而往往被所有歐洲人認為,最無法彼此對話的法國人,面對這場辯論也瞠目結舌。
(The Tonight Show/ Jimmy Fallon)
唯一一個非常享受這場辯論的人是普丁,一面撫摸一隻貓,一面讚嘆不已 Yes yes yes,哈哈哈哈,坦白說經歷這場辯論,就像接受一個新冠病毒的篩檢測試,有兩根籤棍同時插入兩個鼻孔的感覺
(The Daily Show/Trevor Noah)
如果你錯過了這場辯論,我來幫你整理一下,啊-(可以請你--),啊-(可以請你回答我-),這非常受教
但是誰能真的苦中作樂笑得出來,曾經在歐洲老大陸上,選出一位不到四十歲,最年輕總統的法國,對於這場辯論的第一個反應是高齡年紀。
(法國國家電視台政治評論/Patrick Cohen)
我聽到的是兩位70高齡的老人,拜登和華勒斯(辯論主持人),被另一個人推擠,被無禮對待 被強壓,第三者也是70高齡,但是聲音比較大聲,口氣比較粗暴而且目中無人,即使他惡言相向並且滿口謊言,但他才是代表權威的臉孔,而這個人竟然是川普
除了驚訝於代表美國未來四年的,竟然是辯論台上三位都超過了七十歲的老人之外,還看到了比世代分歧更為嚴重的分裂。
(法國美國歷史學者/Corentin Sellin)
昨天晚上我們看到的是,在美國內部兩個彼此背道而馳,越來越遠的兩個國家
彷彿美國已經被兩大政黨,板塊分裂為兩座互不相連而且彼此對峙的島嶼,自從黃背心運動之後,法國社會學家佛爾奎特Jerome Fourquet,就提出了多元而分裂的「法國群島」,逐漸取代了「法蘭西共和國 」的概念。
(德國之聲國際評論/Richard Walker)
他試圖玩弄的是突顯拜登太老了,好像強迫要把拜登推進一個僵硬的困境,讓他無法完全表達訊息,而我認為拜登最有效的辦法,就是保持平靜而對攻擊不作回應,但是我想很難說是哪一邊獲勝
哪一邊獲勝呢?歐洲德法公共電視台Arte 的新聞評論,以「仇恨的勝利 」為題認為仇恨才是這場辯論的贏家。
川普2020競選廣告轟炸,直接是針對上百萬美國人的FB和社群網站供稿。無法無天的罪犯讓基諾沙籠罩在恐怖之下,拜登單腳下跪,衝擊一種情感恐懼,操弄恐懼,取代了過去四年的政績成果,與對於未來四年的政見願景,如果仇恨是這場辯論最大的贏家,那最大的輸家就是民主。
(德國議會外交事務委員會基民盟黨團代表/Andreas Nick)
我們昨天晚上所看到的辯論,表示我想我們應該做好準備,將會看到美國的民主進程和民主機制,在復原力方面面臨最大程度的考驗,我們持續聽到的是其中一位候選人,不準備接受一場民主競選裡的失敗,這是值得高度擔憂的
歐洲各國普遍對美國,至今還存在著一種懸念,認為川普無法破壞美國至今,不可動搖的共和國概念,政治分歧可以通過辯論和妥協來解決衝突,這種觀點現在徹底受到質疑,執政掌權與某種道德要求,在這場辯論裡正式分道揚鑣,無論是誰當選,選後都難以修復內部,徹底撕裂互相仇視的美國。
(德國議會外交事務委員會基民盟黨團代表/Andreas Nick)
想起班傑明 富蘭克林的歷史名言,「我們有一個共和國,如果可以維持的話 」,如果這真的發生了,作為一個德國和歐洲夥伴主要的盟友,這將會對美國的全球地位有著戲劇性的後果,所以我們非常焦慮地看著
歐洲對於美國軍事保護傘最為敏感的德國,聯邦議院外交事務委員會主席,有可能接任下一任基民黨領袖的羅特根,在這場辯論之前接受Politico訪問時提出警告,認為如果川普在11月3日大選中獲勝,將對北約的未來構成嚴重威脅,「因為川普的原則是一個懲罰性的邏輯,在這種基礎上建立夥伴關係是不可能的」。
(法國國家廣播電台台長/Pierre Haski)
非洲知識分子Celestin Monga的一條推文引起我的關注,他在1980年代曾在他的祖國喀麥隆因為推動民主而入獄,出獄後然後在華盛頓停留一段時間,然後返回非洲現在是非洲開發銀行的首席經濟學家
這位非洲領袖推文寫道「在一個擁有244年民主經驗的國家如此恐怖的表現,在世界各國仍在為基本政治權利而戰的人們,應該如何從美國的實驗中思考和學習」,瑞典前首相畢爾德Carl Bildt發表了同樣的推文:「這場辯論的真正輸家,是世界其他眼中的美國民主形象」。
(前任法國外交部長/韋德里納Hubert Vedrine)
大致來說辯論已經不可能了,已經無法吸引人了,人們想要看的是互相羞辱 互相攻擊,我不要和那些和我價值觀不一樣的人來往,我更不會去看他們寫的書
被認為是「法國季辛吉」的法國外交界大老韋德里納,曾經是左派密特朗總統的發言人,隨後被右派的席哈克總統延攬為外交部長,他在今年九月初法國著名的雙月刊《辯論》,創刊整整40週年後被迫停刊時接受訪問表示,以辯論來交換看法說服對方的原則已經式微沒落。
(前任法國外交部長/韋德里納Hubert Vedrine)
前提是要接受一個概念,就是交流對話的目標不是要淘汰對方,臉書世代造就了一個只在同溫層裡,彼此相挺互相取暖的族群,聽不見其他異己的聲音
(前任法國外交部長/韋德里納Hubert Vedrine)
我認為這種非學院派的辯論效應也被放大了,有那麼多社群網站 24H新聞台 媒體一切都歇斯底里化了,幾乎已經不可能,好好的說清楚兩句論述而不被打斷,因為不同意其中一個字或是這個那個,但確實是在惡化
當聯合國的辯論大會都因為疫情,而成為毫無交集各說各話的視訊演說,淹沒在網路的茫茫公海裡,當對話辯論只剩下大聲叫喊而沒有了傾聽,民主也從「我不同意你的看法,但我會為了讓你有權說出來而奮戰致死 」,沈淪為「我不同意你的看法,我也不讓你有權說出來 」,是的,這不是一場辯論,而是一場吵鬧的民主葬禮。
含主持人陳文茜解說,請點閱【完整版】2020.10.03《文茜世界周報-歐洲版》
https://www.youtube.com/watch?v=8bqtwGaTQXA
經驗學習法定義 在 哇賽心理學 Facebook 的精選貼文
不知道大家的學習經驗是怎麼樣的。
喜歡一邊聽音樂讀書,還是安安靜靜的效果更好? 習慣固定的時間和地點,還是喜歡每天換不同咖啡廳?喜歡全部讀完再考試,還是先來一點考古題?
我們的大腦真的很容易分心、遺忘和愛睏阿(抱頭)~~~
讀不進去不見得是我們的錯!!而是大腦根本不適合傳統的苦讀方法。
這本《最強大腦學習法》就是告訴你,如何利用大腦的怪癖,把分心、遺忘、吵雜環境等大魔王,變成提高學習效率的小天使。
-------------
#哇賽心理學 和 天下文化x Readmoo讀墨電子書 本月的書展活動合作,提供兩份《最強大腦學習法》的電子書免費兌換序號,要回饋給長期關注我們臉書粉專和IG的朋友們。
請在本貼文下方留言:「#閱讀_讓自己不被定義」,在9/20的23:59前,我們會在9/21隨機抽出兩位留言者提供序號,並公布在限時動態中喔。
除了哇賽精選的這本,還有很多好書趕快去逛逛
【書展活動】#閱讀_讓自己不被定義
即日起~9/30(三)止
天下文化全書系單本85折、三本75折
逛書這裡去:https://pse.is/ukl57
【當日限定55折】
書展週週限時加碼優惠
9/14《大腦不邏輯》
9/21《漫步華爾街》
9/28《自私的基因》
超級好康這裡去:https://pse.is/u2eej
經驗學習法定義 在 體驗學習圈 :: 全台大學開課課程資訊網 的推薦與評價
全台大學開課課程資訊網,kolb經驗學習圈,經驗學習圈阿摩,體驗學習的理念與策略,經驗學習法例子,kolb學習風格,體驗式學習遊戲,經驗學習圈理論阿摩,體驗式學習理論. ... <看更多>
經驗學習法定義 在 學習法則 的推薦與評價
整理一些我自己在各個領域的學習心法,分成四大部分: 法則探索階段實踐一、 ... 實際經驗(Concrete Experience,簡稱CE) :強調以個人的感覺進行學習 ... ... <看更多>
經驗學習法定義 在 [心得] 2023 軟體工程師(後端)面試分享- 看板Soft_Job 的推薦與評價
各位安安,這邊想簡單分享一下我 2023 年中旬(上週 ~ 昨天)的面試經驗。
先自我介紹一下,本人是某廣告相關公司的 Software Engineer, Backend,同時也是本次分享技術面試的主持人。
鑑於版上幾乎都是求職者進行分享,所以本次在主管(老闆)的授權下以面試主持人的角度進行分享,還請各方先進不吝指教。
本公司主要想找 PHP/Laravel Backend Engineer,如果有其它語言的經驗也願意學習 Laravel 的人也非常歡迎(受限於目前公司的人力資源,還無法擅自變更使用的框架與語言,但這是未來很重要的里程碑之一)
註:為避免有偷渡徵才訊息的疑慮,本篇文章不會直接寫出公司名稱,如果有興趣的話歡迎私信詢問
註2:本公司仍然有在徵才哦,如果你看到這篇文章覺得想來當我的同事可以來投看看 XDD
===
流程介紹
本公司技術面試為第二輪(第一輪我不會參與,這邊也無法分享相關經驗),表訂時間約在 1 小時(但如果想跟我聊多一些,可以到 2 小時甚至以上,目前最高記錄是 3.5 小時)。
1. 雙方自我介紹
基於禮貌,我會盡量期許自己先開口自我介紹,但最近還在習慣這件事所以有時候還是麻煩對方先行自我介紹,也感謝近期應徵者的海涵。
2. 面試偏好詢問
參考一些面試經驗,有些人不喜歡考卷、白板題或 assignment 等各種類別,所以我會先行詢問對方的面試偏好。
以下選項擇一或全選皆可,但選擇越多可能會延伸面試時間;選擇的項目並不會影響到評估的結果,因為會以各項分數平均計算(我會私心對一些有利於應徵者的項目做加權,不過也不是只有我決定)。
(1) 白板題:演算法,不能用 ChatGPT(或其它 AI 輔助) 但可以查文件
(2) 實作題:程式能力,能用 ChatGPT 也可以查文件
(3) 架構題:Senior 獨有,能用 ChatGPT
(4) 問答題:基礎知識,不能使用 ChatGPT 也不能查文件
(5) Assignment:指定一個 Open Source Repository,請你發一個 Pull Request(我會實際去看你的變更內容跟 commit message 以及跟 maintainer 的應對)
- 這部份會以自願為優先,如果覺得真的很不想做或不知道從何下手的話也可以放棄(不計分)
利益申告:所有的問題與公司現行產品都盡量無關,這是為了避免有白嫖應徵者思路的嫌疑;而 Assignment 的選擇也會盡量挑選有一定用戶基礎的 Repository。
3. 詢問想要面試的難度
目前有開放的職位有兩個:
(1) Mid ~ Senior:能夠考量系統架構並定義良好的 Interface,並且能跟架構師討論未來的一些技術選型
(2) Junior ~ Mid:實作一些 CRUD API,以及實作一些 Senior 工程師定義好的 interfaces
如果不知道怎麼選擇也沒關係,我可以根據應徵者的實力自動調整問題的難度。
=====
聊天題(為了更瞭解對方,並核對履歷內容,不列入計分)
1. 最近看了哪些值得一提的資訊領域的內容,包括但不限於文章、影片、漫畫、meme、新聞、論文等
2. 擅長的工具與程式語言(用於確認履歷中的敘述)
=====
白板題
給定一個二維陣列代表圍棋棋盤
- 1 代表黑子
- 2 代表白子
- N (null) 代表未落子
若棋盤一定是理想的(定義下述),那白棋會被提多少子、黑棋會被提多少子?
舉例:
N 1
1 2
(1,1) 白子會被提子
舉例:
N 1 1 1 N
1 2 2 2 1
2 1 1 N 2
1 1 2 2 1
(0,2) 的白子會被提子
(4,3) 的黑子會被提子
「理想的」棋盤表示不會存在「打劫」的問題,舉例來說下述棋盤結果是不會出現的,因為中間的白子與黑子會互相提子
N 1 2 N
1 2 1 2
N 1 2 N
備註:
這一題的來源是我曾經出給一個學生的作業,他是非本科轉職前端,我本來只是想請他用 HTML + CSS 寫個圍棋棋盤,並且用 JS 實現落子邏輯,結果他連提子邏輯都一併寫出來了。當時他是自行實現了 DFS 去計算棋子是否還活著(圍棋術語是「有氣」)。
題外話,前陣子跟這學生吃飯的時候他提到公司在做某個功能,他自行研發了一個資料結構來解決這個問題,我一看就說「你這不是自行實現了字典樹(Trie)嗎?!」,不得不說他真的是一個天賦異秉的人,怪我能力不夠沒能教好他。
(小聲)打色碼眼睛快脫窗 = =
=====
實作題
下列 PHP 程式碼存在一些問題,請嘗試指出這些問題並且重構它。
註:下述程式隱藏了一些不重要的細節(例如資料庫連線、失敗處理等),回答時也可以隱藏實作細節(不一定要精準的使用所有的函式)
<?php
extract($_POST);
$db = new DB(); // connect to DB
$user = $db->query("SELECT * FROM users WHERE username = $username AND password = $password"); // query from DB
echo $user ? 'Login Success' : 'Login Failed';
這一題其實是互動題,因為實作題可以使用 ChatGPT 所以我更期望應徵者能跟我說明「為什麼它要這樣改」。
而且就我實測 ChatGPT 會唬爛所以不能全信(我認為分辨 ChatGPT 是不是在唬爛也是很重要的能力)。
=====
問答題
這部份不開放使用 ChatGPT,因為這些題目都是屬於基礎知識,如果開放使用 ChatGPT 幾乎都會被秒殺。
然而,我們後續內部檢討認為應該要開放可查詢 Google,畢竟有些東西是真的不會背在腦子裡(雖然我是都有大概記著,但每個人習慣不同不能一概而論),如果版友們有任何想法也歡迎回饋,我們會盡可能改善我們的流程。
1. PHP 相關
(1) PHP 的執行與啟動流程?[中級]:主要指的是它在 PHP Source Code 層級的執行流程,不僅僅是在外部觀察到的結果
2. Redis 相關
(1) 單 Redis Instance 可能會當機或因為網路問題無法存取,有什麼解決方案?[初級]:這應該算是八股題
(2) Redis 的 "字串" 是如何實現的,有沒有什麼值得一提的陷阱或細節?[中級]:這個是 Redis Source Code 的入門題,畢竟甚至有一個專門的網頁來介紹 SDS
3. 作業系統相關
(1) Thread 跟 Process 有什麼差別?[初級]:這個也是八股題,問到爛的那種
註:其實作業系統相關還有不少題目,但鑑於重複利用性我就先不公開(這些題目都沒用到,因為我評估對方可能對作業系統沒這麼熟)
4. 資料庫相關
(1) 請簡述一下 MySQL InnoDB 的資料寫入流程。[中級]:這可能是比較有爭議的題目,因為不能查資料,如果沒有相關的經驗很難背起來
(2) 為什麼大部份的 RDBMS 會選擇 B+ Tree 作為其底層的資料結構?[中級]
(2.1) 有個應徵者說因為 B+ Tree 有自平衡的特性,所以我又加問了「那為什麼不使用 RBTree 或 AVLTree?」[中級]
(2.2) B Tree 跟 B+ Tree 又有什麼差異呢?[中級]
(2.3) 近年來,LSM-Tree 相當盛行,能聊聊它與 B+ Tree 的差異嗎,以及你認為為什麼它會流行起來?[中高級]
(3) 請簡單描述一下 CAP 理論。[初級]
(3.1) 因為有一個應徵者有 MongoDB 的經驗,所以我又加問了「那 MongoDB 叢集是犧牲了 CA 的哪個點來達到 P 的?」[中級]
5. 虛擬化/容器化
(1) 請簡述一下 Virtualization 與 Containerization 的差異。[初級]
(2) 在 Linux 中,是如何達成 Containerization 的?[中級]
(3) 假設想讓 PHP-FPM 與 Nginx 的應用程式 Containerize,會如何實踐?[初級]
(3.1) 假設再加上 Laravel Queue Worker 及 Cronjob Scheduler,又會如何設計?[中級]
註:這題是因為去翻應徵者的 GitHub 發現他有類似的經驗,所以另外加上去的
=====
架構題
這部份有些難以說明,因為更著重的是互動性(根據對方的回答去反問一些問題),這邊先省略
=====
Assignment
目前還沒有人選過這個項目,看來大家是真的很不喜歡 Assignment。
以前我比較喜歡 Assignment 的時代有出過一些簡單的(?)題目,例如用 Laravel 實現幾個 APIs,但想想這會花費應徵者太多時間這次就不採用這種方式,有興趣的話我要問一下公司能不能授權公開當時的題目。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.47.65 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1685626794.A.29B.html
※ 編輯: MoMoShota (36.226.47.65 臺灣), 06/01/2023 21:51:24
上述的題目其實是因為本次的應徵者都是有經驗的(至少都有 3 年以上),所以才會選擇這些題目。
如果是資工本科系畢業的話,其實我就會改問一些必修課上會遇到的問題。
舉例來說:請問 C 語言的 qsort ᄄ蝳〞漁伅■亠曮蚻O如何(可以查 Google)
正確答案是,其實 qsort 並沒有指定要用什麼演算法實作(C 語言規格書說的)
但有一些誤人子弟的網站會斬釘截鐵地說它「一定」是用 Quick Sort(包括我的教授也是這樣),那這表示他可能不習慣於看第一手資料
(小聲)之前我問過 ChatGPT 也是唬爛說是 Quick Sort
關於 Thread 的部份我統一在這邊回覆。
確實,我們的系統目前並沒有在 PHP 上「直接使用」Thread 或 Coroutine 之類的技術。
但是 PHP-fpm 是一個經典的 Parent/Child Process 模型,同時在 Laravel Horizon 也用純 PHP 加 pcntl extension 實作類似的模型。
之前我們團隊在遇到 Laravel Horizon 相關的問題時,如果不理解這種模型實作可能會增加 Debug 的難度。
回到 Thread 的話題,目前我們沒有計畫在 PHP 應用程式上加入任何 Multi-thread 的技術。
誠如版友所述,PHP 在多執行緒的記憶體管理跟控制簡直是災難,而避免災難的方式就是不要用它(?)
近年來因為 Swoole 的出現,讓大家開始思考 PHP 的另一種可能性:Coroutine
然而從我的角度其實我也不是很喜歡 Swoole,一個理由是之前社群的分裂問題,另一個理由是「那我為何不選 Go?」
剛剛有人私信我詢問類似的問題,我直接轉貼我的回覆:
我們知道,PHP 有幾種 SAPI:apache2handler, cli, fpm(這邊僅列舉比較常見的,其實還有很多)
我在這題會期待得到的回應是:當我們啟動 php-fpm 程式(你可以想成直接執行它的執行檔)時,PHP 實際上會做哪些事?
像是 php-fpm 是一個經典的 Parent/Child Process 模型,它會去 fork 出很多的 Child Processes,而實際處理請求的是這些 Child Process(Parent Process 主要是用來監測這些 Child Process 是不是「還活著」)
然後,當我們收到來自 Web Server 的請求時,PHP-fpm 的 Child Processes 又是怎麼去服務這些請求的呢?
我會很樂意看到有人從 source code 的角度去剖析這件事,但我老實說這非常罕見
所以其實只要能夠從外部表現的行為(例如我們可以觀察到出現 Parent/Child Processes),然後結合一些自己的經驗或知識講述它設計的理由,其實在面試就算是過關了
ps. 如果他要講 apache2handler 也是可以的,不一定只能講 php-fpm
ps2. 當然,如果對方要講得很深我也是可以一起聊聊的,雖然我研究 PHP Source Code 是 PHP 7 的時代的事了,但現在有些知識應該是通用的(如果被指出有誤的話,還可以順便學習 XD)
※ 編輯: MoMoShota (36.226.47.65 臺灣), 06/02/2023 03:46:08
php pthread extension 已經在 2019 年初宣告停止維護:https://github.com/krakjoe/pthreads/issues/929
原作者表示在 PHP 8+ 應該使用 parallel 取代之(它們互不相容、也不會相容):https://github.com/krakjoe/parallel
另一方面,pthread 或 parallel 都需要 enable ZTS,而在我的印象中在大部份的發行版這都是預設不啟用,顯見它在社群中並不是一個常用功能
綜上所述,大部份的開發者會誤認為「PHP 沒有 multi-threading」是可以理解的
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/02/2023 04:52:39
我滿認同這位版友的說法的,實際上也曾經有面試者回問我們「問這些內容,實際工作上真的用得到嗎?」
其實這些問答題大多是基於團隊或個人的開發經驗總結出來的一些精華,而不僅僅是抄襲一些中國所謂的「面經」
就拿 GC 的部份來說好了,曾經我們團隊發現大概每幾個小時應用程式會出現較高比例的 HTTP 500
經過分析,當時的應用程式 memory usage 會緩慢遞增,並在某個隨機的時間段突然下滑,而下滑當下的 HTTP 500 機率較其它時間高出幾個百分點
我們推測這是因為 PHP 在 GC 期間引發的暫停服務現象,我們因此查詢了 php.ini memory_limit 的設定是有問題的,再加上 linux memory overcommit 等設定引發一系列的錯誤
雖然高階語言為我們隱藏了很多底層的細節(這也是高階語言被發明的目的之一),但如果不瞭解這些細節就貿然開發,那某天晚上它們就會叫你起床重睡(?)
事實上,問答題這邊僅列出「基礎題目」,我通常都會根據應徵者的回應再深入去詢問。
這是個很有趣的過程,不僅可以更深入瞭解對方的能力,偶爾也能夠學習到新的知識。
很抱歉,因為 qsort 的那個例子是臨時想的,確實可能不夠周延
這個題目的用意在於:確認應徵者是否會查詢第一手資料,抑或是拿 Google 到的熱門資料搪塞。
正如同我寫 PHP 也是一天到晚在看 PHP 官方手冊(甚至有時候還要去看 PHP source code,因為文件有些細節會省略),而不是直接拿網路上的 Code 複製貼上。
註:在其它程式語言或許直接 copy + paste 可能是可行的,但網路上充斥著各種存在漏洞的 PHP Code(甚至包括 GitHub Copilot 都會出現),如果不經思索就貼上甚至有可能危及系統本身
關於有版友認為題目難度與薪資不成比例的問題,我認為這很值得討論,所以我今天已經將這件事往內部檢討呈報。
剛剛老闆的回覆是其實以前內部就有調整過,但 Cakeresume 上的 JD 一直忘記更新,而且昨天跟我講的數值還是舊的,這邊做一下更正:
Junior - Mid: 840K ~ 1M NTD/year
Mid - Senior: 1.2M ~ 1.8M NTD/year
不過也有可能是因為本篇心得是綜合多位應徵者的題目一次性 PO 上來才讓人產生誤會,事實上不會每一位都被問到所有的題目。
舉例來說:有些非 PHP 背景的應徵者就不會往 PHP 相關的題目去問。因為我認為那只是刁難、不是面試
上面也有提到,我會根據每位應徵者的履歷、GitHub 貢獻、Blog 文章等資訊去設計問答題
註:其實還是有題庫,因為我們資源不夠,真的沒辦法負擔為每一位應徵者重新設計題目的成本
註2:其實我個人非常喜歡暗殺教室殺老師為所有學生個別出一份題目的做法,但現實上我不是黃色的章魚、沒有超音速,我也不是漫畫人物
我也要聲明一下,核薪的部份並非我一人能決定(我僅會提供建議供主管參酌),這邊僅是 PO 出一個範圍,實際上還是會跟據一面、二面的狀況動態調整。
至於具體拿到 Offer 的核薪情況比例我並不是很清楚,但曾經有一個是超過 1.5M (上一版本的核薪上限)的資深工程師,他真的非常優秀且我也向他學習了不少東西
The most important goal of higher education: it was to ensure that graduates can recognize when "someone is talking rot." -- Jeremy Knowles
時至今日,我認為上述這句話的 "someone" 也可以改成 "ChatGPT",因為現在會告訴你假訊息的不是只有長輩、LINE 群或 Google,還多了 ChatGPT。
我一向認為基礎知識是非常重要的,因為它可以讓人在遇到「胡說八道」的時候還能夠分辨的能力,我也在這篇文章中反覆強調「目前的 ChatGPT 是會唬爛人的,所以我想找的是能夠分辨它是不是在唬爛的人」
事實上,在 PTT po 文之前我有先 po 給幾個比較熟識的朋友。
其中問答題的部份被某朋友吐嘈說:你這題目涵蓋了 Backend, DBA 跟 SRE,這在我們公司是各 1.5M 的三個缺
其實我在設計這些題目的時候,原本就沒有預期會有人全部都能對答如流,畢竟:
1. 面試會緊張,大部份人的表現都無法完全發揮(我絕對不會說我之前面試時連陣列的 mergesort 都寫不出來,笑死)
2. 問題的範圍領域很廣,不是每個人都專精每個領域
3. 真的都能夠答得上來的大神級工程師根本就不會選擇我們這種小公司
設計這些題目的用意在於「我大概想知道應徵者對哪些東西熟悉、哪些不熟悉」,這對未來的工作內容安排有很重要的意義(相信我,你絕對不會想讓一個後端工程師去寫前端,大家都痛苦)
欸不是,原來這題目有很卷嗎 XDD
除了我那個比較規格外的轉職學生之外,昨天我把同樣題目丟給今年高二的學生,他大概一小時內就解出來了(Python)
我本來還在想是不是我出得太簡單了說
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/02/2023 20:34:39
認真說,繼續學 Python,千萬不要把路給走窄了。
我希望以下言論不要代表我們公司,僅是 furrymosa 前深夜我個人的抒發
考跟公司無關的白板題:這工作用得到嗎 要下棋嗎
考跟公司有關的實作題:你們公司是不是想要白嫖人家做法?
沒辦法,父子騎驢。
我花費大量心力設計各種題型,就是不想浪費任何一個可能的人才。
我過去非常討厭白板題,我的心態就是:啊工作用又不到,我幹嘛要會?
我也非常歧視刷題仔,覺得 Side Project 跟 Open Source 貢獻才是王道。
就算我自己會把 Leetcode 當成開始吃藥之後取代咖啡的醒腦工具;就算我曾經還有去打過 ACM-ICPC;我仍是討厭白板題的。
我知道自己一定不是寂寞的,有很多人有著亮眼的 Side Project 或是很棒的 Contributor,但就是不會白板題所以無緣大廠。
我希望能以這種形式的面試,讓這些人有一個機會。
我知道自己只是一個人、一間公司,沒辦法撼動整個市場,也沒有那個資本跟什麼韌體廠競爭。
但我期許自己的任何一個行為,都能夠為整個產業帶來哪怕一點點的改變,我有能力做所以我去做。
被問倒真的不是任何應徵者的問題,我希望能夠更跟多有熱情的人一起參與改變--即便它的結局可能不盡人意。
看到鼓勵,其實我還是會開心的;看到批評,我還是會想多多檢討的;即便只是酸民,我也認為這些都是自己進步的可能性。
但我必須說,我沒有自己想像中的這麼堅強。
嘛,感謝版友們在在聽一個老人家深夜嘮叨,如果讓你不開心了衝著我來就好。
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 04:11:39
容器化是因為有位應徵者的 GitHub 上有 Nginx + PHP-fpm 相關的實作,但他並沒有遵循最佳實踐
會問這題是想知道當時他是怎麼想的,是不是有什麼額外的考量
那題的背景是,問了 Virtualization 跟 Containerization 的差異之後,有位應徵者講出了 Virtualization 是依賴 KVM 達成(雖然不全對),我就順勢問了一下「那你知道 Containerization 是怎麼達成的嗎?」
雖然他沒能答出來,我認為合情合理。所以我在面試結束前也跟他提了 namespace 跟 cgroup 的概念,跟他說有興趣的話可以查一下相關的資料。
因為應徵者背景各有差異,例如會為具有一些 SRE 背景的人準備伺服器相關的題目;為履歷上寫著「精通」PHP 的人準備底層的問答
再次強調,上面是綜合多位應徵者的考題,不是每個人一進來就從第一題往下問
刷題仔沒錯,每個人都有自己的選擇,也沒有所謂「正確」或「錯誤」的選擇
我個人的偏好不會影響到實際評分的結果,即便我不喜歡白板題,我仍會喜歡將其作為智力測試或腦力激盪,因為這很「有趣」
其實,在本輪面試結束之後,我老闆傳了一篇文章給我
https://www.inside.com.tw/article/4268-coder-hacker-and-architect
他覺得,本次我應該要檢討的是「不是每個人都有志成為 Hacker 或 Geek,大部份的人都只想成為 Coder」
而他們在履歷上寫的「精通」也只是指 Coder 的精通,跟我的定義是有點差距的。
我不能透露太多關於應徵者的事,但其實這次過程中有一位讓我非常期待:
1. 資工本科系畢業
2. 有社群參與,跟我一樣是 SITCON
3. 豐富(多年)的 PHP 工作經驗
4. 自願挑戰比較難的考題
5. (他應該不知道)他曾經兩次從我手上搶走 Offer
雖然最後的結果有點不盡如人意,但我認為只是因為我們領域不同而有所歧異,他仍是很優秀的開發者這點無庸置疑
為什麼我會期待對方 Not only Coder?因為有一個能與人分享、共同學習、保有熱忱的夥伴,是人生中很棒的經驗。
我曾經在上一份工作,又或是大學時在資訊社群中有類似的感覺,而我很喜歡也很嚮往這種感覺。
向錢看齊並沒有什麼錯,認為工作只要完成就好也是一種選擇。
畢竟有人有家累、長輩與子女的期待,但如果可以選擇的話我還是想找個 Hacker 或 Geek 一起創造。
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 11:46:09
那大概就是沒給到 PHP 業界前 5% 才會被批評吧 XD
我自己也是會自嘲「活該 PHP 薪水低」的那種鄙視鍊的一員,但這不應該是常態現象。
我永遠也不會忘記有個遊戲業的朋友在爆肝數十小時之後,問我薪水那種驚恐的神情(我當時也才 65k/月)
如果可以的話,我當然希望所有專業人士都能夠領到合理的報酬
但現實世界不是童話故事,也不是動漫,不公平比比皆是,我能做的只有盡量彌平這種不公平(或是去加劇這種不公平)
我年少輕狂時有想過創業做遊戲,當時跟幾個繪師(兼其它公司的遊戲美術)聊這件事,他問說:
「你覺得一個遊戲美術應該月薪多少」
『至少也要 60k/月 吧?』
「你創業之後請務必第一個找我,拜託。」
時至今日,他見到我還會開玩笑地問說什麼時候要創業。只不過,實際見過遊戲業出來的人(前公司 PM)之後,我只能說
我又不是礦裡有家,創個屁業。
我其實也做過一段時間的韌體開發,但我老實說我就對那個領域提不起熱情,所以我成為 web 仔。
我能理解你的想法,畢竟我大學教授有一模一樣的思維:
「前陣子,一個你們畢業的學長回來找我,我問他在做什麼工作。」
「你知道他回什麼嗎?他說他在寫 Web!」
「我就問他說『你是怎麼淪落到這種地步的?』」
以當時來看,web 雖然有很多機會,但薪資相對少(其實現在好像也一樣)
而且當時的 web 技術還沒有現在這麼百花齊放,教授會有這種觀念也不是不能理解
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 12:08:07
我也覺得他是對的。
學學某大型 B2C 電商,筆試考卷發一發就好,反正都有標準答案,就算現在還在考 PHP 5 的東西也沒差;
學學一線大廠,白板題直接往上丟,反正 Leetcode 說多難就多難,也不用在那邊自己煩惱這題會不會太難;
反正有熱情的人進來還是有熱情
想跟 Hacker 或 Geek 共事,等他進來再確認也不遲
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 12:20:34
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 12:50:05
嘛,還是很感謝我朋友幫我 po 過去啦,不過他好像 po 到自己在那邊森77。
他幫我說話我是很開心啦,但他做人跟講話就比較機車(他自己說的,非詆毀),大家就不要太在意了
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 13:12:32
別提了,剛剛他還 7pupu 跑來跟我說歧視啥的 XDDD
其實我們是有架構題的,for senior only,因為我對該職位的需求是「要能夠與架構師討論技術選型,並定義合適的 Interface」
本次有兩題架構題,但我覺得以 PTT 這類文字載體真的很難呈現那個互動感,不過既然有人提了我就稍微說一下,反正這些題目大概不會重複使用
1. Web 版簡訊實聯制服務
題目:
1. 共需要有 2 個 APIs:
(1) 讓商家可以發行商店代碼(需輸入店家地址或經緯度資訊,回傳一個不重複的商店代碼,一個 15 碼的純數字字串)
(2) 讓民眾可以傳送疫調資訊(需輸入一個字串,表示簡訊內容,「可能」存在商店代號,不會回傳或回傳 204)
注意事項:
1. 總商家數量約為數百萬,小於 1000 萬
2. 民眾每天會產生約 1 億筆資訊,需考量後續分析可行性與儲存成本
我通常會問一些問題,視對方的回答再決定要不要繼續問下去:
1. 你會如何產生商店代碼?
(1) 如果用 DB 的 Auto Increment 的話,會不會有偽造的可能性?
(2) 可以加個檢查碼,這樣對於一些不符檢查碼的請求就可以直接忽略?
(3) 會在哪裡儲存這些商店代碼與位置資訊?
2. 你會如何驗疫調資料的正確性?
(1) 如果沒有商店代號,那表示該請求是非法的,直接忽略
(2) 承 1-2,如果檢查碼不對,可以直接忽略,這樣也不用進 DB/Cache 查它是否存在
(3) 假設檢查碼的演算法被破解了,有沒有什麼好的方式更新演算法,還是直接讓它到 DB/Cache 裡查?
3. 那如何保證可以每天接受 1 億筆的記錄,會選擇什麼儲存方式
(1) 如果需要分析 XXXX,那這種儲存方式是合理的嗎?
(2) 如果需要分析 OOOO,那這種儲存方式是可以接受的嗎?
(3) 假設每天確診人數劇增,依你上述的方法在請求報表的時候會很慢,有什麼因應手段呢?
基本上這種題目題很自由發揮的,如果沒什麼想法也可以問問 ChatGPT(不限制),不過也要思考它回覆的合理性。
為什麼會出這題?
因為公司有某個業務會有大量的短的 HTTP 請求訊息,而且我們需要與 Data Team 合作,定義出他們易於分析的資料結構,並且還要注意是否適合儲存載體。
雖然也考量過會不會有點太過「政治」,但我認為技術是中立的,純做技術探討的話其實沒什麼政治問題。
利申
這題實際上提到的傳送資料方式、儲存方式與分析內容與公司主要業務差距甚大。
※ 編輯: MoMoShota (36.226.34.224 臺灣), 06/03/2023 14:13:45
身為一個近十年的焦慮症與恐慌症病患,不必擔心我有定期服藥與就醫,目前病情也尚未影響到生活與工作。
不過仍然很感謝您的關心。
我個人是不太介意這類言論,但期許您可以在發言時多站在對方的角度想一下,我能接受不代表其它人也可以。
AVL Tree 確實是較罕見的,它比較像是教材中的範例,畢竟它是最早出現的自平衡樹。
該題其實是因為應徵者提出了「自平衡樹」的說法,所以才想說進一步問「為什麼不採用其它的自平衡樹?」
其實這沒有絕對,畢竟每個人的經歷與專業不同。
有些人更熟悉具體業務的 Domain Know-How、設計模式,而有些人則喜歡底層技術,這都沒有對錯。
我時常會告誡自己「要成為一個有十年經驗的資深工程師;而不是有十個一年經驗的資淺工程師」
不過理想豐滿,現實骨感;我覺得自己大概只是個五年經驗的中階工程師吧。
或許我可以聊聊為何我會選擇這間公司。
2017 年左右,我前公司因為一些業務調整的緣故所以我離開了,當時我在求職時的基準就是:年薪至少要大於 1M
我當時面試了很多公司,像是創業家兄弟(生活市集/松果購物)、聯合購物網(好像之後收起來了?)
面試的經歷有好有壞(也有那種我到現在還在嗆他家 CTO 不懂技術的),不過絕大多數公司我都要求要 1M 以上。
只有目前這間公司例外。
當時我很認同它的產品理念與創辦人(目前的老闆)的想法,於是我只為這間開了特例,降了一些標準
其實公司最後也沒讓我失望。
剛入職時,公司還在很初期的階段,還跟別人共用小巨蛋的創業基地辦公室(雖然環境不錯,就是冷氣太冷),那時甚至連獨立的辦公桌都沒有 XD
隨著業務的穩定發展,我們先後搬到了共用辦公室,當時終於有自己的辦公桌了,也不用跟人搶會議室了;
最後,我們現在有一間獨立的辦公室,八樓、視野良好,可以看到台北 101,下班還可以走去吃個五之神再回家,還在捷運站旁邊非常方便。
哦對了,當然最重要的薪水早就遠超過我當時的預期了。
這就是為什麼我喜歡新創,隨時都有挑戰、隨時都有機遇,當然,隨時都有風險。
看著自己的努力發揚光大,具體地感受著自己與公司的進步,這種機遇與經歷絕對是人生中很美妙的一筆。
我承認自己應該是比較幸運的那一批,畢竟不是每一個新創都有這樣順風的經歷,我們「剛好」遇到疫情,又「剛好」業務會因為疫情而增長,又「剛好」遇到有足夠眼光的老闆與能力出眾的同事們。
誠如我一直強調的,不是每個人都有相同的機遇,也不是每個人都願意做出這樣的選擇。
適合我的,不一定適合你。所以我不會、也不可能要求每一個人都應該跟我一樣。
這次的面試型式一直是我想嘗試的方向,說是「對既有面試方式的挑戰」或許有點太自負了,但我真的很想要在尊重雙方的前提下設計一個令雙方都能夠滿意的經驗,所以我在能力允許的範圍下提供了很多選擇。
覺得問答題太難?可以,我們來實作。
覺得實作太無聊?可以,我們來架構。
覺得比較習慣其它公司的做法?可以,我們來白板題。
曾經有應徵者很驚訝,為什麼我們提供這麼多選擇。因為我想尊重每一個應徵者的意願與選擇,我覺得如果我加一點點工作量就可以讓應徵者感到他能夠發揮所長,那也算是值得的。
可能是我見識短淺,但我從畢業到現在幾乎都是遇到那種進門先甩你白板題的公司,其中不乏所謂的「一線大廠」,或許這已成為約定俗成的慣例了吧
還有那種事前從不跟你說要考什麼、要帶什麼,然後一進門就說「蛤?你沒帶筆電哦?」的公司;也有那種白板題考得像是要找人腦 compiler 的公司(但面試者連 C 語言的 sizeof 不是函數都不知道)
不可諱言地,他們(有些)的薪水是真的香,但是對一個你進門就知道面試者沒料的公司,我個人是不能接受:畢竟,面試是雙向的。
我承認,以前我是那種會想辦法說服對方用我的方案的那種人 XD
不過年紀大了之後,我比較傾向讓對方放手去試試看,除非我看出有明顯的問題,不然我不太會阻止他。
舉兩個例子:
1. 同事覺得我們可以在 Laravel 上嘗試用 Pest 框架取代 PHPUnit,當時我覺得這個點子不錯所以讓他放手去改,而直到現在我們公司還是大量用 Pest 框架(寫起來比較不囉嗦)
2. 同事用了原生函式取代我實作的 XML Parser,被我阻止了,因為經過測試它的實作會使用兩倍的記憶體與降低處理速度約 20% ~ 30%
2-1. 他還跑來跟我爭說「原生函式一定比較好」。兄弟,benchmark 就擺在那邊了,你覺得我的實驗有問題你自己設計實驗,不然我就只能阻止他的 PR
2-2. 這個重構是他認為我的實作耗費太多記憶體了,在某個極端情況下會 out of memory,然後他的實作在更多的情況下 out of memory(?)
另一方面,我是很願意培養新人的,我找人來最大的目的是為了把自己給 fire XDD。
之前有個新人(Junior)進來後問我該怎麼快速養成實力,我就把他工作時遇到的盲點分析了一次,認為他的基礎知識不夠紮實(因為是非本科轉職,不能怪他)
當時我就推薦他去看一些資料結構跟作業系統的科普(雖然我更推薦讀教科書,但說真的下班後還要去 K 教科書這種事不太現實),以及一些我覺得還不錯的入門書籍。
通常來說,如果有個人來問我問題,我會先確定他要的是「我認為的解答」還是「思考的方向」
- 如果他要解答,我就跟他講我的思路及我認為要這麼做的理由
- 如果他要思考,我就會給他一些可以嘗試的方向或可以去哪裡找資料
- 如果我也不知道,那我會跟他一起找找看,或是請他實驗看看(甚至是自己接過來做實驗 XD)
確實,雖然不是很頻繁,但有些問題是跨領域且需要各種背景知識才容易解決的。
這也是我對 Senior Engineer 有的期許(雖然看起來 Soft_job 版好像不太崇尚這種想法?)
我覺得,就算是 200+ 也一定會有人有意見。
我的心態就是「對,你說得都對,有能力選擇 200+ 還 2000+ 就不勞您加入我們了」
反正現在勞資雙方就是各自喊價,市場機制下喊得合理的就能找到人。
其實 Soft_job 版算是惠我良多,我已經著手調整目前的題目,目前傾向於降低整體難度與更明確劃分 Junior 與 Senior。
如果未來公司仍授權我將面試題目分享出來,我應該還是會跟版友們分享。
(至於 FB 那邊我應該會阻止我朋友 po 文吧,我是因為對紫色貓貓沒啥好感所以一直沒加入才想說請他幫個忙,然後他自己搞到崩潰笑死)
沒事,技能的培養不會是一瞬間的事。
如果真心喜歡這個領域、這個產業,那進步也只是時間問題。
※ 編輯: MoMoShota (36.226.26.49 臺灣), 06/18/2023 00:30:51
... <看更多>