2021/06/22

菜鳥救星談程式:基礎工程師面試時,常用的技術問與答(三下)

文、意如老師

續上一篇-菜鳥救星談程式:基礎工程師面試時,常用的技術問與答(三上)

本篇要跟大家分享的是工程師面試筆試中主考官最愛考的題目,也是在業界寫程式一定會要會的觀念及實作。

近年來的網頁請求資料方式、程式的開發風格大多都已經改成RESTful-API,所以在面試時有非常大的機率一定會被問到什麼是REST-API ?

在了解REST-API之前我們必需先了解什麼是API,也就是應用程式介面(接口)的意思。如想要更詳細的了解什麼是API,請先參考文章-什麼是API?為什麼每一個工程師都要會?

簡單的來說我們可以透過一組密碼(API-token)來對後端寫好的API來進行資料庫的存取。

REST-API 與 API 最大差別在於請求的位址,例如:存取會員資料,一定會有註冊新增會員、查詢會員資料、修改會員資料、刪除會員資料。

我們來看一下使用API時請求的位址

基本上看到請求位址(網址)就知道這支API大概要做什麼事情了,對於工程師來講算是方便識別功能,但是對於有心人士,只要在你的網址後面加上一些SQL語法,很有可能你的資料庫就被入侵了。
所以現在大多網頁程式已經充分的利用HTTP所提供的協定,讓請求網址顯示的資訊越少越好,自然就會大大減少被攻擊的機率。

所以若是以REST-API風格來開發時:

你會發現API請求的位址(網址)已經越來越簡單,大家都看起來都一樣,但是其實都在做不一樣的事情,重點在於利用HTTP portocol協定中所的提供的(POST、GET、PUT、DELETE)來幫我們達到對資料庫的操作。

這個就是一般API與REST-API 比較大的差別。

‘‘ 而為什麼現在程式都要改成API/ REST-API模式呢? ‘‘

其實在手機、平板還尚未普及時,程式大多都是在網頁(web端)執行而已,資料庫也只有web端在做存取,所以工程師也只要針對web端的程式開發就好。

但科技進步飛快,近幾年來手機(Android、IOS)越來越普及的狀況下,為了符合市場的需求一支程式必需要提供三種裝置(Web、Android、IOS),來存取資料庫,也就是我們現在看到的API出現,也慢慢演變進步成REST API。

表格3

對於工程師來說,因應現在與未來的趨勢,除了一定要了解什麼是API/Rest-API外,更是要有能力可以去設計API/REST-API,所以這也是面試時必準備的考題之一。

加入菜鳥救星官方Line並回覆「我想看文章」,不定期獲得更多知識吧!

不同頻道,不同知識!

Facebook Instagram Youtube