面試技術(shù)攻克-iOS開發(fā)基礎(chǔ)

一眼耀、開發(fā)環(huán)境

1、什么是LLVM和Clang佩憾?

LLVM 全稱 Low Level Virtual Machine 哮伟,底層虛擬機(jī),
宏觀:LLVM不僅是一個編譯器或者虛擬機(jī)妄帘,它是一個眾多編譯器工具及低級工具技術(shù)的統(tǒng)稱楞黄,包含一個前端、優(yōu)化器抡驼、后端以及眾多函數(shù)庫和模板鬼廓。
微觀:可以看做后端編譯器,前端編譯器為Clang致盟。

Clang是一個有C++編寫的編譯器前端碎税,能夠編譯C、C++勾邦、Objc等高級語言蚣录,屬于LLVM的一部分。主要用于詞法分析眷篇、語法分析萎河、語義分析、生成中間代碼蕉饼。


IMG_2028.JPG

2虐杯、Clang與GCC有什么區(qū)別?

(1)Clang比Gcc編譯用時更短
(2)Clang比Gcc占用內(nèi)存更小
(3)Clang生成的中間產(chǎn)物比Gcc更小
(4)Clang錯誤提示比Gcc更友好
(5)Clang有靜態(tài)分析昧港,Gcc沒有
(6)Clang從開始就被設(shè)計為API擎椰,允許代碼分析工具和IDE集成
(7)Gcc比Clang支持更多語言和平臺

3、Clang如何使用创肥?

Clang功能非常強(qiáng)大达舒,可以通過Clang觀察到編譯器運(yùn)行的幾個階段:
(1)詞法分析
(2)語法分析
(3)生成抽象語法樹(AST)
(4)生成中間代碼(IR)
(5)編譯器優(yōu)化
(6)生成目標(biāo)文件
(7)運(yùn)行目標(biāo)文件
經(jīng)常使用Clang將Objc代碼轉(zhuǎn)化成C++代碼:

clang -rewrite-objc main.m//將oc->c++

4、Xcode項目中target和scheme的區(qū)別是什么叹侄?

target包含了所有的源文件巩搏,決定編譯那些文件,一個project可以包含一個或者多個target趾代。
scheme定義了一個target集合贯底,決定運(yùn)行和構(gòu)建哪個target。

5撒强、CocoaPods的工作原理是什么禽捆?

(1)通過建立podfile文件笙什,指定第三方庫
(2)使用pod install安裝框架
(3)第三方框架被編譯為libpods.a的靜態(tài)庫,主項目依賴這個靜態(tài)庫

二胚想、常用框架

1琐凭、Cocoa,F(xiàn)oundation和UIKit的區(qū)別是什么浊服?

Cocoa是一個框架集合淘正,包含了眾多子框架,其中最核心的兩個框架就是Foundation和UIKit臼闻。
Foundation是最常用的基礎(chǔ)框架鸿吆,包含了數(shù)據(jù)類型,枚舉述呐,結(jié)構(gòu)體等所有與UI界面沒有直接關(guān)系的類惩淳,這些類的根類為NSObject,所以使用“NS”作為前綴乓搬。
UIKit是簡歷在Foundation框架上的思犁,用于界面繪制和管理界面的框架,提供一系列的類來管理用戶界面进肯、事件捕捉激蹲、圖形繪制、屏幕觸碰等接口江掩。使用“UI”作為前綴学辱。


IMG_2029.JPG

2、Cocoa环形,F(xiàn)oundation和UIKit的區(qū)別是什么策泣?

Foundation是最常用的基礎(chǔ)框架,包含了抬吟,數(shù)據(jù)類型萨咕、枚舉、結(jié)構(gòu)體等與UI無關(guān)的類火本,常見類:NSString危队,NSArray。钙畔。茫陆。是由Objective-C實(shí)現(xiàn)的。
Core Foundation是從Foundation框架派生出來的刃鳄,由C語言實(shí)現(xiàn)的框架盅弛。常見類:CFString钱骂,CFArray叔锐。挪鹏。。
兩套框架具有相同的功能愉烙,提供了兩套接口讨盒,只是實(shí)現(xiàn)語言不一樣。兩者之間可以通過 __bridge,__bridge_transfer,__bridge_retain等關(guān)鍵字來轉(zhuǎn)換橋接步责。
為什么有兩套返顺。主要是為了易于實(shí)現(xiàn)跨平臺開發(fā)和支持開發(fā)國際化。

三蔓肯、其他

1遂鹊、什么是懶加載(lazy loading)?

懶加載有成為“延遲加載”蔗包,核心思想就是把對象的實(shí)例化延遲到真正調(diào)用該對象時進(jìn)行秉扑,好處是減輕大量對象在實(shí)例化時對資源的消耗,而不是在程序初始化時就預(yù)先將對象實(shí)例化调限。另外舟陆,懶加載可以將實(shí)例化代碼從初始化函數(shù)中獨(dú)立出來,提高代碼可讀性耻矮,以便于代碼更好的被組織秦躯。

2、iOS中動態(tài)庫和靜態(tài)庫的區(qū)別是什么裆装?

(1)存在形式上:靜態(tài)庫已.a或者.framework為文件后綴踱承,動態(tài)庫以.dylib或者.framework為文件后綴。
(2)使用區(qū)別上:靜態(tài)庫鏈接時哨免,被完整的復(fù)制到可執(zhí)行文件中勾扭,動態(tài)庫鏈接時,不復(fù)制铁瞒,程序運(yùn)行時由系統(tǒng)動態(tài)加載到內(nèi)存妙色,供程序調(diào)用,當(dāng)多個程序共同調(diào)用時慧耍,只加載一次身辨,以節(jié)省內(nèi)存開銷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芍碧,一起剝皮案震驚了整個濱河市煌珊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泌豆,老刑警劉巖定庵,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡蔬浙,警方通過查閱死者的電腦和手機(jī)猪落,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畴博,“玉大人笨忌,你說我怎么就攤上這事【悴。” “怎么了官疲?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亮隙。 經(jīng)常有香客問我途凫,道長,這世上最難降的妖魔是什么溢吻? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任颖榜,我火速辦了婚禮,結(jié)果婚禮上煤裙,老公的妹妹穿的比我還像新娘掩完。我一直安慰自己,他們只是感情好硼砰,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布且蓬。 她就那樣靜靜地躺著,像睡著了一般题翰。 火紅的嫁衣襯著肌膚如雪恶阴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天豹障,我揣著相機(jī)與錄音冯事,去河邊找鬼。 笑死血公,一個胖子當(dāng)著我的面吹牛昵仅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播累魔,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼摔笤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了垦写?” 一聲冷哼從身側(cè)響起吕世,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梯投,沒想到半個月后命辖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體况毅,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年尔艇,在試婚紗的時候發(fā)現(xiàn)自己被綠了尔许。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡漓帚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出午磁,到底是詐尸還是另有隱情尝抖,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布迅皇,位于F島的核電站昧辽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏登颓。R本人自食惡果不足惜搅荞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望框咙。 院中可真熱鬧咕痛,春花似錦、人聲如沸喇嘱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽者铜。三九已至腔丧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間作烟,已是汗流浹背愉粤。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拿撩,地道東北人衣厘。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像压恒,于是被迫代替她去往敵國和親头滔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容