iOS面試題5

1.遠程推送原理是什么???

由App向iOS設備發送一個注冊通知?

iOS向APNs遠程推送服務器發送App的Bundle Id和設備的UDID?

APNs根據設備的UDID和App的Bundle Id生成deviceToken再發回給App?

App再將deviceToken發送給遠程推送服務器(商家自己的服務器), 由服務器保存在數據庫中?

當商家想發送推送時, 在遠程推送服務器中輸入要發送的消息并選擇發給哪些用戶的deviceToken,由遠程推送服務器發送給APNs?

APNs根據deviceToken發送給對應的用戶?

2. http和scoket通信的區別???

socket連接相關庫,TCP,UDP的連接方法,HTTP的幾種常用方式??

http和scoket通信的區別: http是客戶端用http協議進行請求,發送請求時候需要封裝http請求頭,并綁定請求的數據,服務器一般有web服務器配 合(當然也非絕對)。 http請求方式為客戶端主動發起請求,服務器才能給響應,一次請求完畢后則斷開連接,以節省資 源。服務器不能主動給客戶端響應(除非采取http長連接技術)。iphone主要使用類是NSUrlConnection。?

scoket是客戶端跟服務器直接使用socket“套接字”進行連接,并沒有規定連接后斷開,所以客戶端和服務器可以保持連 接通道,雙方都可以主動發送數據。一般在游戲開發或股票開發這種要求即時性很強并且保持發送數據量比較大的場合使 用。主要使用類是CFSocketRef。?

UDP:是用戶數據報協議:主要用在實時性要求高以及對質量相對較弱的地方,但面對現在高質量的線路不是容易丟包除非 是一些擁塞條件下 ,如流媒體??

TCP:是傳輸控制協議:是面連接的,那么運行環境必然要求其可靠性不可丟包有良好的擁塞控制機制如http ftp telnet 等??

http的常用方式:get,post??

3. #import、#include和@class有什么區別??

@class一般用于頭文件中需要聲明該類的某個實例變量的時候用到,它只是聲明了一個類名,關于這個類的內部實現都沒 有告訴編譯器,在m文件中還是需要使用#import。??

而#import比起#include的好處就是不會引起交叉編譯。??

4. 舉出5個以上你所熟悉的ios sdk庫有哪些和第三方庫有哪些??

ios-sdk:Foundation.framework,CoreGraphics.framework,UIKit.framework, MediaPlayer.framework, CoreAudio.framework?

第三方庫: 1.json編碼解碼;2.ASIHTTPRequest等相關協議封裝;3.EGORefreshTableHeaderView下拉刷新代 碼;4.AsyncImageView 異步加載圖片并緩存;5.SDWebImage——簡化網絡圖片處理??

5. ViewController的 loadView, viewDidLoad,viewWillAppear,viewDidUnload,dealloc、init分別是在什么時 候調用的?在自定義ViewController的時候這幾個函數里面應該做什么工作???

1、viewDidLoad 此方法只有當view從nib文件初始化的時候才被調用?

2、viewDidUnload當系統內存吃緊的時候會調用該方法,在該方法中將所有IBOutlet(無論是property還是實例變量) 置 為nil(系統release view時已經將其release掉了)在該方法中釋放其他與view有關的對象、其他在運行時創建(但 非系統必須)的對象、在viewDidLoad中 被創建的對象、緩存數據等 release對象后,將對象置為nil(IBOutlet只需要 將其置為nil,系統release view時已經將其release掉了) dealloc方法,viewDidUnload和dealloc方法沒有關聯,dealloc還是繼續做它該做的事情流程應該是這樣:(loadView/nib文件)來加載view到內存 -->viewDidLoad函數進一步初始化這些view -->內存不足時,調用 viewDidUnload函數釋放views -->當需要使用view時有回到第一步如此循環??

4、viewWillAppear方法,視圖即將過渡到屏幕上時調用,(一般在返回需要刷新頁面時,我都選擇使用代理,所以很少用到)?

5、viewWillDisappear方法,這個A->B之后,A在B之后的操作

iOS 面試題1

iOS 面試題2

iOS 面試題3

iOS 面試題4

iOS 面試題6

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。