面試第二家公司的面試題及答案()
阿新 • • 發佈:2018-12-02
- 一個頁面的組成主要由哪三個部分組成?
html head body - 一個盒子模型的基本屬性主要有?
margin padding width height border 等等 - 1B = 8 bit
- 堆和棧的區別?
我們都知道:在計算機領域中,堆疊是兩種資料結構,它們只能在一端(稱為棧頂(top))對資料項進行插入和刪除。
堆:佇列優先,先進先出;由作業系統自動分配釋放 ,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。
棧:先進後出;動態分配的空間 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由OS回收,分配方式倒是類似於連結串列。
5.MVC是什麼,分別是什麼?那MVVM呢?
MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:
- Model(模型)表示應用程式核心(比如資料庫記錄列表)。
- View(檢視)顯示資料(資料庫記錄)。
- Controller(控制器)處理輸入(寫入資料庫記錄)。
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是應用程式中用於處理應用程式資料邏輯的部分,通常模型物件負責在資料庫中存取資料。
View(檢視)是應用程式中處理資料顯示的部分,通常檢視是依據模型資料建立的。
Controller(控制器)是應用程式中處理使用者互動的部分,通常控制器負責從檢視讀取資料,控制使用者輸入,並向模型傳送資料。
MVC 分層有助於管理複雜的應用程式,因為您可以在一個時間內專門關注一個方面。例如,您可以在不依賴業務邏輯的情況下專注於檢視設計。同時也讓應用程式的測試更加容易。
MVC 分層同時也簡化了分組開發。不同的開發人員可同時開發檢視、控制器邏輯和業務邏輯。
最簡單的來說就是:
前端 | 後端 | |
M | json xml html資料 等 | 資料庫 檔案等 |
V | 模板引擎 模板片段等 | HTML模板 |
C | JS 業務邏輯 HTTP請求互動(AJAX,JSONP,WEBSOCKET) | HTTP請求路由 搜尋引擎 資料分析 檔案服務 |
- 低耦合。檢視(View)可以獨立於Model變化和修改,一個ViewModel可以繫結到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
- 可重用性。你可以把一些檢視邏輯放在一個ViewModel裡面,讓很多view重用這段檢視邏輯。
- 獨立開發。開發人員可以專注於業務邏輯和資料的開發(ViewModel),設計人員可以專注於頁面設計,使用Expression Blend可以很容易設計介面並生成xaml程式碼。
- 可測試。介面素來是比較難於測試的,而現在測試可以針對ViewModel來寫。