1.客戶端安全處理方式sql
1> 網絡數據傳輸(敏感數據[帳號\密碼\消費數據\銀行卡帳號], 不能明文發送)數據庫
2> 協議的問題(自定義協議, 遊戲代練)json
3> 本地文件存儲(遊戲的存檔)xcode
4> 源代碼安全
2.sip 是什麼服務器
1> SIP(Session Initiation Protocol),會話發起協議網絡
2> SIP是創建VOIP鏈接的 IETF 標準,IETF是全球互聯網最具權威的技術標準化組織多線程
3> 所謂VOIP,就是網絡電話,直接用互聯網打電話,不用耗手機話費架構
3. 有些圖片加載的比較慢怎麼處理?你是怎麼優化程序的性能的?app
1> 圖片下載放在異步線程
2> 圖片下載過程當中使用佔位圖片
3> 若是圖片較大,能夠考慮多線程斷點下載
4. 你實現過一個框架或者庫以供別人使用麼?若是有,請談一談構建框架或者庫時候的經驗;若是沒有,請設想和設計框架的public的API,並指出大概須要如何作、須要注意一些什麼方面,來使別人容易地使用你的框架。
1> 提供給外界的接口功能是否實用、夠用
2> 別人使用個人框架時,能不能根據類名、方法名就猜出接口的具體做用
3> 別人調用接口時,提供的參數是否夠用、調用起來是否簡單
4> 別人使用個人框架時,要不要再導入依賴其餘的框架
5. App須要加載超大量的數據,給服務器發送請求,可是服務器卡住瞭如何解決?
1> 設置請求超時
2> 給用戶提示請求超時
3> 根據用戶操做再次請求數據
6. 利用NSNotificationCenter(通知中心)實現跨多控制器傳輸數據和消息中用同步仍是異步?
同步:主線程;異步:能夠執行比較耗時的操做
7. 如何編寫xml(怎麼解析、怎麼生成)
生成:(直接方法:拼接)
1 -(void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 NSMutableString * xml = [NSMutableString string]; 5 [xml appendString:@"<person>"]; 6 [xml appendString:@"</person>"]; 7 [xml r]; 8 }
8.地圖導航不能用了怎麼辦
提示用戶打開導航定位功能
9.SDWebImage具體如何實現
1> 利用NSOperationQueue和NSOperation下載圖片, 還使用了GCD的一些函數(解碼GIF圖片)
2> 利用URL做爲key,NSOperation做爲value
3> 利用URL做爲key,UIImage做爲value
10.AFN 與 ASI 有什麼區別(都是 HTTP 請求框架)(ASI中止更新)
1> AFN基於NSURL,ASI基於底層的CFNetwork框架,所以ASI的性能優於AFN
2> AFN採起block的方式處理請求,ASI最初採起delegate的方式處理請求,後面也增長了block的方式
3> AFN只封裝了一些經常使用功能,知足基本需求,直接忽略了不少擴展功能,好比沒有封裝同步請求;ASI提供的功能較多,預留了各類接口和工具供開發者自行擴展
4> AFN直接解析服務器返回的JSON、XML等數據,而ASI比較原始,返回的是NSData二進制數據
11.你在實際開發中,有哪些手機架構與性能調試經驗
1> 剛接手公司的舊項目時,模塊特別多,並且幾乎全部的代碼都寫在控制器裏面,好比UI控件代碼、網絡請求代碼、數據存儲代碼
2> 接下來採起MVC模式進行封裝、重構
l 自定義UI控件封裝內部的業務邏輯
l 封裝網絡請求工具類
l 封裝數據存儲工具類
12. runloop定時源和輸入源
1> 你建立的程序不須要顯示的建立run loop;每一個線程,包括程序的主線程(main thread)都有與之相應的run loop對象, 主線程會自行建立並運行run loop
2> Run loop處理的輸入事件有兩種不一樣的來源:輸入源(input source)和定時源(timer source)
3> 輸入源傳遞異步消息,一般來自於其餘線程或者程序。定時源則傳遞同步消息,在特定時間或者必定的時間間隔發生
13. 大家項目中都用了哪些框架, 及何種開發工具,具體到是哪一個版本,這個版本的特性有哪些???(好比xcode的版本)
1> AFN、SDWebImage、MBProgressHUD等 (搜索: 網易新聞 第三方庫)
2> Xcode 5.0
14. 本身怎麼實現原子鎖
iOS中通常用nonaotomic
15. 運行時的內部實現
16. 即時通信中的大數據處理
用put上傳到文件服務器,而後髮帶url的自定義格式的給對方,對方接收到以後下載
17. json解析的具體實現
1> SBJson
2> JSONKit
3> NSJSONSerialization
18. 若是在網絡數據處理過程當中,發現一處比較卡,通常怎麼解決
1> 檢查網絡請求操做是否被放在主線程了
2> 看看異步請求的數量是否太多了(子線程數量)
3> 數據量是否太大?若是太大,先清除一些沒必要要的對象(看不見的數據、圖片)
4> 手機CPU使用率和內存問題
19. 怎麼介紹一個項目
1> 項目的價值(能夠加些「老闆」關鍵字)
2> 項目的模塊
3> 我作的是哪一個模塊
20. 怎麼解決sqlite鎖定的問題
1> 設置數據庫鎖定的處理函數
int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
2> 設定鎖定時的等待時間
int sqlite3_busy_timeout(sqlite3*, 60); :