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

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

更新於 發佈於 閱讀時間約 2 分鐘

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

物件導向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 取資料與處理資料。


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

avatar-img
林柏宇的沙龍
2會員
42內容數
test
留言
avatar-img
留言分享你的想法!
林柏宇的沙龍 的其他內容
本文詳細介紹了 RabbitMQ 的基本概念、架構以及其在現代系統中的重要性。RabbitMQ 作為一套開源的訊息佇列服務,旨在有效管理通訊流,增強系統穩定性和擴展性。透過描述佇列、交換器及消費者等核心組件的功能,並探討其在微服務和事件驅動架構中的應用。
JWT(JSON Web Token)是基於 JSON 格式的開放標準,主要用於身份驗證與權限確認。本文介紹了JWT的基本結構,並闡述其特點,如降低資料庫壓力、靈活性及無狀態性。JWT 特別適用於分佈式系統。本篇將協助讀者深入理解 JWT 的重要性與實際應用。
本文介紹了容器的基本概念、組成部分以及其在應用開發中的重要性,特別是對初階和高階工程師的影響。透過深入探討容器的優點,以及Docker、Kubernetes和ArgoCD等相關技術,幫助讀者理解容器化的應用與管理,進而簡化開發過程並提高效率。適合對容器技術感興趣的開發者從零開始學習與掌握。
本文詳細介紹了 RabbitMQ 的基本概念、架構以及其在現代系統中的重要性。RabbitMQ 作為一套開源的訊息佇列服務,旨在有效管理通訊流,增強系統穩定性和擴展性。透過描述佇列、交換器及消費者等核心組件的功能,並探討其在微服務和事件驅動架構中的應用。
JWT(JSON Web Token)是基於 JSON 格式的開放標準,主要用於身份驗證與權限確認。本文介紹了JWT的基本結構,並闡述其特點,如降低資料庫壓力、靈活性及無狀態性。JWT 特別適用於分佈式系統。本篇將協助讀者深入理解 JWT 的重要性與實際應用。
本文介紹了容器的基本概念、組成部分以及其在應用開發中的重要性,特別是對初階和高階工程師的影響。透過深入探討容器的優點,以及Docker、Kubernetes和ArgoCD等相關技術,幫助讀者理解容器化的應用與管理,進而簡化開發過程並提高效率。適合對容器技術感興趣的開發者從零開始學習與掌握。