2010.8.20 巴西之旅(上)
這趟來巴西實在太棒了!從辦理巴西簽證開始,簽證中心需要ㄧ大堆有的沒的資料,由於我是去比賽,所以用觀光還是商務呢?他們也不清楚,後來時間被耗掉一周卻沒著落,於是趕緊備齊資料,奔去辦事處,希望在出發前能順利拿到簽證。每次在填資料時,我已經看膩每次的問題了,每年幾十次進出不同國家,進出海關都得填,基本護照資料都背起來了,我只想趕快辦好簽證,別花太多時間。
我去程飛到『巴西-聖保羅』轉機到UBERLANDIA,國內旅行社無法進入訂票系統,也無法開當地國內段機票,同時告訴我說:找不到如何飛到這城市!還好,Jimmy幫我問到這城市機場代號,以及後端如何轉機,有時到陌生地方還是會擔心,雖然出國經驗豐富,有些事情還是確定比較安心,不然連住哪都不知道!
從台灣飛到舊金山,Jason 和Jimmy來接我,我們在手搖飲料店,喝珍奶聊天到半夜,住一晚後,搭隔天下午飛機到祕魯轉接聖保羅,然後再坐公車到國內機場,最終抵達這UBERLANDIA城市,算算旅途超過50小時!感謝宇佐提供資訊以及中間端充電,尤其在國外喝到珍珠奶茶,是會感動落淚的。
我首度踏上南美洲這戰場,想像著巴西足球天堂,以及熱情的巴西人,腦袋正在整理眼前景像,過去巴西被葡萄牙統治,英文和西班牙是不通的,我只能說:這城市百分之一的人才有可能聽懂英文!當我飛到新的地方,我會藉由慢跑來調整身體及心理,作賽前準備,邊跑邊欣賞當地文化,看當地住宅生活,跑步是最好觀察民情的好方式。巴西的冬天很舒服,房子前門都會有鐵門加大鎖,看得出治安不太好,有一群小朋友在街上,我跟他們打招呼,他們興奮圍上來好奇著打量我,可惜無法溝通,他們一直熱情ola(妳好),我看到一群十來歲小朋踢沒氣的皮球,這很像巴西電影的感覺,哈!我的確是在巴西。
我的首站是紅土未來賽,目標是適應及準備接下來三站挑戰賽。第一輪對義大利選手,比賽第一分他就(恩恨)出聲擊球的意思,我就被他打法嚇到,為何他打那麼高,球還不會出界,我怎麼跑起來快摔倒,他都可以站穩穩的,最終三盤輸掉這位排名比我低很多的紅土選手。
第二週在Campos Do Jordao,我飛回聖保羅,轉搭三小時公車,翻山越嶺才到這地方,高山不知道幾千公尺,總之,高海拔讓球會飛很久才願意降落,過去總是聽選手們說:高海拔一打就出界,比賽用無壓球(球彈性不佳),會影響你的球感等,現在我知道這種感覺了(球比較容易出界),所以,『動作一定要帶旋揮完,才能把球控制好』。另外,這地方實在太美了,我看了飯店裡介紹,才知道是瑞士和德國人希歡來的渡假地方,歐洲式的小木屋建築風格,我發現當地食物吃的很健康,各式麵包,火腿,五穀雜糧,起司,優葛,咖啡非常豐盛,相對物價很貴,住一晚五千台幣,吃最便宜義大利麵從七百起跳!我吃早餐時,遇見美國選手Nick ,我問他是否能一起住平付開銷,可以一起熱身訓練,這樣對我們彼此都好,職業網球選手最好是結伴同行,從訓練,分擔開銷,生活聊天都能相互照應,因此更能接收多元開放思維,彼此進步成長。
這週我心境是滿滿的能量,每天迫不及在早起跑步,讓身體準備在最佳狀態,不過我依然在會外賽就輸球,不過,我每天渴望進步的熱情是不變的,有位英國Baker選手的教練,總是會與我分享球場,人生上的事物,當時給我很大的鼓舞,他說:Every match is your last match,Just do your best! 因此,勝利,排名,獎金,這些外在壓力就不會看的那麼重了,從這位長者一直問我問題,到最後就知道問題的核心根本是什麼,真的是老人的智慧阿!
(照片來自網路,可惜沒留下珍貴照片)
同時也有6部Youtube影片,追蹤數超過24萬的網紅暗網仔 2.0,也在其Youtube影片中提到,Payme [捐款]: https://payme.hsbc/deepwebkid Instagram: https://www.instagram.com/dw_kid12/ Facebook: https://www.facebook.com/deepwebkid/?modal=adm...
「後端英文」的推薦目錄:
- 關於後端英文 在 Ti Chen/陳迪 Facebook 的最佳貼文
- 關於後端英文 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於後端英文 在 玩美南人Eric / 苗啟誠 Facebook 的最讚貼文
- 關於後端英文 在 暗網仔 2.0 Youtube 的最讚貼文
- 關於後端英文 在 在地上滾的工程師 Nic Youtube 的最佳貼文
- 關於後端英文 在 在地上滾的工程師 Nic Youtube 的最讚貼文
- 關於後端英文 在 [心得] 2023 軟體工程師(後端)面試分享- 看板Soft_Job 的評價
- 關於後端英文 在 緯育TibaMe - 如何邁向全端工程師? 後端該學的 ... - Facebook 的評價
- 關於後端英文 在 The Roles of Frontend, Backend, and Database Explained by ... 的評價
- 關於後端英文 在 帳戶連結-悠遊卡股份有限公司 的評價
- 關於後端英文 在 狂讚蔡英文!謝金河讚6產業:真正的政績 - Mobile01 的評價
後端英文 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] Scaling Ethereum 參賽心得
✍️ Johnson
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Scaling Ethereum 是一場由 ETHGlobal 所舉辦的線上黑客松,也是我第一次參加與以太坊有關的黑客松活動,這篇文章就來分享一人參賽的過程與心得。
源起
一開始是在 telegram 群組中得知這場比賽的消息,因緣際會之下剛好有人想組隊參賽,於是就在報名截止的前一天一起跟著報名了。
報名的方式除了填一些基本資料外,最特別的是還要 stack 以太幣,也就是要傳送 0.01 顆以太幣給主辦方,規則是必須在比賽的最後,有提交作品的人才能贖回 0.01 顆以太幣,之後看到 meme 頻道有人留言:
When your project is incomplete but you submit to get back stake.
一方面,這確實也會激勵你好好把比賽完成,就算沒做完也要有些成果上去,這也是主辦方秉持的精神,他們認為大家來黑客松相互學習成長,競賽獎金則是其次。
獎金
比賽方式是由 25 個左右的贊助者(sponsor)分別提供獎金,每個 sponsor 都有錄製一段影片,說明怎麼獲得他們的獎金,大部分會要你使用他們開發的工具,或者必須跟 sponsor 在做的研究有關,去實作出創新的作品。可參考:Prizes — Scaling Ethereum
你的專案可以選擇要投入哪個 sponsor 的獎金,一個專案可以投入多個 sponsor 底下,這樣獲獎機會也會比較高。
我選擇的 sponsor 是 zkSync,他們的說明如下:
zkSync is a user-centric zkRollup developed by Matter Labs. It uses zero-knowledge proofs to keep data availability on mainnet to achieve exponentially lower transaction costs. You may have seen us powering projects such as payments and Gitcoin Grants. We are currently rapidly developing zkSync 2.0, which will feature EVM-compatibility in testnet May 2021, soon followed by zkPorter, our new exponential scalability solution.
PrizeszkSync will be awarding their Prizes as follows:
- 1 winner — 4,000 USDC
- 2 winners — 2,000 USDC
- 4 winners — 500 USDC
We encourage builders to utilize zkSync SDK’s, implemented in JavaScript/Typescript and Rust. Prizes will be awarded to projects that make it simpler and easier for non-technical users to use zkSync, other ideas include integrations of current tools such as in Gitcoin Grants and tools for easy mass payments and multi-sigs.
社群互動
這個 hackathon 很棒的地方是他把使用者體驗做的很好。每個人都會有自己的 dashboard 顯示目前專案的進度和一些訊息。
Check-In #1 和 Check-In #2 的階段會要你提供專案的構想,你隨時都可以修改。主辦方會看你提交的資訊,幫助你找到適合的 sponsor,或是給你一些建議,就算是一人參賽也能感受到回饋。
整個賽程期間,社群都是使用 discord 在互動,discord 裡頭有很多頻道,像是基本的大會報告的頻道,或是一些不重要的迷因、閒聊頻道都有。
每個 sponsor 也都有自己的頻道,我就會在 sponsor-zksync 的頻道詢問技術的問題,例如我想問問 zkSync 一些關於專案構想的意見:
Hi there, I want to build a gas fee relayer which make my ERC-20 token transfer without transaction fee, to be more precise, delegating gas payment by another party. I think this is done by GSN https://opengsn.org/ , but maybe it could built on L2 with zkSync? I’m not sure, could somebody give me some advice about this topic?
zkSync 團隊的人回應我:
This is an amazing idea! This can totally be built, as we support batching transactions which can be used for all kinds of creative things such as paying for transaction fees in an erc-20 token. Your idea seems like a combination of that and the gitcoin grants integration. To get started, I suggest you watch the short 10 minute presentation I made on using the SDK and batching. Looking forward to your project!!
在 Check-In #2 的時候,我提交新版的專案構想,有一個欄位是問:「目前專案遇到什麼阻礙?」我的問題應該是被主辦方貼給 zkSync 的團隊,於是 zkSync 的團隊成員就用 discord 私訊我,貼了一些程式碼教我怎麼使用他們的 Javascript SDK,這突如其來的救援也幫了大忙。
除此之外,主辦方每個禮拜都會寄 email 通知一些重要的活動,賽程期間舉辦了四個 Summits 研討會,邀請世界各地有名的以太坊開發者分享議題,主辦方還有一個自己的 TV 網頁,直播所有的線上活動。這些活動都有錄影,可以在 youtube 看到過去所有的演講內容:https://www.youtube.com/c/ETHGlobal/videos
因為我的作品是使用 zkSync 的 Javascript SDK 製作的,好像也只能投稿 zkSync 作為獎金的 sponsor,不過主辦方在最後一個禮拜,也寄 email 告訴我說可以多投稿不同的 sponsors 看看,他依據我的專案構想給我一些適合的 sponsors 作為參考。
不過最後我還是只投稿了 zkSync,有點懶著再看其他 sponsors 的文件,也覺得其他 sponsors 的題目需要花比較大的功夫才能完成,一個人能力有限,就做點簡單的東西就好。
關於我的專案 — Gas Relay Service
在以太坊的世界,每一筆交易都需要額外付一筆交易費,也就是以太坊的 gas fee。
我的專案是讓「收款人」能夠幫「付款人」支付以太坊的手續費。
在黑客松之前,我就想研究「第三方支付手續費」的議題,因此我大部分時間其實都在研究一般的 meta-transactions 是怎麼實作的,有興趣的人可以看看 simple meta-transactions 的原始碼:https://github.com/chnejohnson/simple-meta-transaction
之後我才開始玩 zkSync 的 SDK,並研究怎麼在 Layer 2 實現第三方支付手續費的問題,以下就附上作品連結以及簡單的專案介紹給有興趣的人參考:https://showcase.ethglobal.co/scaling/gas-relay-service-on-zksync
The target is that token sender can choose to find another account to pay for fee. The another account can be (1) the token receiver’s account, (2) sender’s another account, (3) third party’s account.
In this project, I finished the demo, which is the (1) above, that receiver pay gas fee for the sender.
有趣的是,我在研究 meta-transactions 時學到很多智能合約的寫法,結果在最後專案上都沒用到(沒寫到合約的程式),zkSync Javascript SDK 其實很簡單,他們的文件寫得很清楚。最後 Demo 還是用 zkSync 團隊的成品修改來的…XD。
所幸在沒有懂太多技術的前提下完成了這場黑客松的專案,成功贖回了 0.01 顆以太幣。
評審與決選
整個賽程來到最後一個禮拜,主辦方安排兩天的時間進行 Judges,使用 zoom 進行線上研討會,一個人基本上是 7 分鐘,前 4 分鐘播放 Demo 簡報,後三分鐘會有評審問問題。
第一個問題是說:「Demo 中你是使用 zkSync 的錢包網頁去操作,那實際上你做得部分是什麼?」
我就回答我在他們的網頁上加了一顆按鈕,使用他們的 SDK 做出 gas relay 的功能,還有一個後端的 server 去作 relay。
第二個問題大概是問:「什麼樣的情境下會需要由 receiver 幫 sender 支付 gas fee?」
我的回答是,在一般超商購物的情境,消費者通常只支付商品的價格,不會支付額外的交易費,我認為以太坊的手續費應該屬於軟體的營運成本,由賣方支付比較適合。那如果賣方希望手續費的成本是由消費者承擔,可以直接調高商品的價格。
當然,我英文講得零零落落,希望評審有聽懂就是了…
最後一場直播就是 Finale 決選,主辦方選出十二個隊伍,公開再 Demo 一次,以及提供線上觀眾詢問問題,至此整個賽程就差不多進入尾聲。
決選後的不久,主辦方就公布了這次有獲得獎金的隊伍,幸運拿到了 zkSync 頒發的小獎~
zkSync — Matter Labs
- Zeneth — 2000 USDC
- ZeroSwap — 1500 USDC
- Kangaroo — 500 USDC
- Gas Relay Service — 500 USDC
後記
這次的參賽隊伍中,Zeneth 跟我的主題非常相似:
Zeneth — Use Flashbots to enable arbitrary meta-transactions so EOAs can enter L2s without ETH
另一個我覺得有趣的專案是 Alexandria:
Alexandria — A dApp using STARKs to verify aspects of your identity without revealing more than you should
沒想到主辦方 ETHGlobal 下個月又要再舉辦一場黑客松,有興趣的人可以看看:https://defi.ethglobal.co/ ,這次的主題是 De-Fi。
最後,只要有到 ETHGlobal 的 TV 網頁參加 Summit 研討會的直播,就能夠獲得 POAP 勳章,它就是一個酷東西~😋
POAP: Proof of Attendance Protocol
Scaling Ethereum 參賽心得 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
後端英文 在 玩美南人Eric / 苗啟誠 Facebook 的最讚貼文
本週最後一道牛排料理:安格斯PRIME肋眼🤤
如何簡單又輕鬆的料理牛排?底下分享我的做法👇🏻
提醒:高品質牛排團購僅開放到今晚23:59,請把握最後下手機會🤟🏻
《食食肉舖:食食在在 食食美味》
居家防疫的你,不要總是叫外賣或吃冷凍食品,何不趁機在家輕鬆下廚,品嚐一下五星級和牛大餐?
📌【食食肉舖 嚴選和牛】
📌限時開團: 2021/6/14(一) ~ 2021/6/20(日)
📌 https://bigordr.com/shop/ericmiao-meat
▪️日本熊本A5和牛紐約客牛排
▪️美國和牛9+去骨牛小排
▪️澳洲和牛M8~9去骨牛小排
▪️日本A5和牛燒肉片
▪️頂級牛排老饕組 (肋眼牛排 / 去骨牛小排 / 美國和牛板腱 / 翼板牛排)
▪️饕客牛排組 (厚切肋眼牛排 / 紐西蘭帶骨小犢牛 / 去骨牛小排 / 美國特選級骰子牛)
相信大家常追蹤我都知道我很愛吃肉,尤其牛排跟烤肉,而這就是身為阿根廷人與生俱來的飲食習慣,儘管在台灣已定居十年,還是改不了。也因此這次與 #食食肉舖 合作開團,經過一番討論,我只鎖定以日本、美國、澳洲和牛為主的嚴選牛排單品,再親自搭配出「頂級牛排老饕」與「饕客牛排」兩種組合,以優惠的價格將這些高級美味食材提供給不方便外出的大家!
【玩美南人料理方式】
1-從包裝取出放盤中,用餐巾紙擦拭血水,抹上海鹽與胡椒,靜置30分鐘
2-剝好四五顆蒜頭、準備好迷迭香
3-入葵花油將煎鍋加熱至高溫,放入牛排,單邊各煎至焦黃,期間除了翻面不要特別碰觸
4-用夾子將邊緣也快速煎一下
5-取出後放盤讓肉內部運動,釋放血水10分鐘
6-熱鍋,加入一塊奶油、蒜頭與迷迭香,最後把牛排放回鍋內,將香氣四溢的奶油汁淋上牛排。蒜需煎到焦黃
7-擺盤、切條、享用🤤🤤🤤
【關於和牛】
所謂「和牛」,是指日本自古以來在日本飼養的食用牛,和牛品種與定義相當嚴格,經過長時間的品種交配改良,才有現在的肉質軟嫩、腥味少的美味牛肉。
和牛級數是由日本食用肉等級認證協會統一標準來制定的規格。A、B、C的英文字母是指在去除內臟、皮之後從一頭牛身上可取得的食用肉比例多寡(精肉率),A為最多(72%以上)、C是最少(少於69%)。英文字母後的數字則是以油花的分布、肉的色澤及紋路等等細微的地方來評斷肉的品質,總共有1~5個級別,5最高級。
依照上述制度,和牛有C1~A5,共15個等級。越好的和牛,「雪花」 越平均密集,瘦肉色桃紅到鮮紅,脂肪雪白為佳。和牛雪花的融化溫度,將決定和牛帶來入口即溶口感的程度。頂級日本和牛等級基本上為 A5 和 A4 等級。
【團購和牛單品介紹】
1️⃣嚴選日本首屈一指的熊本黑毛和牛,榮獲九州和牛品評會的「優秀大賞」。
紐約客位於背部後端,油脂豐富,和牛油花呈現完美霜降,加熱後油脂香氣釋出、香味濃郁,能品嚐到口齒間淡雅香甜的完美和牛風味,入口即化的頂級首選!
◆料理方式:乾煎三分至五分熟。
2️⃣美國於1991年從日本引進和牛,與美國安格斯牛混種後,按照日本飼養方式所培育出來的牛種,口感更為軟嫩。
取自肋脊部第六至第八根肋骨之間,油脂含量豐富、肉質緊實而軟嫩。骨頭旁的細筋會在烹飪後變得酥脆,獻上多層次口感。
◆料理方式:乾煎五分至七分熟。
3️⃣澳洲牛原先的肉質風味較平淡,引進日本純種和牛和安格斯黑牛混種後,延續了優質的和牛血統,呈現今日品質卓越的澳洲和牛,擁有細緻的肉質、豐富的肉味及香甜油脂。
取自肋脊部第六至第八根肋骨之間,油脂含量豐富、肉質緊實而軟嫩。骨頭旁的細筋會在烹飪後變得酥脆,獻上多層次口感。
◆料理方式:乾煎五分至七分熟。
【關於食食肉舖】
食不厭精
家裡從事生鮮進口生意的Kevin ,不安於家庭羽翼庇護,高中便獨自前往英國留學、並在瑞士完成大學學業。
Kevin吸取、觀察許多不同於家鄉對待生鮮的傳統方式,默默期許將自己習得的牧場與飯店經營專業,結合爸爸的腳踏實地精神,以豐收、滿載的姿態,回歸台灣。
以食會友
甫回台的Kevin在因緣際會下認識了從事日式餐飲的Mic,每天打滾在廚房裏,Mic花費許多心思研究肉品的搭配方式和品質控管。
身為一名廚師,經常看到客人和家人為了「吃飯」為食材傷透腦筋,Mic殷切盼望自己能成為一個「好的選擇」,讓每個人只需安心大口吃飯,把更多的心思和時間留給重要的人。
食甘寢安
食食肉舖即是Kevin和Mic攜手,要將這份「更好的選擇」,從街邊的一家店、心中的一個念頭,延伸到每個人家中的溫暖餐桌。
爾後,您只需要大口吃飯,品質我們來扛。
食之溯源—
獨家代理美國Aurora Angus Beef極光牧場,高緯度環境打造牛隻健康強壯體質。
以穀物與蘋果飼養、堅持不對牛隻施打任何化學藥品,採日本修切規格,提供更精緻口感比例。
食之堅持—
肉品通過安全衛生ISO認證。
經檢驗確認為100%高規格安格斯牛,採Natural 方式飼養牛隻,不過度餵養,僅提供Prime、choice等級肉品,急速低溫保鮮。
📌【食食肉舖 嚴選和牛】
📌限時開團: 2021/6/14(一) ~ 2021/6/20(日)
📌https://bigordr.com/shop/ericmiao-meat
-
#玩美南人推薦 #玩美南人廚房 #美食 #和牛 #牛肉 #牛 #防疫 #防疫人人有責 #防疫日常 #防疫生活
後端英文 在 暗網仔 2.0 Youtube 的最讚貼文
Payme [捐款]: https://payme.hsbc/deepwebkid
Instagram: https://www.instagram.com/dw_kid12/
Facebook: https://www.facebook.com/deepwebkid/?modal=admin_todo_tour
Spotify: https://open.spotify.com/album/2LjUOH9T9j21GiX8jzytu6
訂閱: https://www.youtube.com/channel/UC8vabPSRIBpwSJEMAPCnzVQ?sub_confirmation=1
我最高觀看次數的影片 (我為何不再拍暗網? 只說一次): https://www.youtube.com/watch?v=jbihKaqEEQw&t=127s
首支單曲: https://www.youtube.com/watch?v=UASHWB6Ai9Y
我的成長故事: https://www.youtube.com/watch?v=Kdhtp6A6YJE
這位才是真正的網絡垃圾: https://www.youtube.com/watch?v=jlJYDx1GP-U&t=263s
Billie Eilish出賣靈魂的方法: https://www.youtube.com/watch?v=pfB1S2uy5Po&t=115s
日本最殘酷的直播節目: https://www.youtube.com/watch?v=7E81OKVX7wc
我受夠了, 我的精神困擾: https://www.youtube.com/watch?v=aQ6uxaQhiS4&t=7s
[警告]史上最危險IG Story限時動態| 會導致你手機死亡
[警告]史上最危險IG Story限時動態| 會導致你手機死亡
破解會導致你手機死亡的阿拉伯IG Story限時動態
破解會導致你iPhone死亡的IG Story限時動態
[警告!!!] 破解導致你iPhone死亡的IG Story限時動態
Instagram story that kills your phone-pgtalal
之前我第一次在Instagram stories做了一part Q&A, 大家的反應數量和問題可以說是驚人.
那試想想如果當天你按進去我story後, 你電話突然這樣...
如何想打開都打不開, 再用另一部電按進我story, 結果又是一樣. 之後所有千千萬萬的暗友做同一件事結果又是這樣.
你應該會覺得我是創造了什麼詛咒限時動態 ..可能我會從你的電話爬出嚟, 對嗎?
那如果我告訴你這個星期外國發現了一個IG網頁你一按進去他的story你的電話真的馬上會動不到, 甚至有機會之後還有後遺症, 你除了想到被詛咒的限時動態外, 還會有什麼其他解釋呢?
我們今天的影片就是會有答案.
大家好又是我暗網仔! 一起破解IG史上最恐怖的 限時動態!
告訴大家這個IG 帳號名字前, 我先想提醒大家千祈唔好按進去亂試. I do not encourage doing that.
名pgtalal的IG頁有一個令人電話動不了(俗稱 “crash” )的IG story. 這事件得到多個網路新聞網站報道. 令人百思不得其解.
亦同時令到 pgtalal成為近日受到最多關注和追除人數上升得最快的IG網頁.
奇怪的地方是如果你是用一部 ‘android’ 電話按進這個Instagram story這個紫色畫面會出現. 同時會播著一首名 ‘your love’ 的歌曲. 唯一奇怪的地方是不像其他的IG story, 你按電話畫面不能讓他暫停.
但如果你用iphone按進去這個Instagram story, 你的iPhone是會完全動不了. 會crash.
我試過用iPhone, macbook不同電器看IG, Facebook, Youtube. 東西都是大同小異.
那為何在這個情況下, 同一個story用不同電話看, 會看到不同的東西? 不同的畫面呢?
而為什麼簡單一個IG story會好像能完全控制你的電話呢?
是黑客入侵Instagram? Nordvpn又能幫到手嗎?
(題外話: 今天的影片不是由Nordvpn贊助的. 今天沒有贊助. 但如果你想贊助暗網仔以後拍多點好影片, 這是我的payme, 暗網仔donation, 下面也有link.多多益善少少無拘! 大家可能有看片知道我之前搬咗屋. 多謝大家繼續支持)
看完所有關資料. Pgtalal 帳號沒有頭像. 有一個7000多follower的私人帳號.
之前Pgtalal有一名電視劇friends女演員的post, 亦曾有3個不同會令到你電話crash的IG story, 現在看這個page, story 只有兩個, friends 女演員個post 亦消失了。
最後他還有一個douyin帳號. 只是長期在拍一個 ‘N’ 字. 到底什麼意思?
他帳號所有的字體都是阿拉伯字. 翻譯成英文後都是好像沒什麼意思.
其實整件事件都不像是靈異東西. 而係似某一個一個聰明人做的一種實驗.
這個出現在私人頁面簡介的”full stack developer” 這個職業就是證據. 電腦專家full stack developer精通前端和後端開發軟件.
什麼意思?
這是個很懂電腦的人在玩一個遊戲. 或是想prove一個point.
英國Youtuber Mrwhosetheboss用了一大dung電話逐一去這個IG網頁時發現不是每一部android電話都能夠避免 ‘死機’ 這個情況.
越舊的電話 被story搞死的機會率越大.
去到某一些舊年份的電話根本完全打不開那個story.
這是代表什麼? 代表越新越多 RAM 越多處理能力的機器越能對付這個story. 亦解釋到為何最高只有6GB RAM的iPhone會不停死機.
唯一的解釋就是因為這個story是比一般story大, 所以需要多點RAM去處理. 可以這樣搞大一個Instagram story的嗎?
最後互聯網找出的答案非常神奇! 網上專家用metadata對比一個普通ig story的尺寸和這個放大story的尺寸 , 放大story大約比正常大18個數位那麼多! 即是0.5和180,000,000,000,000,000的對比. 想像一下, 一個capacity只能裝落 ‘零點幾’ 的iPhone 要面對18個 零的放大IG story時, 如何能不crash呢?
最後證實我們看到的只是一個IG 投票poll和計時器. 放大了的某一個角落. 所以怎麼按也沒有反應。
技術上的結論就是Pgtalal用了一個叫 http proxy的濾器, 有一點像Nordvpn, 讓他send data給Instagram 的server前能任意改變當中的data. 主要是誇大個story的size.
而IG 就這樣超超超超超大這樣 send給你電話讓你死機.
很多網上專家相信Pgtalal 這樣做是想make a statement看看IG security有多yuek!
人類安全要緊!!!
但....最後好像證明了這個pgtalal只有14歲...
所以他應該不是這麼偉大.
如果我14歲是這樣做只會是因為貪玩.
後端英文 在 在地上滾的工程師 Nic Youtube 的最佳貼文
求職從履歷到面試,每一個環節勢必都有可以調整提升的空間,過去我從畢業時應徵「網站開發工程師」,大約投 10 份履歷只有 1 間拿到 offer。然而每次的挫敗都是一次修正自己的機會,透過不斷自我成長,以結果來說,和過去相比,現在面試中高階工程師職位,都有不錯的錄取率。
然而這段路程的角度也隨著職務成長有幸擔任面試官,這其中的心路歷程都詳細記載在我的技術部落格。不過,今天想用影片和大家分享,這過程中我如何透過每次改進,一點一點的提升勝率。
如果你參考了我的方法獲得不錯的結果,歡迎留言成為見證人,讓我們一起為成長慶祝 🥳
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
▶ 履歷撰寫技巧文章
https://blog.niclin.tw/categories/%e5%b1%a5%e6%ad%b7%e6%92%b0%e5%af%ab?utm_source=youtube
▶ 求職精進群回顧
https://blog.niclin.tw/categories/%e6%95%99%e5%ad%b8%e5%bf%83%e5%be%97?utm_source=youtube
━━━━━━━━━━━━━━━━
▶ AAR 範例
1. 面試預期的情況
自我介紹已經準備的很熟,應該沒有問題,會嘗試主動多聊一些後端實作的經驗
2. 面試實際的情況
沒有預期會考白板題,有點緊張,結果過程中一股腦的想把題目做完,卻忘了問面試官更多的規格,導致最後好像有點聊不太下去
雖然有聊到後端實作,不過面試官提到的 Desing Pattern 卻不太熟悉,也對單元測試並不瞭解
3. 下次怎麼做可以更好
寫白板題的時候要冷靜,先做出基本解並且在過程中要和對方討論,多問一點問題
應該要看一下 Design pattern 相關的書籍和文章瞭解一下,並且試試看寫出簡單的單元測試
━━━━━━━━━━━━━━━━
▶ 觀看破 50,000 解鎖專區
🥺 waiting...
━━━━━━━━━━━━━━━━
章節:
00:00 從求職到徵才
01:47 履歷怎麼寫?
02:51 精簡勝於冗長
04:13 量化實際指標
06:27 基本履歷架構
06:59 如何面試?
08:29 面對挫折及解決問題
09:22 面試節奏
10:18 AfterActionReview
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#面試 #履歷 #求職
後端英文 在 在地上滾的工程師 Nic Youtube 的最讚貼文
自學得找方法,漫無目的的努力會消磨你的意志。想成為軟體工程師之前,得先學會和自己對話,這部影片是最近很多關於轉職或就業相關的伙伴提出的問題,回覆的有點多次了,就直接整理起來做成一支影片希望幫助到想成為軟體工程師的你。
章節:
00:00 如何與未知相處?
01:19 學習那個程式語言最有效益?
03:59 英文、數學能力不好能寫程式嗎?
06:02 如何有效的自學?有推薦的學習資源嗎?
08:01 工程師是不是都很高薪?
影片中提到的播放清單 【12 Web Apps in 12 Weeks】
https://www.youtube.com/playlist?list=PL23ZvcdS3XPLNdRYB_QyomQsShx59tpc-
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#工程師 #轉職 #自學 #前端 #後端
後端英文 在 緯育TibaMe - 如何邁向全端工程師? 後端該學的 ... - Facebook 的推薦與評價
如何邁向全端工程師? 後端該學的前端前端該懂的後端↓↓↓ 最超值的學習包都在這↓↓↓ ... 賴世雄最真實的全英文訪問(遇到的時候不知道他是有 ... <看更多>
後端英文 在 The Roles of Frontend, Backend, and Database Explained by ... 的推薦與評價
本影片中,我透過一個簡單的範例解釋,前端、 後端 、以及資料庫分別扮演什麼樣的角色,以及他們如何溝通0:00 Intro0:45 一個app有什麼功能?1:02 這些 ... ... <看更多>
後端英文 在 [心得] 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
... <看更多>