當收到Take Home Assignment之後該如何進行呢,Take Home Assignment基本上由幾個部分組成
以下是我個人整理出來的流程與想法。
我們以earnaha的Take Home Assignment中的Candidate Exam: Back-End/Full-Stack Engineer來當作範例。
作業的重點是裡面所提的必要項目,要先將這些完成再考慮加分項目,時間許可下才進行加分項目。
Take Home Assignment跟online coding test不管是全職找工作還是邊上班邊找都需要做時間上的規劃,不像online coding test可能最多3小時的測驗,Take Home Assignment可能需要10-20小時,橫跨數天才能完成,在時間安排上需要好好規劃。
考慮到這項作業要在三週內完成,而內容又較為繁重,時間管理顯得尤為重要。
實作上,我習慣先把所有架構和測試環境給建立好,並更新Readme文件之後才開始開發需求邏輯,以前先開發需求邏輯後面才發現部署上面有問題差點趕不上期限。
雖然是前測的作業,但重視Code的質量是自己專業能力的體現也是讓審核者在眾多作業中脫穎而出的關鍵。
SOLID是OO設計和程式架構的五個基本原則,可以開發更有彈性、可維護和擴展的系統。
S: Single-responsibility principle (SRP) = 單一職責原則
O: Open–closed principle (OCP) = 開放封閉原則
L: Liskov substitution principle (LSP) = 里氏替換原則
I: Interface segregation principle (ISP) = 介面隔離原則
D: Dependency inversion principle (DIP) = 依賴反向原則
設計模式是軟體設計中常見問題的通用可重用解決方案。GoF描述了23種設計模式,這些模式可以幫助解決常見的設計問題,不管這個在作業中有沒有提出,如果有機會使用的話可以加入設計模式。
選擇自己習慣開發的IDE,如果作業需求沒有指定框架的話,盡可能選擇自己熟悉的技術框架降低開發的時間。
開發需求邏輯時可以先寫Unit test,test不一定是必需或加分項目但有寫Unit test的話在交付時除了比較安心對審查者也會有加分的效果。
使人瘋狂的 SOLID 原則:目錄
設計模式:可復用物件導向軟體的基礎