2019 年非本科 Python 後端求職分享
Hard Core Tech 映瀚、大數據、StreetVoice 街聲、KooData 酷訊搜索、雲端互動
目錄
- 個人背景
- 求職準備
- 面試常見問題
- 面試公司
- 心得
一、個人背景
四大文組學士,大學最後一年才開始接觸程式,在修了一年學校資管系的 Python、C++、演算法、電機系的資料結構以及線上課程的 HTML、CSS、JavaScript 後,因為喜歡寫程式想轉行當工程師,加上想離開台灣看看,所以畢業後就買了張單程機票飛到北京當北漂。先是透過短期暑期行政實習了解當地環境,然後很幸運地被前老闆內推到 AI 新創公司彩雲科技做了 3 個月的全職後端實習工程師,加上後來轉正的經歷,總共在北京做了兩年 Python 後端開發工程師。2019 年回台灣後,因為自己沒有刷 leetcode、加上希望可以早點工作,所以找工作的目標是需要即戰力的新創或小公司。
二、求職準備
因為要準備求職,才發現自己脫離公司後很難跟別人 demo 自己會的技術,所以開始準備程式作品、個人網站、寫 medium 記錄學習心得。針對作品集的部分,先是概覽 104 Python 的職缺了解市場上目前需要什麼技能後,因為那時候對 Docker、Nginx 還有 AWS 不熟,所以花了 1 個多禮拜用 Django 寫了一個購物車 demo 網站,再用 Docker 封裝並用 Nginx 做反向代理部署到 AWS EC2(但如果再做一次,會考慮用 Django REST Framework + drf-yasg 寫後端,並用 ECR、ECS、CloudFront、Route53 部署服務)。然後用 CakeResume 針對求職的公司客製化履歷,就開始找工作了。但由於台灣 Python 後端的職缺不多,加上沒刷題又是非本科的關係對自己沒有自信,很快就把可以投的職缺看完了 QQ。最後大概花了快 1 個月在準備作品、整理履歷以及找工作,其中找工作的部分花了 2 個多禮拜,最後面了 5 家公司,拿了 4 個 offers。
三、面試常見問題
A、非技術問題:
- 自我介紹。
- 最有成就感的是什麼事情?
- 最沮喪的是什麼事情?
- 有什麼缺點?
- 為什麼想來我們公司?
- 最喜歡什麼事情?
- 最討厭什麼事情?
- 下班後會做什麼事情?
- 請簡述未來三到五年的職涯規劃。
- 為什麼離職?
B、技術問題:
- 關於 RESTful API 的各種問題,包含 GET、POST 差異、用過哪些方法等。
- 關於 Django 的問題:包含 Django ORM、簡述 Django 從請求到返回的整個過程、簡述什麼是 MVT。
- 關於 Nginx:請說明如何配置強制 http 跳轉 https。
- 請說明一下 Git Flow。
- 請簡述 CSRF 以及如何預防。
- 請說明 301、400、401、404、500 分別代表什麼意思。
- 請說明 Docker image 如何 build。
- 說明一下 CI/CD。
- 怎麼處理資料衝突?
- 怎麼處理分布式爬蟲?
C、準備的問題:
- 為什麼會有這個職缺?(是因為有人離職還是組織擴編?)
- 有沒有技術讀書會?
- 請教技術部門的組成,以了解年資分佈、前後端、SA、QA 的人數。
- 詢問平常開發的流程、 CI/CD、雲服務(AWS/GCP/其他)。
- 請教面試官喜歡公司什麼部分?
- 請教面試官在工作中遇到的挑戰是什麼?
- 如果有機會進貴公司,可以給我什麼建議讓我可以加強或先準備?
四、面試公司
A、Hard Core Tech 映瀚
做美國進出口貨物承攬公司的貨物運輸管理 SaaS 服務的新創,主要產品是 GoFreight。這次求職因為沒刷 leetcode 所以想說找不用考 leetcode 的公司,結果在 cakeresume 投遞履歷後就收到 90 分鐘的線上測驗(內心無限崩潰 XDD)測驗不限語言但自己做得超爛,所以技術關就被刷掉惹 QQ。後來有收到公司問要不要改面 PM ,所以還是有去公司面試。覺得技術很扎實主管很厲害,但因為考慮還是繼續做工程師,所以就沒有繼續面試。
結果:一面掛掉
B、KooData 酷訊搜索
一家致力於透過程式,將複雜的網路廣告數據,簡化為人人都看得懂的資訊的新創。透過 yourator 投遞履歷,先是跟技術主管面談 ,demo 了 Github 作品然後聊使用的技術以及做過的項目,再與人資以及 CEO 面談。公司位於內湖,環境和福利感覺不錯,面試時感受到公司注重求職者對公司文化是否契合,是一家願意為求職工程師給更高 offer 的公司。
結果:Offer get
C、StreetVoice 街聲
在北京工作的時候因為同事介紹開始用 StreetVoice 聽音樂,還有用 StreetVioice CTO 貢獻過的 Django 框架 Wagtail 開發過項目 XD。回台灣後孤陋寡聞的我才發現 StreetVoice 是台灣的公司 XDD 然後就很興奮地透過 104 投遞履歷。面試有兩關,先是職缺所屬部門的工程師問關於 Django ORM、Nginx 的技術問題,然後再跟 CTO 面談。CTO 是一位熱愛程式 & 音樂的資深 Python 工程師,有在 PyCon 演講過。StreetVoice 有在北京設分公司,雲服務用的是阿里雲。
結果:口頭 Offer get
D、大數據
104 主動邀約面試 Web Crawler 數據解析工程師,想說之前有寫過一些爬蟲就去試試看。面試第一關是一份 45 分鐘的爬蟲筆試題目,除了回答爬蟲相關問題也需要現場實作爬蟲程式。面試完後主管會針對履歷、筆試題目問相關技術問題,公司福利感覺不錯。
結果:口頭 Offer get
E、雲端互動
美商接案公司,104 主動投遞應徵後收到一份 Django 回家作業,題目不難,大概一個晚上可以做完。面試有兩關,一關是技術同事面談,主要針對履歷、作品集問問題以了解求職者熟悉的技術,另一關是人資面談。公司主要用 AWS,專案採用 Agile/Scrum 開發,有些專案需要用英文與國外客戶溝通。工作時間彈性,10 ~ 15 點要在公司,其他時間不強制。
結果:Offer get
五、心得
透過找工作,可以了解市場目前看重的技術與能力、知道哪些還需要補強、如何調整職涯規劃,並了解到現階段的自己在市場上的價格 XD。如果看這篇文章的你在準備找工程師相關工作,蠻推薦看看這篇:【密技】台灣軟體業業界現況詳解、軟體工程師指南。如果要面需要即戰力的公司,可以針對公司職缺準備相關作品,如果要面大公司,建議還是刷刷 leetcode,準備相關的技術問題(程式語言、OS、資料庫、網路等)。關於 Python 面試準備,可以先把主流框架弄熟,如 Django、Flask,然後練習相關面試題目,如 interview_python、python_interview_question,如果有時間推薦看 Python 源碼剖析、Python面向對象編程指南。
2019 年因為找工作的關係知道自己缺乏雲服務的經驗加上沒有刷題,所以在這一年有看 fucking-algorithm 慢慢練,並在新公司開始接觸 AWS 並受公司大神指教幸運考過 AWS 的 SAA 證照,覺得對 2020 求職有所幫助,詳細可以參考: