亚洲伊人网站-亚洲伊人精品-亚洲伊人电影-亚洲一在线-久久国产一区二区-久久国产一区

高分網 > 答案大全 > 考試答案 > 其它考試試題及答案 >

ios面試題及答案

時間: 炎婷2 其它考試試題及答案

  iOS面試試題及參考答案

  2、 線程和進程的區別和聯系?

  進程和線程都是由操作系統所體會的程序運行的基本單元,系統會利用該基本單元實現系統對應用的并發性。線程和進程的主要差別在于它們是不同的操作系統資源管理方式,進程有獨立的地址空間,一個進程崩潰后,在保護模式下不會對其它進程產生影響,而線程只是一個進程中的不同執行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間,一個線程死掉就等于整個進程死掉,所有多進程的程序要比多線程的程序健壯,但在進程切換時,耗費資源較大,效率要差一些。但對于一些要求同時進行并且又要共享某些變量的并發操作,只能用線程,不能用進程。

  3、 屬性readwrite,readonly,assign,retain,copy,nonatomic各是什么作用,在哪種情況下用?

  1) Readwrite是可讀可寫特性,需要生成getter方法和setter方法時

  2) Readonly是只讀寫特性,只會生成getter方法,不會生成setter方法,不希望屬性在類外改變

  3) Assign是賦值特性,setter方法將傳入參數賦值給實例變量,僅設置變量時

  4) Retain表示持有特性,setter方法將傳入參數先保留,再賦值,傳入參數的retaincount會+1

  5) Copy表示賦值特性,setter方法將傳入對象賦值一份,需要完全一份新的變量時

  6) Nonatomic非原子操作,決定編譯器生成的setter,getter是否是原子操作,atomic表示多線程安全,一般使用nonatomic

  4、 object-c中創建線程的方法是什么,如果在主線程中執行代碼,方法是什么,如果想延時執行代碼,方法又是什么?

  線程創建有三種方法:使用nsthread創建、使用gcd的dispatch創建、使用子類化的nsoperation創建,然后將其加入nsoperationqueue;在主線程執行代碼,方法是performSelectorOnMainThread,如果想延時執行代碼可以用performSelector:onThread:withObject:waitUntilDone

  5、 類別的作用,繼承和類別在實現中有何區別?

  Category可以在不獲悉,不改變原來代碼的情況下往里面添加新的方法,只能添加,不能刪除修改;并且如果類別和原來類中的方法產生沖突,類別將覆蓋原來的方法,因此類別具有更高的優先級;將類的實現分散到多個不同文件或多個不同框架中,創建對私有方法的前向引用,向對象添加非正式協議。繼承可以增加,修改或者刪除方法,并且可以增加屬性

  6、 什么是KVC、KVO?

  Kvc:鍵值編碼是一種間接訪問對象的屬性使用字符串來標識屬性,而不是通過調用存取方法,直接或通過實例變量訪問的機制

  Kvo:鍵值觀察機制,他提供了觀察某一屬性變化的方法,極大的簡化了代碼

  7、 在iphone應用中如何保存數據?

  1) 通過web服務,保存在服務器上

  2) 通過nscoder固化機制,將對象保存在文件中

  3) 通過sqlite或者coredata保存在文件數據庫中

  8、 在項目中什么時候選擇使用gcd,什么時候選擇nsoperation?

  項目中使用nsoperation的優點是對線程的高度抽象,在項目中使用它,會使項目的程序結構更好,子類化nsoperation的設計思路,是具有面向對象的優點,使得實現是多線程支持,而接口簡單,建議在復雜的項目中使用;而gcd的優點是它本身簡單,易用,對于不復雜的多線程操作,會節省代碼量,而block參數的使用,會使代碼更為易懂,建議在簡單項目中使用

  9、 iOS性能優化(初級)

  1) 用ARC管理內存

  2) 在正確的地方使用reuseidentifier

  3) 盡可能使view透明

  4) 避免龐大的xib

  5) 不要block主線程

  6) 在imageviews中調整圖片大小

  7) 選擇正確的collection

  8) 打開zip壓縮

  10、 簡單描述下客戶端的緩存機制?

  1) 緩存可以分為:內存數據緩存、數據庫緩存、文件緩存

  2) 每次想要獲取數據的時侯

  1> 先檢查內存中有無緩存

  2> 在檢查本地有無緩存

  3> 最終發送網絡請求

  4> 講服務器返回的網絡數據進行緩存(內存、數據庫、文件),以便下次讀取

  11、 iOS控制器view的生命周期

  1> init函數——初始化

  2> awakefromnib——在loadview之前的工作放在這里

  3> viewdidload——一個viewcontroller一個生命周期內這個函數只會調用一次

  4> viewwillappear——view將要出現,每次view消失再出現都會調用

  5> viewwilllayoutsubviews——簡要對子視圖進行布局 6> Viewdidlayoutsubviews——完成對子視圖進行布局 7> viewdidappear——視圖將要出現在屏幕上

  8> viewwilldisappear——view將要消失

  9> viewdiddisappear——view已經消失

  看了“ios面試題及答案”的還看了:

1.軟件測試常見面試題及答案

2.管理人員面試題及答案

3.關于事業單位常見的面試題及答案

4.面試問題及答案

5.ios面試技巧

52696 主站蜘蛛池模板: 魏子翔| 梦想建筑师泰国百合剧| 维罗尼卡| 悦时光电影完整版免费观看| 科学试卷可打印(免费)| 曙光初现时的最后阴影 电影| 电影鸭之一族| 电视剧《唐太宗李世民》| 当爱已成往事张国荣| 冷门森系ins冷淡风壁纸| 金马电影网| 《流感》高清在线观看| 思想认识不到位,重视程度不够| 女子露胸| 视频欧美| 胭脂 电视剧| 羽毛球队名诙谐有趣的名字| 生活片一级| 欧若拉公主电视剧国语版全集在线观看| 宇宙刑事夏伊达| 转正意见发言简短| 成年黄色在线观看| 美丽的坏女人中文字幕| 《如此婚姻》大结局| 局外人电影| 卡通男头像| 妈妈妈三| 液氨化学性质| 和风有关的四字成语| 刘浩存个人资料及简介| 部队飞行安全大讨论心得体会| 饥渴寡妇偷汉子视频| 快乐到家| 荒岛大逃亡电影| 色戒在线视频观看| 药不能停| cctv今日说法| 色戒在线观看视频| 卢靖姗老公是谁| 小数加减法100道题| 红海行动2在线观看|