面試題

面試題總結(jié)

1飞崖、算法問題,鏈表反轉(zhuǎn)谨胞、二分搜索固歪、深度搜索、廣度搜索胯努、常見算法 時(shí)間復(fù)雜度(大 O 表示)

2牢裳、OC相關(guān)

2.1、Block 在內(nèi)存中位置叶沛、原理蒲讯、在Block內(nèi)部可否修改局部變量、如果不能修改為什么灰署,能否修改全局變量判帮,可以修改為什么局嘁、還有靜態(tài)變量,全局靜態(tài)變量能否修改

2.1脊另、GCD與Nsoperation應(yīng)用場(chǎng)景导狡,有什么區(qū)別,Gcd group偎痛、dispatch_barrier_async、dispatch_semaphore用法

2.2独郎、深淺拷貝的區(qū)別踩麦,對(duì)可變對(duì)象執(zhí)行 copy 和 不可變對(duì)象 執(zhí)行? copy有什么區(qū)別,strong 為什么不可以用來修飾 可變屬性氓癌,對(duì)一個(gè)數(shù)組 執(zhí)行 mutableCopy 后谓谦,復(fù)制后新數(shù)組里面的元素是深拷貝,還是淺拷貝

2.3贪婉、對(duì)網(wǎng)絡(luò)層 做過哪些事情反粥,優(yōu)化、H5 與 native 交互疲迂、http 與 Tcp才顿、Udp、Socket區(qū)別尤蒿,常用加密算法有哪些

2.4郑气、有沒有閱讀過第三方源碼、比如 說說 SDWebimage 原理

2.5腰池、對(duì)項(xiàng)目做過哪些性能優(yōu)化尾组、包括優(yōu)化列表滑動(dòng)速度、優(yōu)化 CPU示弓、內(nèi)存 占用率讳侨、線上崩潰統(tǒng)計(jì)分析、優(yōu)化包大小

2.6 奏属、常用設(shè)計(jì)模式跨跨、代理、Block拍皮、通知中心歹叮、在你項(xiàng)目中的應(yīng)用場(chǎng)景、分別有什么區(qū)別呢

2.7铆帽、了解過 MVVM嗎 咆耿? 了解過,講講項(xiàng)目中應(yīng)用爹橱,沒有了解過萨螺、你對(duì) 降低代碼 耦合度,提高代碼復(fù)用、做過哪些嘗試

2.8慰技、常用動(dòng)畫UIview動(dòng)畫椭盏,Basic動(dòng)畫的用法

2.9、怎么保證數(shù)據(jù)的讀寫安全吻商、互斥鎖掏颊、dispatch_semaphore了解過嗎?

2.10艾帐、動(dòng)態(tài)庫(kù)與靜態(tài)庫(kù)的區(qū)別

2.11乌叶、Cocoapods幫助我們項(xiàng)目做了哪些事情,Podfile文件中有個(gè)參數(shù)use_frameworks!的作用柒爸、Podlock文件的作用

2.12准浴、Runtime? 中isa指針指向的什么,MetaClass是什么捎稚,實(shí)例方法和類方法的methodLists分別存在什么地方乐横,是存在同一個(gè)地方嗎,Runtime消息轉(zhuǎn)發(fā)的流程什么今野,Methodswizzling是什么

2.13葡公、Runtime應(yīng)用,如何通過Runtime給系統(tǒng)類添加一個(gè)屬性腥泥、替換一個(gè)類的方法實(shí)現(xiàn)匾南、給系統(tǒng)類動(dòng)態(tài)添加一個(gè)方法

2.14、RunLoop和線程的關(guān)系什么蛔外、soure0與? soure1區(qū)別蛆楞、AutoreleasePool和runloop的關(guān)系、在在Core Foundation中有RunLoop的五個(gè)類夹厌,分別是什么豹爹、作用是什么

2.15、創(chuàng)建的了A矛纹、B兩個(gè)Nsoperation添加到NsoperationQueue臂聋,設(shè)置B依賴A、同時(shí)B的優(yōu)先級(jí)高于A或南、A與B孩等、哪個(gè)先執(zhí)行

2.16、iOS 點(diǎn)擊程序圖標(biāo)采够,到啟動(dòng) app 經(jīng)歷了什么

2.17肄方、UIView和CALayer的區(qū)別?通過View的layer設(shè)置圓角為什么有性能消耗、什么是離屏渲染

3蹬癌、Swift相關(guān)

3.1权她、為什么說 Swift 是一門函數(shù)式語言

3.2虹茶、Swift的reduce、map隅要、flatMap蝴罪、filter用法

3.3、@discardableResult步清、@escaping用法

3.4要门、泛型的含義,什么是 高階函數(shù)

4.0在一個(gè)方法中的局部變量尼啡,需要return給調(diào)用者暂衡,這個(gè)局部變量什么時(shí)候會(huì)釋放

4.1.調(diào)用一個(gè)對(duì)象未實(shí)現(xiàn)的方法,中間的過程和結(jié)果分別是什么

4.2下面的代碼返回的結(jié)果result1和result2各是什么崖瞭,并解釋下原因

4.3使用過那些提高效率的調(diào)試工具或者技巧

4.4 像一個(gè)nil對(duì)象發(fā)送消息會(huì)發(fā)生什么

因?yàn)镺C的函數(shù)都是通過objc_msgSend進(jìn)行消息發(fā)送來實(shí)現(xiàn)的,相對(duì)于C和C++來說撑毛,對(duì)于空指針的操作會(huì)引起crash問題书聚,而objc_msgSend會(huì)通過判斷self來決定是否發(fā)送消息,如果self為nil藻雌,那么selector也會(huì)為空雌续,直接返回,不會(huì)出現(xiàn)問題胯杭。視方法返回值驯杜,向nil發(fā)消息可能會(huì)返回nil(返回值為對(duì)象),0(返回值為一些基礎(chǔ)數(shù)據(jù))或0X0(返回值為id)等做个。但對(duì)于[NSNull null]對(duì)象發(fā)送消息時(shí)鸽心,是會(huì)crash的,因?yàn)镹SNull類只有一個(gè)null方法居暖。

但是有人會(huì)說顽频,如果向一個(gè)nil對(duì)象發(fā)消息不會(huì)crash的話,那么unrecognized selector sent to instance的錯(cuò)誤是怎么回事太闺?

這是因?yàn)檫@個(gè)對(duì)象已經(jīng)被釋放了(引用計(jì)數(shù)為0了)糯景,那么這個(gè)時(shí)候再去調(diào)用方法肯定是會(huì)Crash的,因?yàn)檫@個(gè)時(shí)候這個(gè)對(duì)象就是一個(gè)野指針(指向僵尸對(duì)象(對(duì)象的引用計(jì)數(shù)為0省骂,指針指向的內(nèi)存已經(jīng)不可用)的指針)了蟀淮,安全的做法是釋放后將對(duì)象重新置為nil,使它成為一個(gè)空指針钞澳,大家可以在關(guān)閉ARC后手動(dòng)release對(duì)象驗(yàn)證一下怠惶。

4.5instanceType 和ID 的區(qū)別

4.6block內(nèi)部如何修改外部局部變量,并闡述原因

4.7循環(huán)引用的產(chǎn)生原因及其整么正確的防止循環(huán)引用

4.8GCD實(shí)現(xiàn)一個(gè)同步鎖

dispatch_queue_t queue = dispatch_queue_create("queue", NULL);

? ? dispatch_sync(queue, ^{

? ? ? ? NSLog(@"---");

? ? });

?? ? NSLog(@"---===");

使用GCD信號(hào)量實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求順序執(zhí)行 - 簡(jiǎn)書

4.9如何使用runtime實(shí)現(xiàn)weak屬性

如何使用 Runtime 給現(xiàn)有的類添加 weak 屬性 - 簡(jiǎn)書

iOS MRC略贮、ARC @autoreleasepool 學(xué)習(xí)筆記

鏈接iOS MRC甚疟、ARC 與 @autoreleasepool 學(xué)習(xí)筆記 - 簡(jiǎn)書

iOSInterviewQuestions/《招聘一個(gè)靠譜的iOS》面試題參考答案(上).md at master · ChenYilong/iOSInterviewQuestions · GitHub

GitHub - ChenYilong/iOSInterviewQuestions: iOS面試題集錦(附答案)--學(xué)習(xí)交流群515295083

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仗岖,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子览妖,更是在濱河造成了極大的恐慌轧拄,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讽膏,死亡現(xiàn)場(chǎng)離奇詭異檩电,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)府树,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門俐末,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奄侠,你說我怎么就攤上這事卓箫。” “怎么了垄潮?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵烹卒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我弯洗,道長(zhǎng)旅急,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任牡整,我火速辦了婚禮藐吮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逃贝。我一直安慰自己谣辞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布秋泳。 她就那樣靜靜地躺著潦闲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迫皱。 梳的紋絲不亂的頭發(fā)上歉闰,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音卓起,去河邊找鬼和敬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛戏阅,可吹牛的內(nèi)容都是我干的昼弟。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼奕筐,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼舱痘!你這毒婦竟也來了变骡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤芭逝,失蹤者是張志新(化名)和其女友劉穎塌碌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旬盯,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡台妆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胖翰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片接剩。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖萨咳,靈堂內(nèi)的尸體忽然破棺而出懊缺,到底是詐尸還是另有隱情,我是刑警寧澤培他,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布桐汤,位于F島的核電站,受9級(jí)特大地震影響靶壮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜员萍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一腾降、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碎绎,春花似錦螃壤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至日麸,卻和暖如春寄啼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背代箭。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工墩划, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嗡综。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓乙帮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親极景。 傳聞我的和親對(duì)象是個(gè)殘疾皇子察净,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,093評(píng)論 1 32
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,135評(píng)論 30 470
  • 1.設(shè)計(jì)模式是什么氢卡? 你知道哪些設(shè)計(jì)模式锈至,并簡(jiǎn)要敘述?設(shè)計(jì)模式是一種編碼經(jīng)驗(yàn)异吻,就是用比較成熟的邏輯去處理某一種類型...
    龍飝閱讀 2,140評(píng)論 0 12
  • iOS面試題目100道 1.線程和進(jìn)程的區(qū)別裹赴。 進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位,線程是進(jìn)程的一個(gè)實(shí)體诀浪,...
    有度YouDo閱讀 29,897評(píng)論 8 137
  • C語言相關(guān)面試題 1.static有什么用途棋返? 答案:在C語言中,static主要定義全局靜態(tài)變量雷猪,定義局部靜態(tài)變...
    Leeson1989閱讀 2,216評(píng)論 0 20