2021/06/09

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

文、意如老師

續上一篇 — 基礎工程師面試時,常用的技術問與答(二)

本篇要跟大家分享的是工程師面試筆試中最常出現的題型程式應用篇,這個方向類的主題會落在工作上較偏向觀念理論實作及實際應用

Q1、什麼是GET跟 POST?

這題是基礎工程師的必考題,所以務必徹底理解這兩種HTTP 協議的請求方式,這裡我們分成3小題
1. 如何送參數?
2. 傳遞時該如何選擇GET或POST?
3. 安全性如何?

Photo credit:Pixabay

1. 如何使用GETPOST傳送參數?

使用GET方法送只要在網址(URL)後面代入參數即可。

例如: 網址後面加上問號(?),參數1=值1 ,再使用連結符號 (&) ,再帶入參數2=值2,如 xxxxx.com.tw?name=’1’ & age=’18’

而POST方法是需要把參數放在HTTP 協議裡BODY中。

 

2. 傳遞時該如何選擇GETPOST

因為GET 是在URL中傳送資料(參數),屬於明碼大家都看的到,類似較隱蔽的資料例如:帳號、密碼這類的資料就不能使用GET方式來送,另外一點URL 的最大長度是 2048 個字符,所以當您的資料超過2048個字時也不能使用網址(GET)來傳送,所以很好判斷您該選擇GET方式傳送或POST方式傳送。

 

3. GETPOST安全性如何?

以大部分的文章、或使用者經驗,大多會認為POST 傳輸方式會比GET傳輸方式來的安全,因為POST 傳輸的參數一般是不可見的。

‘‘ 但POST傳輸就真的安全嗎? ’’

其實並不,如真有心想要抓取你POST傳輸的封包在解碼,也是可以獲取你所送出的資料,那要怎麼做到完全安全性?
以目前的技術來說HTTPS是可以最安全的傳輸數據資料,使用HTTP 傳輸基本上都要考慮到資安的問題,所以看到這裡你可以開啟瀏覽器看看您的網址列,目前的網站是使用HTTP 還是 HTTPS 開頭的,你就可以知道這個網站在送資料時安不安全了。

Photo credit:Pixabay

Q2、什麼是MVC架構

簡單來說:資料(Model)、畫面(View)和邏輯(Controller),傳統程式寫法都是一頁到底,也就是抓資料、呈現畫面、程式邏輯通通寫在同一頁同一個檔案中,雖然程式一樣是在執行,但是我們想想長遠一下,你的程式會需要維護,也有可能是別的工程師在維護,當程式不幸遇到問題時,如維護時看到全都絞再一起的程式碼,這時候選擇重寫或許還比較快。

所以後期在寫程式時,不論是JAVA、PHP、PYTHON等等程式語言已經開始發展MVC架構,也就是將所有的地方全部拆開來。

MVC中的M = 在MODEL 區域中,只允許到資料庫裡面取資料。
MVC中的C = 在Controller區域中,只允許處理程式邏輯,例如抓取M 傳回來的資料看要怎麼處理都是C 這邊搞定。
MVC 中的V = 在View 區域中,負責的是畫面的呈現。


所以程式一開始會寫在 C,C會到 M 取資料,M取完資料丟回 C 處理,C處理完後丟到V顯示資訊。

以上就是基礎MVC的架構,每一種語言已經都有MVC架構只不過語法稍微略有不同,但原理都一樣,所以這也是基礎工程師必問的考題之一。

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

不同頻道,不同知識!

Facebook Instagram Youtube