1. 程式人生 > >面試筆記(1)

面試筆記(1)

面試幾個沒回答上來的問題

TCP與Http的區別與聯絡

TCP對應與傳輸層,而HTTP對應於應用層,從本質上說二者沒有對比性。HTTP是建立在TCP協議的基礎上每次Http請求都會建立一個TCP連線,資料傳輸完畢後,Http會立即把TCP連線斷開。所以HTTP是一種短連線,而TCP是長連線。

NGUI與UGUI對比

我對NGUI沒有什麼研究,在網路上面查找了一些資料發現也不夠深入都是自適應方案、以及一部分元件的區別或者是對圖集的支援等,感覺這些不是面試官真正要考察的方面。以下是一些猜想,不對這些猜想負責。
NGUI與UGUI真正底層的區別是NGUI的一個顯示單位是一個Panel在Panel內進行DrawCall合併,而UGUI的顯示單位是一個Canvas,Canvas會對它管理的Graphic們進行Mesh重建和合並等一系列操作在傳送到GPU端。我認為這種顯示方式的區別才是NGUI與UGUI真正的區別。如有錯誤,希望瞭解的朋友不吝賜教。

頂點著色器和片元著色器分別對應渲染管線的哪一部分

首先我們來看下OpengGL中渲染管線:
頂點資料→頂點著色器→細分著色→幾何著色→圖元裝配→剪下→光柵化→片元著色器→逐片元操作(深度檢查、模板檢測等)

頂點著色器:每個頂點,都會呼叫一個頂點著色器處理頂點相關的資料,可能會執行大量計算得到頂點在螢幕上的位置,或者通過光照的計算來判斷頂點的顏色,或者其他一些技法的實現。

片元著色器:這個階段我們使用著色器來計算片元的最終顏色和它的深度值
分工:頂點著色決定圖元位於螢幕的什麼位置,片元著色使用這些資訊來決定某個片元的顏色應該是什麼