2024-06-23|閱讀時間 ‧ 約 24 分鐘

新手村導讀 - 1: 初入軟體業

第一篇就先來介紹面試時最常遇到的幾個問題吧

物件導向OOP

OOP 有兩大概念與三大特性,分別為(類別、物件)以及(封裝、繼承、多型)。

類別 Class 代表事物的特點,定義抽象化;物件 Object 則是類別的實例。

封裝 Encapsulation 代表將內部資訊隱藏起來,讓別人只能透過介面去與他互動;繼承 Inheritance 普遍是為了讓類別內容更加具體而獨立;多型 Polymorphism 則是用同樣名稱的方法去定義不同參數下的不同執行內容。

SOLID 設計原則

SOLID 是物件導向下的一種設計原則,每一個英文字母都代表了一項原則。

S(單一功能原則): 每個類別只有一種功能。

O(開放封閉原則): 實體應該是對於擴充開放的,但是對於修改封閉的。

L(里氏替換原則): 子類別應該能夠替換其父類別,而不影響程式正確性,以確保繼承關係的一致性。

I(介面隔離原則): 應該根據需要拆分介面,以避免不必要的依賴。

D(依賴反轉原則): 應該共同依賴於抽象,而非依賴於特定實例,以減少程式間的耦合。

測試

最基礎的測試,應該就是手動測試了吧!自己輸入可能的參數並且查看結果,但你想想,如果某天時過境遷、版本替換了呢? 因此還有以下幾種主要方式:

  1. 單元測試:針對程式中的個別單元進行測試,確保每個單元都能正確運作,通常使用自動化測試工具。
  2. 整合測試:將程式的各個模組整合起來,測試整個系統是否正確運作。
  3. 靜態分析:利用程式碼分析工具對程式碼進行檢查,找出可能存在的問題,例如未宣告變數、未處理異常等。
  4. 動態分析:在執行程式時,使用特殊的工具收集運行時資訊,例如記憶體使用情況、程式執行時間等,以進行檢查。

Cookie、Session跟Cache

這三者都是用於提高Web應用程序性能的技術。

相似處:

都可以用來減少伺服器負載,提高應用程序的效率。

都可以用來提高用戶體驗和安全性。

都可以在客戶端或伺服器端存儲數據。

不同處:

Cookie 通常存儲在客戶端的瀏覽器,可以根據需要設置長時間有效期。

Session 通常存儲在 DB 裡面,可以根據需要設置長時間有效期,通常是儲存較為機密的資訊。

Cache 通常存儲在伺服器的特定地方,讓 request 進來時可以先去該處確認是否有需要的 response,而非每次都去 DB 取資料與處理資料。


第一次的主題就先介紹到這邊,感謝您的收看!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.