面試題

1.實現(xiàn)一個冒泡排序或者快速排序

intarray[5] = { 28,27,36,45,8};

for (int i = 0; i < 4; i++) {

for(int j = 0; j < 4; j++) {

if (array[j] > array [j + 1]){

int temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

}}}

for(int i = 0; i < 5; i++) {

printf("%d\n",array[i]);}

2.iOS平臺怎么做數(shù)據(jù)的持久化?coredata和sqlite有無必然聯(lián)系?coredata是一個關系型數(shù)據(jù)嗎?

core data是對sqlite的封裝亚铁,因為sqlite是c語言的api措译,然而有人也需要obj-c的api,所以有了core data ,另外来累,core data不僅僅是把c的api翻譯成oc的api没隘,還提供了一些管理的功能懂扼,使用更加方便。

?App升級之后數(shù)據(jù)庫字段或者表有更改會導致crash右蒲,CoreData的版本管理和數(shù)據(jù)遷移變得非常有用微王,手動寫sql語句操作還是麻煩一些。

?CoreData不光能操縱SQLite品嚣,CoreData和iCloud的結合也很好,如果有這方面需求的話優(yōu)先考慮CoreData钧大。

?CoreData并不是直接操縱數(shù)據(jù)庫翰撑,比如:使用CoreData時不能設置數(shù)據(jù)庫的主鍵,目前仍需要手動操作啊央。

3.Object-c的類可以多重繼承么?可以實現(xiàn)多個接口么?category是什么?重寫一個類的方式用繼承好還是分類好?為什么?

答: Object-c的類不可以多重繼承眶诈;可以實現(xiàn)多個接口,通過實現(xiàn)多個接口可以完成C++的多重繼承瓜饥;Category是類別逝撬,一般情況用分類好,用Category去重寫類的方法乓土,僅對本Category有效宪潮,不會影響到其他類與原有類的關系。

4.#import跟#include有什么區(qū)別,@class呢?#import<>跟#import””有什么區(qū)別?

答: #import是Objective-C導入頭文件的關鍵字趣苏,#include是C/C++導入頭文件的關鍵字,使用#import頭文件會自動只導入一次狡相,不會重復導入,相當于#include和#pragma once食磕;@class告訴編譯器某個類的聲明尽棕,當執(zhí)行時,才去查看類的實現(xiàn)文件彬伦,可以解決頭文件的相互包含滔悉;#import<>用來包含系統(tǒng)的頭文件,#import””用來包含用戶頭文件单绑。

5.屬性readwrite,readonly,assin,retain,copy,nonatomic各是什么作用,在哪種情況下用?

答: readwrite是可讀可寫特性回官;需要生成getter方法和setter方法時

readonly是只讀特性只會生成getter方法不會生成setter方法;不希望屬性在類外改變

assign是賦值特性,setter方法將傳入?yún)?shù)賦值給實例變量询张;僅設置變量時孙乖;

retain表示持有特性,setter方法將傳入?yún)?shù)先保留,再賦值唯袄,傳入?yún)?shù)的retaincount會+1;

copy表示拷貝特性弯屈,setter方法將傳入對象復制一份;需要完全一份新的變量時恋拷。

nonatomic非原子操作资厉,決定編譯器生成的setter

getter是否是原子操作,atomic表示多線程安全蔬顾,一般使用nonatomic

6.什么情況下使用關鍵字weak和assign有何不同?

答:assign指針賦值,不對引用計數(shù)操作,使用之后如果沒有置為nil,可能就會產(chǎn)生野指針;而weak一旦不進行使用后,永遠不會使用了,就不會產(chǎn)生野指針!

7.簡述CALayer和UIView的關系

答:UIView和CALayer是相互依賴的關系宴偿。UIView依賴與calayer提供的內(nèi)容,CALayer依賴uivew提供的容器來顯示繪制的內(nèi)容诀豁。歸根到底CALayer是這一切的基礎窄刘,如果沒有CALayer,UIView自身也不會存在舷胜,UIView是一個特殊的CALayer實現(xiàn)彩库,添加了響應事件的能力卵酪。UIView來自CALayer辱魁,高于CALayer喧枷,是CALayer高層實現(xiàn)與封裝。UIView的所有特性來源于CALayer支持沮焕。

8.KVO的實現(xiàn)原理?

答:KVO:當指定的對象的屬性被修改了吨岭,允許對象接收到通知的機制。

9.如何給一個對象的私有屬性賦值?

答:利用KVC即鍵值編碼來給對象的私有屬性賦值.

10.block的本質(zhì)是什么?為啥在block里面更改外面變量的值,要給外面的變量加_block修飾,加_block修飾的原理是什么?

答: (1) block本質(zhì)是一個數(shù)據(jù)類型,多用于參數(shù)傳遞,代替代理方法, (有多個參數(shù)需要傳遞或者多個代理方法需要實現(xiàn)還是推薦使用代理方法),少用于當做返回值傳遞. block是一個OC對象,它的功能是保存代碼片段,預先準備好代碼,并在需要的時候執(zhí)行.

(2)因為使用block代碼塊可能會引起內(nèi)部循壞引用,所以應在block定義前加上修飾

11.block在哪種情況下會造成循環(huán)引用,如何解決?

答:(1)從兩方面分析造成循環(huán)引用問題

當self擁有一個block的時候峦树,在block又調(diào)用self的方法(或者self所擁有的某個屬性)辣辫。形成你中有我,我中有你魁巩,這種時候會造成循環(huán)引用

把某個實例變量變成本地臨時變量,強引用將直接指向這個本地臨時變量,但本地臨時變量一般都會很快釋放,所以一般考慮第一種情況

(2)解決方案:對block進行修飾__weak(arc)或__block(mrc)

12.NSRunLoop的實現(xiàn)機制,及在多線程中如何使用?

答案:NSRunLoop是iOS的消息機制的處理模式

>1NSRunloop的主要作用:控制runloop里面線程的執(zhí)行和休眠,在有事情做的時候使擋墻NSRunloop控制的線程工作,沒有事情做讓當前runloop的控制線程休眠.

>2.runloop就是一直在循環(huán)檢測,從線程start到線程end,檢測inputsourse(如點擊,雙擊等操作)異步時間,檢測timesourse同步事件,見到檢測到輸入源會執(zhí)行處理函數(shù)络它,首先會產(chǎn)生通知,corefunction向線程添加runloop?observers來監(jiān)聽事件歪赢,意在監(jiān)聽事件發(fā)生時來做處理化戳。

>3.runloopmode是一個集合,包括監(jiān)聽:事件源埋凯,定時器点楼,以及需通知的runloop?observers

13.簡述視圖控制器的生命周期。

1)白对、init函數(shù)(init;initWithFrame;initWithCoder;等)--初始化

2)掠廓、awakeFromNib--在loadView之前的工作放在這里

3)、viewDidLoad甩恼,一個ViewController一個生命周期內(nèi)這個函數(shù)只會調(diào)用一次

4)蟀瞧、viewWillAppear--view將要出現(xiàn)沉颂,每次View消失再出現(xiàn)都會調(diào)用

5)、viewWillLayoutSubviews--簡要對子試圖進行布局

6)悦污、viewDidLayoutSubivews--完成對子試圖布局

7)铸屉、viewDidAppear--視圖將要出現(xiàn)在屏幕上

8)、viewWillDisappear--View將要消失

9)viewDidDisappear--View已經(jīng)消失

14.如何增強iOS應用程序的性能切端。

1)彻坛、使用ARC進行內(nèi)存管理、2).在適當?shù)那闆r下使用reuseIdentifier

3).盡可能將View設置為不透明(Opaque)4.避免臃腫的XIBs 5.不要阻塞主線程6.讓圖片的大小跟UIImageView一樣7.選擇正確的集合8.使用GZIP壓縮

9.重用和延遲加載View 10.緩存踏枣、緩存昌屉、緩存11.考慮繪制12.處理內(nèi)存警告13.重用花銷很大的對象14.使用Sprite 15.避免重新處理數(shù)據(jù)16.選擇正確的數(shù)據(jù)格式17.設置適當?shù)谋尘皥D片18.降低Web內(nèi)容的影響19.設置陰影路徑20.優(yōu)化TableView 21.選擇正確的數(shù)據(jù)存儲方式

15.請介紹幾個常用的git命令。

git branch查看本地所有分支茵瀑、git status查看當前狀態(tài)间驮、git commit提交、git branch -a查看所有的分支马昨、git

branch -r查看本地所有分支

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜻牢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子偏陪,更是在濱河造成了極大的恐慌,老刑警劉巖煮嫌,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笛谦,死亡現(xiàn)場離奇詭異,居然都是意外死亡昌阿,警方通過查閱死者的電腦和手機饥脑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懦冰,“玉大人灶轰,你說我怎么就攤上這事∷⒏郑” “怎么了笋颤?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長内地。 經(jīng)常有香客問我伴澄,道長,這世上最難降的妖魔是什么阱缓? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任非凌,我火速辦了婚禮,結果婚禮上荆针,老公的妹妹穿的比我還像新娘敞嗡。我一直安慰自己颁糟,他們只是感情好,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布喉悴。 她就那樣靜靜地躺著棱貌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粥惧。 梳的紋絲不亂的頭發(fā)上键畴,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機與錄音突雪,去河邊找鬼起惕。 笑死,一個胖子當著我的面吹牛咏删,可吹牛的內(nèi)容都是我干的惹想。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼督函,長吁一口氣:“原來是場噩夢啊……” “哼嘀粱!你這毒婦竟也來了?” 一聲冷哼從身側響起辰狡,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤锋叨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宛篇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娃磺,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年叫倍,在試婚紗的時候發(fā)現(xiàn)自己被綠了偷卧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡吆倦,死狀恐怖听诸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蚕泽,我是刑警寧澤晌梨,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站须妻,受9級特大地震影響派任,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜璧南,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一掌逛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧司倚,春花似錦豆混、人聲如沸篓像。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽员辩。三九已至,卻和暖如春鸵鸥,著一層夾襖步出監(jiān)牢的瞬間奠滑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工妒穴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宋税,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓讼油,卻偏偏與公主長得像杰赛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子矮台,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

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

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,167評論 30 470
  • 之前看了很多面試題乏屯,感覺要不是不夠就是過于冗余,于是我將網(wǎng)上的一些面試題進行了刪減和重排瘦赫,現(xiàn)在分享給大家辰晕。(題...
    Job_Yang閱讀 12,104評論 12 143
  • 轉:http://www.cocoachina.com/programmer/20151019/13746.htm...
    Style_偉閱讀 1,315評論 0 3
  • 圖片來自似水若煙的手機拍攝 端午過后含友,真正進入夏天。 在此之前蝉娜,不管溫度如何攀升,那風依然是涼的扎唾;五月節(jié)后召川,那風才...
    似水若煙閱讀 333評論 0 1
  • 已近四月的北方,還不是太溫暖清明還未到胸遇,春寒依舊那么執(zhí)著的堅守荧呐,像是在傾訴著什么,我卻無從了解…… 太陽隔著玻...
    yiluxiangban閱讀 126評論 0 0