1:CALayer與UIView的區別是什麼?算法
二者最大的區別就是:塗層不會直接渲染到屏幕上;數據庫
UIView是iOS界面元素的基礎,全部界面元素都是繼承於它,他的自己全是由CoreAnimation來實現的;編程
真正的繪圖部分,是有CALayer類來管理的;設計模式
一個UIView上能夠有n個CALayer,每一個layer來顯示一種東西,加強UIView的展示能力。安全
2:GCD服務器
GCD是蘋果公司開發的一個較新的多核編程的解決辦法。網絡
GCD是一個能夠替代諸如NSThread等技術的很高效和強大的技術,徹底能夠處理如數據鎖定和資源泄露等複雜的異步編程問題。數據結構
3:TCP和UDP異步
TCP:(傳輸控制協議),提供面向鏈接的、可靠地點對點的通訊;socket
UDP:(用戶數據報協議),提供非鏈接的不可靠的點對多點的通訊;
實際運用中,看程序注重的是哪一方面,是可靠仍是快速;
4:socket鏈接與http鏈接
http鏈接:短鏈接。即客戶端向服務端發送一次請求,服務端響應以後,連接即會斷掉;
socket鏈接:長鏈接。即客戶端一旦與服務器創建接連,便不會主動斷掉。
5:TCP的三次握手
第一次握手:客戶端發送syn(syn=j)包到服務器,並進入syn_send狀態,等待服務器進行確認;
第二次握手:服務器收到客戶端的syn包,必須確認客戶的SYN(ack = j + 1),同時本身也發送一個SYN包(syn = k),即SYN + ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶收到服務器發送的SYN+ACK包以後,向服務器發送確認包(ACK = k + 1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成第三次握手。
6:iOS中對象之間有哪些通信方式?
代理 Block 通知 KVO
7:http協議的特色,GET POST 請求,以及https協議
http短鏈接,客戶端主動發送請求,服務器作出響應,服務器相應以後,鏈接斷開。GET 請求沒有請求體,POST請求有請求體。
https:安全超文本傳輸協議。基於HTTP開發,用戶在客戶計算機與服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來講就是HTTP的安全版。
8:XML與JSON數據解析
XML:DOM和SAX解析
DOM解析必須完成DOM樹的構造,在處理規模較大的XML文件時很好內存,佔用資源較多
SAX解析是用事件驅動模型,解析XML的時候每遇到一個XML開始或者結束標籤、屬性或者一條指令,程序就產生一個相應的事件來進行相應的處理。SAX相對於DOM來講更適合處理較大的文檔。
JSON:JSONKit、系統自帶
9:TableView複用 設計模式
單例 組合設計模式 UIButton設計模式
10:數據存儲
偏好設置 Plist文件 Sqlite數據庫 CoreDate
11:斷點續傳如何實現的?
12:Core內容:CoreAnimation、CoreGraphics,分別使用CA或者CG作過什麼樣的動畫或者圖像上的內容?
13:NSOperationQueue、GCD
14:算法:冒泡排序、二分法、數據結構(鏈表、二叉樹、算法時間複雜度、空間複雜度),操做系統,網絡知識。