後端軟工常見面試問題 — (一)

經歷過不同的公司面試之後,察覺到在介紹完自己跟熟悉的tool以及工作經驗相關背景,也漸漸抓到面試官們喜歡問的一些問題,尤其是跟自己熟悉的tool有強烈關聯。

一方面是為了考察面試者對於工具的使用熟悉程度之外,也希望透過筆記記錄的方式來加深對於不管是工具還是coding理解程度。

以下是後端工程師面試常碰到的技術問題:

Q1. What is abstraction?

Abstraction可以理解為抽象,也屬於OOP (Object-oriented programming)語言裡四大重要特性之一。

它的特性是:

  • 抽象類別無法建立物件 (Abstract class cannot build an object.)
  • 抽象函數不用來處理方式 (Abstract class does not implement methods.)

用以下的生活例子來做解釋的話,會幫助在看這篇文章的人更容易理解。
在這邊,我創建的抽象類別是Human。那麼透過子類別Asian, 新增了3個不同屬性的特質,分別是姓名(name)、年齡(age)、愛吃的食物(food),然後新創的處理方法為介紹(introduce)。

由於Asian繼承了Human這個父類別的定義以及其抽象方法,所以在main類別裡面新增了兩個人分別為 a1, a2。分別把人名、年齡以及喜歡吃的食物塞入Asian這個物件裡面,那麼再透過introduce這個抽象方法來實踐出來,最後就可以得到以下的輸出結果。

--

--

👨‍💻

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store