1. 程式人生 > >面試第二家公司的面試題及答案()

面試第二家公司的面試題及答案()

  1. 一個頁面的組成主要由哪三個部分組成?
    html head body
  2. 一個盒子模型的基本屬性主要有?
    margin padding width height border 等等
  3. 1B = 8 bit
  4. 堆和棧的區別?
    我們都知道:在計算機領域中,堆疊是兩種資料結構,它們只能在一端(稱為棧頂(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請求路由 搜尋引擎 資料分析 檔案服務
最後MVVM是Model-View-ViewModel(模型-檢視-檢視模型)。 優點:
  1. 低耦合。檢視(View)可以獨立於Model變化和修改,一個ViewModel可以繫結到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
  2. 可重用性。你可以把一些檢視邏輯放在一個ViewModel裡面,讓很多view重用這段檢視邏輯。
  3. 獨立開發。開發人員可以專注於業務邏輯和資料的開發(ViewModel),設計人員可以專注於頁面設計,使用Expression Blend可以很容易設計介面並生成xaml程式碼。
  4. 可測試。介面素來是比較難於測試的,而現在測試可以針對ViewModel來寫。