iOS程序員筆試題(持續(xù)更新)

? ? ? ? ? 程序員找工作蹬跃,無非是兩大關(guān)匙瘪,一是面試,二是筆試蝶缀,關(guān)于面試的技巧丹喻,我的文章里已經(jīng)分享過,大家可以看看~今天我給大家分享的是翁都,公司經(jīng)常出的碍论,并且容易搞混的筆試題!如果這些知識都弄懂了柄慰,再加上臨場反應(yīng)能力和一定的技術(shù)鳍悠,我相信一定會拿到公司的邀請的K澳取!

? ? ? ? ?其實IOS程序員的面試題藏研,一般都是比較基礎(chǔ)的敬矩,一般不會出太難,太深入的問題蠢挡,但是這些知識往往都容易忽略弧岳,而且自己基本上都是自己以前搞混的知識點!我總結(jié)了一下业踏,希望對大家有用K跎浮!


1.OC與C的區(qū)別堡称?

? 最重要的區(qū)別是:

? ?OC是面向?qū)ο?? ? ? ? C是面向過程

面向過程 ?是流程化 每一步 都會影響到下一步的執(zhí)行 甚至到程序是否成功執(zhí)行完畢

面向?qū)ο??不受步驟的約束 在操作的時候? 如果沒有這個對象? 也不會受到嚴重影響

2.面向?qū)ο蟮娜筇卣魇牵?/p>

封裝 ? ? 繼承 ? ?多態(tài)

3.內(nèi)存管理的原則

? 只要有alloc retain copy (retainCount +1)就要有對應(yīng)的release(retainCount -1)

?誰分配 誰釋放

alloc 這個函數(shù) 相對對的函數(shù)

delloc 銷毀對象的時候調(diào)用

alloc 給對象分配內(nèi)存的時候調(diào)用

autorelease 與release 的區(qū)別

release autorelease 都可以是對象的引用計數(shù)-1

release立即釋放

autorelease 延遲釋放

自動釋放池NSAutoreleasePool

實例代理:

? for (int i=0; i<10; i++) {

@autoreleasepool {

NSObject *obj = [[[NSObject alloc] init]autorelease];

}

}

4.繼承 category的區(qū)別

? 繼承 可以添加 變量

調(diào)用的時候 可以使用 子類的對象去調(diào)用 子類擁有父類的所有屬性 方法 包括category 協(xié)議瞎抛。。却紧。

category 只能添加 方法

調(diào)用的時候 使用原有類的對象去調(diào)用

5.OC里面有多繼承么桐臊?怎么實現(xiàn)多繼承呢

沒有多繼承 可以多級 繼承 ? ? 可以使用代理 ,分類來實現(xiàn)

6.category estensiton 區(qū)別

category 類目 在不改變原有類的情況下? 給他擴充方法

estensiton 延展 添加 不公開的 變量 屬性 方法

7.什么是protocol?

是協(xié)議 是一個 統(tǒng)一的對外接口 可以通過他來實現(xiàn) 查找多個類的方法

8.什么是代理

? 代理 又叫委托 自己不能完成的 委托給別人完成 ?可用于回調(diào)

9.代理 通知的區(qū)別晓殊?

代理 是一對一的 代理的接收者断凶,需要把結(jié)果返回給發(fā)送者結(jié)果

通知 是一對多的 ?發(fā)送者,只需要把消息發(fā)送出去巫俺,不需要返回

10通知 KVO 的區(qū)別

KVO 是鍵值觀察者 通過觀察的屬性值 發(fā)生改變 去調(diào)用 觀察的方法

通知 通過通知名字 來發(fā)送 接收通知

11.KVO KVC的區(qū)別认烁?

KVC 鍵值編碼 通過把屬性名 當成key 來改變屬性的值

KVO 鍵值觀察者 通過KVC的方式 把屬性當做key 來觀察屬性值的變化? 做出響應(yīng)

在實際工作中 在哪用到了 KVC KVO

數(shù)據(jù)轉(zhuǎn)模型 用到了KVC

封裝下拉改變導航欄透明度的時候? 使用的是KVO

12.readwrite,readonly,assign,retain,copy,nonatomic 、strong介汹、weak屬性的作用?并區(qū)別

strong(強引用)却嗡、 weak(弱引用)?什么情況使用copy,assign,和retain?

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

readonly 是只讀特性 只會生成getter方法

不希望屬性在類外改變

assign 直接賦值 基本數(shù)據(jù)類型

retain 表示持有(保留)特性 引用計數(shù)加1

copy 拷貝一份賦值 會生成一個不受上一個對象影響的對象

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

strong強引用->屬性所屬的對象被釋放的時候 這個屬性 才會被釋放 weak弱引用->不穩(wěn)定的? 可能會被釋放掉

13.Objective-C有私有方法么?私有變量呢?如多沒有的話,有沒有什么代替的方法?

? ? ?objective-c類里面的方法只有兩種, 靜態(tài)方法和實例方法.但是可以通過把方法的聲明和定義都放在.m文件中來實現(xiàn)一個表 面上的私有方法。有私有變量,可以通過@private來修飾,或者把聲明放到.m文件中嘹承。在Objective‐C中,所有實例變 量默認都是私有的,所有實例方法默認都是公有的

14.c c++ 和obj-c如何混用?

1)obj-c的編譯器處理后綴為m的文件時,可以識別obj-c和c的代碼,處理mm文件可以識別obj-c,c,c++代碼,但cpp文件必須只

能用c/c++代碼,而且cpp文件include的頭文件中,也不能出現(xiàn)obj- c的代碼,因為cpp只是cpp窗价。

2) 在mm文件中混用cpp直接使用即可,所以obj-c混cpp不是問題

3)在cpp中混用obj- c其實就是使用obj-c編寫的模塊是我們想要的。如果模塊以類實現(xiàn),那么要按照cpp class的標準寫類的定 義,頭文件中不能出現(xiàn)obj-c的東西,包括#import cocoa的叹卷。 實現(xiàn)文件中,即類的實現(xiàn)代碼中可以使用obj-c的東西,可以import,只是后綴是mm撼港。如果模塊以函數(shù)實現(xiàn),那么頭文件要按 c的格 式聲明函數(shù),實現(xiàn)文件中,c++函數(shù)內(nèi)部可以用obj-c,但后綴還是mm或m≈柚瘢總結(jié):只要cpp文件和cpp include的文件中不包含 obj-c的東西就可以用了,cpp混用obj-c的關(guān)鍵是使用接口,而不能直接使用實現(xiàn)代碼,實際上cpp混用的是obj-c編譯后的o文 件,這個東西其實是無差別的,所以可以用帝牡。obj-c的編譯器支持cpp。

15.objc優(yōu)缺點蒙揣?

objc優(yōu)點:

1)Cateogies 2)Posing 3)動態(tài)識別 4)指標計算 5)彈性訊息傳遞

6)不是一個過度復雜的C衍生語言 7)Objective-C與C++可混合編程

缺點:

1)不支援命名空間 2)不支持運算符重載 3)不支持多重繼承 4)使用動態(tài)運行時類型,所有的方法都是函數(shù)調(diào)用,所以很多編譯時優(yōu)化 方法都用不到靶溜。(如內(nèi)聯(lián)函數(shù)等),性能低劣。

16.淺復制和深復制的區(qū)別?

淺層復制(copy):只復制指向?qū)ο蟮闹羔?而不復制引用對象本身鸣奔。//通過對象的指針來訪問這個對象----只賦值地址 深層復制(mutableCopy):復制引用對象本身---再創(chuàng)建一個對象 意思就是有個A對象,復制一份后得到A_copy對象后,對于淺復制來說,A和A_copy指向的是同一個內(nèi)存資源,復制的 只不過是是一個指針,對象本身資源 還是只有一份,那如果我們對A_copy執(zhí)行了修改操作,那么發(fā)現(xiàn)A引用的對象同樣被修改,這其實違背了我們復制拷貝的一 個思想墨技。深復制就好理解了,內(nèi)存中存在了

兩份獨立對象本身惩阶。//當修改A時,A copy不變。

17.數(shù)據(jù)持久化存儲方式有哪些扣汪?以及特點

1.plist 屬性列表 最外層只能存儲數(shù)組字典 里面只能存儲 bool NSNumber String Data Date

2.NSUserDefault 最終也是保存成plist 系統(tǒng)封裝了保存的路徑 保存的方法

3.歸檔 可以對保存數(shù)據(jù)的文件 進行加密

4.sqlite? 關(guān)系型數(shù)據(jù)庫 以表的形式存儲? FMDB是對 OC中 sqlite操作封裝 的第三方庫

5.coreData 是蘋果封裝的 對文件操作的框架 可以 以對象的形式存儲 底層數(shù)據(jù)文件可以是sqlite類型 也可以是XML JSON …

18.get 和post的區(qū)別断楷?

Get:與GETurl封裝到一起,長度有限制崭别,安全系數(shù)不高冬筒。服務(wù)器的接收者

Post:與URL參數(shù)分開,長度沒有限制茅主,安全系數(shù)高舞痰,服務(wù)器的發(fā)送者

19.TCP? UDP的區(qū)別?

TCP:是傳輸控制協(xié)議:是面連接的诀姚,那么運行環(huán)境必然要求可能性不可丟包响牛,有良好的擁塞控制機制

UDP:是用戶數(shù)據(jù)報協(xié)議:主要用在實時性要求高以及對質(zhì)量相對較若的地方,但面對現(xiàn)在高質(zhì)量的線路不容易丟包赫段,除非是一些擁塞條件下

20.什么是沙盒呀打?有幾個文件夾?

出于安全的目的糯笙,應(yīng)用程序只能將自己的數(shù)據(jù)和偏好設(shè)置寫入到幾個特定的位置上贬丛。當應(yīng)用程序被安裝到設(shè)備上時,系統(tǒng)會為其創(chuàng)建一個家目錄给涕,這個家目錄就是應(yīng)用程序的沙盒豺憔。

Documents:蘋果建議將程序中建立的或在程序中瀏覽到的文件數(shù)據(jù)保存在該目錄下;

Library:存儲程序的默認設(shè)置或其它狀態(tài)信息够庙;

tmp:提供一個即時創(chuàng)建臨時文件的地方恭应。

ppName.app 目錄:這是應(yīng)用程序的程序包目錄,包含應(yīng)用程序的本身首启。由于應(yīng)用程序必須經(jīng)過簽名暮屡,所以您在運行時不能對這個目錄中的內(nèi)容進行修改,否則可能會使應(yīng)用程序無法啟動毅桃。


?這個文檔會根據(jù)朋友面試的經(jīng)歷,我會持續(xù)更新的准夷,希望對大家有幫助T糠伞!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衫嵌,一起剝皮案震驚了整個濱河市读宙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楔绞,老刑警劉巖结闸,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唇兑,死亡現(xiàn)場離奇詭異,居然都是意外死亡桦锄,警方通過查閱死者的電腦和手機扎附,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來结耀,“玉大人留夜,你說我怎么就攤上這事⊥继穑” “怎么了碍粥?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長黑毅。 經(jīng)常有香客問我嚼摩,道長,這世上最難降的妖魔是什么矿瘦? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任低斋,我火速辦了婚禮,結(jié)果婚禮上匪凡,老公的妹妹穿的比我還像新娘膊畴。我一直安慰自己,他們只是感情好病游,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布唇跨。 她就那樣靜靜地躺著,像睡著了一般衬衬。 火紅的嫁衣襯著肌膚如雪买猖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天滋尉,我揣著相機與錄音玉控,去河邊找鬼。 笑死狮惜,一個胖子當著我的面吹牛高诺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碾篡,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼虱而,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了开泽?” 一聲冷哼從身側(cè)響起牡拇,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后惠呼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體导俘,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年剔蹋,在試婚紗的時候發(fā)現(xiàn)自己被綠了旅薄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡滩租,死狀恐怖赋秀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情律想,我是刑警寧澤猎莲,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站技即,受9級特大地震影響著洼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜而叼,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一身笤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧葵陵,春花似錦液荸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绊困,卻和暖如春文搂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背秤朗。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工煤蹭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人取视。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓硝皂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贫途。 傳聞我的和親對象是個殘疾皇子吧彪,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

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

  • 1.項目經(jīng)驗 2.基礎(chǔ)問題 3.指南認識 4.解決思路 ios開發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    陽光的大男孩兒閱讀 4,971評論 0 13
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,128評論 29 470
  • Object-c的類可以多重繼承么?可以實現(xiàn)多個接口么?Category是什么?重寫一個類的方式用繼承好還是分類好...
    small_Sun閱讀 735評論 0 0
  • 好奇星座這個東西。 我和她是天蝎座x巨蟹座丢早。 但是我不像天蝎座那樣冷靜理智,她不像巨蟹座那樣......哪樣?好吧...
    長命與你閱讀 140評論 0 0
  • 昵稱:XZQian__ 現(xiàn)居廣東怨酝,本可愛金牛座傀缩,愛好唱歌,寫作 交友:你主動我們就會有故事 自薦文章『鯤高』我們的...
    XZQian__閱讀 424評論 0 0