工學院 碩肄 剛過30
2018年2年 開始下班自學
在這之前 只會簡單的for if
thread stack heap 物件 等概念 完全沒有
過去得到版上諸多資訊
換我分享一些
golang職缺的面試心得 找入門級~初級職缺
薪資都開 40K~45K/月
我對於第一份純軟工作的要求如下
1~3是主要同等的考量,4是次要
1.是否講究軟體品質
2.有好的開發流程嗎?
3.後端golang的使用經驗 以及 人數
4.薪資,公司規模
1. 天堂遊戲有限公司
第一家面試的公司,被找去面試的,面試很有心
問什麼都回答不好,都覺得對不起他了
還花了3小時面試我
此公司面試心得,有發在 "面試趣" 不要花點數去看了
也是我面試的第一家博弈公司
go的職缺特別多博弈...
所以也去了解一下博弈
我分別與兩個組進行面談devops組 跟 後端組
有跟兩個組詢問過
是在做什麼樣的遊戲,是否算博弈產業
其中一組回答我說,他覺得自己
是從事軟體開發,不是博弈
另一組直接說自己就是在做博弈
就我聽下來的感覺是,這間公司開發一些賭博類型的遊戲
負責的客戶是賭場,
但不會與賭客有接觸,不會接觸到實際的金流(重點
負責遊戲開發,完成後再授權國外公司
devops組 面試經過:
Q1 是否有使用資料庫的經驗
A1
我回答只有使用原生postgresql的程式,
直接進入資料庫練習SQL語法.
面試官表示:
我還不到他的標準,
我想應該是希望我有用go去實際操作資料庫的經驗.
(第一個問題,我就覺得沒希望,面試官佛心教學來的
Q2 詢問 thread 跟 goroutine 的關係
A2
回答的不好 連GPM模型也拿出說 但是又解說的不清楚
最後只簡單總結說, 可以把goroutine看成更微小化的 thread
Q3 詢問我 開 10 個process 跟 10 個 thread,哪一個耗資源
A3
我回答開 10 個process的效能差 , 他問為什麼,
我只回答:因為process 就是比較耗資源 ,
現在回想起來 ,我應該回答 ,
因為 process 的創建牽涉了底層kernel的系統呼叫
因此需要消耗比較多的CPU時間 ,當時實在腦袋一片空白
Q4 提出一個簡單的情境, 詢問我如何撰寫一個函數 ,每次呼叫該函數可以使用同一個
instance ,也就是所謂的單例模式
A4
上白板卡了很久 , 明明之前 ,有想過怎麼寫的
不過面試官很有耐心 ,有詢問我有什麼
地方不明白或卡住的,可以提出來討論
最後面試官表示,還缺少一個要注意的地方
如果多個goroutine同時讀取,有可能生成多個實例
於是我在函數中 ,加入 mutex ,才終於完成這個白板題
Q5 問我有沒有設計過API
A5
我的回答沒有… , 問我要不要試試
我當然說好, 面試官假設了一個情境
一個網站上可以顯示N個商品 , 顯示總共多少頁面 , 以及來訪人數
面試官給了三個空白要我填寫
假設我是前端輸入怎麼樣的 api形式
來得到我想要的結果
第一個空白 URL 格式
第二格空白 status code 會回傳什麼
第三格空白 json 格式 , response 回傳什麼樣的內容
由於之前完全沒有做過api設計
我只讀過理論
卡了30分鐘以上總是有缺少的東西,不夠完整
面試官很耐心從旁協助 最後終於完成一個簡單的API設計
從中學習到很多,半路出家沒作品真的自找死路阿...
閒聊:
如果將來進到公司,使用的技術
與你想用的不同,我會有什麼反應
詢問是否可以配合加班
後端組 面試經過:
該組又分三個小組
1.負責遊戲前後台的串端,與前端溝通,做api設計以及底層的研究
2.報表資料,提供資料給客戶
3.網路爬蟲相關,將其他博弈網站的資訊爬回來,比如說大樂透的號碼
詢問我的自學方式, 為什麼當初後端語言選golang
詢問是否有做side project
Q1 若一個API 呼叫會使用到一個函數,當API被多人呼叫
如何確定該函數只被一個人實行
Q2 如何確保某個函數只能被100個人呼叫
上述三個小組每組約5人全部15人左右
有進行code review至少給一人看過
每周會有一次後端會議,若沒有會議則做讀書會分享,
加班頻率不高加班換補休
若年底沒有修完則換錢,目前該團隊有重購的需求
結果:
不意外的是感謝卡
第一家面試就這麼衝擊我,所以做了紀錄
但後面的公司常常只有閒聊,沒問什麼程式的問題
可能我沒作品可以問吧
2. 澄品科技有限公司
五人以下的接案公司
由於版上對接案都說不要去
所以我後續mail 問了很多問題
對方很有耐心,感覺得出來不是求快的團隊
重視程式品質
近期想要導入驅動測試的想法
每個案子都1年~2年左右
後端 行動端 pm 各自專職負責
內部夥伴都合作超過5年
常用laravel + go + vue
目前 整個團隊在大直駐場
要幫一個美食雜誌做一個
跟美食相關的網路平台
提供mac筆電+螢幕
按照勞基法走
薪資結構主要就是基本薪資+伙食費+勞健保自付額
12個月+端午一個月+年終一個月,共14個月
以我的程度 開給我的工作項目是
1.協助規劃系統架構,你可以在旁邊學,如果有什麼意見可以提出來討論
2.協助進行Unit Test部份,針對後端系統進行Unit Test case規劃
3.開發REST API
4.開發Search Engine
5.協助撰寫CI/CD script, 應該算Devops
6.AWS相關,例如設定RDS以及EC2等等
結果:
offer get 35K*14
我覺得不是板上說的接案公司類型
目前職缺沒有開入門級的工程師
是看到我網路上的履歷找上我的
若是對軟體開發有想法,或許可以嘗試一下
3. 雲杉科技股份有限公司
五人以下的接案公司
有接國外案子 也有接銀行案子
聲稱只做有趣的案子
接銀行案 是為了生存
iot涉略較多
喜歡嘗試新技術
他沒問什麼 主要都是他講
有基本程式能力 知道一些名詞的意思
應該都挺有機會上的
有特別強調 語言只是是工具,不會綁在一個語言上
主要使用 go, ReactNative, Java
以下老闆的看法:
精熟一門語言可以幫你創造『連結』,讓你學新的語言時可以類比參考。
Sequencial Programming
Event Driven Programming
Functional Programming
應該是目前看的見的三門不同思維邏輯主流
除了FP使用的機會低一點,其他兩種我們日常的使用量都不小。
程式學習之道無他,動手。
每個人有自己適合的摸索方式,有的人需要老師教,有的人看書
有的人看語言定義文件,這是你需要自己摸的。
畢竟別人給的都是『建議』,不用負責。只有你需要對自己負責。
他說不相信 一次面試 可以看出什麼
主要還是看 後面的一個月試用期
如果覺得你處理不來 那之後就掰掰
老闆覺得一個月的薪水看你一個人的素質
他扛的住 付得起 0口0
第一個月主要 看書+給題目 學go+react
結果:
offer get 試用期 40k
但因個人因素,又被收回offer
對與人溝通,發問問題,學到了一課
傷心了一天QQ
4. 香港商天奕科技台北辦事處
golang telegram 發出的招人文案
有找架構師 跟 一般工程師
無工作經驗的我 很不要臉的私訊 給履歷XD
很快地進行電話面試
問一些履歷上的問題
然後問了一個問題 erlang style message passing
跟 golang 有何不同
當下google查erlang語法,我沒學過erlang阿
最後沒回答出來
約了正式見面的時候,再給他答案
第一次面試後被team leader(DBA)建議了幾點,比如說
服儀跟表達方式
評價我的技術不到junior
只有entry level
但概念性的問題,回答還可以
給我機會
要我用GO模擬
做出簡易的erlang的訊息傳遞方式
第二次面試呈現給他看
台北的團隊主要負責 DroiBaaS(backend as service) 這項服務
全服務都用go開發
工作內容 維護佔多數的樣子
最近有開發新的功能,剛上線沒多久
結果:
口頭 offer get
跟我說應該是可以滿足 我一開始的期望薪資
還是要等流程跑完才可以確定
等待中
5. 特雷維科技有限公司
投遞履歷後,給了一個案例,進行簡答題
Q1. 使用何種資料結構? 所需空間複雜度為何?
Q2. 使用何種方式過濾? 所需時間複雜度為何?
Q3. 使用何種方式進行測試?
Q4. 在運作期間要更新的話要如何處理?
回答OK才有面試機會,不然就掰掰
請表現出你找資料或學習的能力
不要想說自己演算法很爛就亂回答
嘗試google 找一個自己可以理解的答案填上去也好
現場面試,先來個三題白板題 30分鐘作答
最後我只做出一題
而且邊界條件 跟 特殊情況都沒考慮到
所以到此為止
公司給我的建議
1. 若是新進入領域的話盡量準備能說服公司錄取您的武器
e.g. 演算法,作品集(不只是文章,還包含實作)等
2. 針對主力應徵的公司客製化重點更明確的 resume
結果:
感謝卡,這家版上有發徵才文,說有上就是50k起跳
其實現場考的三題白板題
被告知解答後,真的不難
需要對數字有敏感度,以及細心度要足夠
只能說自己能力不足
6. 璿宇數位有限公司
博弈公司
團隊是一群認識的 共6人 主要都是後端
自稱在各領域 系統場 遊戲 接案 有10年經驗
php 框架用yii2 laravel
使用經驗豐富,踩過很多雷知道如何避開
面試的對應看來
相信是一個工作氣氛很好的團隊
團隊也是最近才開始學習golang
該團隊算是技術委外單位 打算用go 做風險控制系統
新產品 風控系統 看看客戶有沒有詐賭之類的
有點像是 監測 客戶 送來的 request 是否正常
在台公司 是大陸金主 給予這團隊的外殼
所以團隊好像也不太熟公司
剛接沒多久的樣子
覺得有點像是 博奕公司 包給一個接案團隊
然後給他們一間公司 做事情
算是我自己的猜測,我並沒有太直接的詢問
不談公司本身,覺得主管對技術面還是有自我要求的
團隊給我的建議:
建議學習新技術的心態,不要從技術面出發,而是要從需求面出發
畢竟上層的變化太快了,三天兩頭就會有新的技術出現
如果只是單純的追新求變,會花費很多時間在未來可能被淘汰的技術上
把系統規劃基本功做好,精通至少一門後端語言,才能走的長久
結果:
offer get 45k*? 沒問得太清楚
雖然覺得主管跟團隊不錯
我不排斥博弈
但團隊實在太不熟公司
讓我有點怕,所以拒絕了
也可能只是我想多了
7. 尚芳國際興業股份有限公司
傳產,在樹林
做電子遊戲機檯 官方網站看了不忍直視
心想大概又是個不看重軟體開發的公司
但我還是去面試了
一開始先填 基本資料 性向測驗 (我開始想走人了...
然後開始解程式相關的考卷
1. by value , by ref差別
2. thread goroutine 差別
3. interface的意義
4. go的型別,或使用上,舉兩個可能造成的效能問題
我回答 slice 每次都用append自動擴張,會有效能問題
以及 goroutine不能無限制地開啟,要限定數量
5. 有用過那些 design pattern
6. restful api ?
等等 太多問題
然後終於開始面試
公司想在手遊開發新的業務
目前做了第一版的遊戲,進行內部測試
前端Unity 後端golang
談了一些 公司 對軟體部門的看法是什麼
官方網站怎麼用成這樣
主管表示,他剛進來公司也是這樣的感受
但在他這部門,上頭都是完全交給他處理
網頁門面不是他可以干涉的
在公司內 原本就有unity團隊
來做電子遊戲機台
使用「Scrum」和「敏捷軟體開發方法」進行遊戲的開發。
code review 、 unit test 都是必須要做的工作
已經進行了5~6年,上頭老闆是真的有放權的
我覺得是真的有重視軟體開發
也打算把這套用在golang的後端開發上
目前只是剛開始,還不能確定手遊路線是否順利
結果:
無聲卡,是說會有第二次面試,但沒等到
不過還是推這家,如果你寫unity可以嘗試看看
golang的話目前只有主管在使用
8. FLO
在板上有徵才,先被噓 從底層到應用層都要會
然後改要求,只要懂應用層就可以,又有使用go
所以我就嘗試投履歷看看了
面試地點在 圓山花博
主管分三次面試,把所有成員都跟我介紹了一次
非常有心
也詢問了很多基本問題,讓我知道缺陷在哪
評價是 基礎沒打很穩,就去看對目前的我來說
沒太大作用的知識
比如說 golang的調度器運作、GPM模型
但肯定我學習的態度
有跟我說 錄取的機會不大
目前是衝刺階段,需要比較有經驗的人
面試很用心,得到很多回饋
結果:
後續出了一個題目,團隊還是希望看看各個候選者
實際上會用什麼方式作答
不是強制的,看自己要不要做答
之後會找時間完成這個小項目
沒什麼進展XD
9. 博創行銷有限公司
特別提一下
工作福利不錯
程式是外包給人做的
現在想接回來自己搞
公司內無技術人,面試官是行銷方面的
一開始用py 後來用 go
架構似乎改很多次
我聽完就 之後發拒絕信 不前往第二次面試
比較適合高手去接...
**********************************************
以上幾家是我覺得,值得我花時間分享心得的公司
其他面試大多問經歷,或是閒聊
我沒能從中得到些什麼回饋
感覺看我沒作品,就沒心要繼續了,履歷不是都寫了嗎...
大多數都博弈,讓我多知道一些博弈在做什麼
所以我就不再多提其他面試的公司
5月2日就要上工,希望3個月後試用期還留得住
終於走向第一份後端工作,晚人家好多年阿~
非本科就只能加油啦,還有很多要學習的
希望這些資訊有用