題目

1.內(nèi)存管理

2.單例的理解

3.post和get的區(qū)別

4.md5和base64是什么,有什么區(qū)別

5.簡(jiǎn)單談?wù)刄DP和TCP(http和https)

6.談?wù)劧嗑€(xiàn)程吧?你在項(xiàng)目中一般那些地方用到多線(xiàn)程痘绎。gcd有幾種隊(duì)列。

7.設(shè)計(jì)一個(gè)多線(xiàn)程肖粮,分別下載三個(gè)圖片然后再將圖片組合孤页。

8.x=1。線(xiàn)程a:{x++尿赚;}線(xiàn)程b:{x++散庶;}為什么結(jié)果是x=2。

9.現(xiàn)在有一個(gè)資源網(wǎng)址(資源是什么未知)凌净,要請(qǐng)求這個(gè)資源你會(huì)怎么做(你會(huì)考慮哪些東西)悲龟?

10.assign和weak是什么,有什么區(qū)別冰寻?_block和_weak又是什么须教,有什么區(qū)別?(strong,nonatomic斩芭,readonly等)

11.oc語(yǔ)言的三大特點(diǎn)(面向?qū)ο笳Z(yǔ)言的特點(diǎn))轻腺。

12.數(shù)據(jù)庫(kù)。

13.自動(dòng)布局autolayout

14.#import划乖、class和#include的區(qū)別

15.在一個(gè)對(duì)象的方法里面:self.name=“object”;和name= “object”有什么不同贬养。

16.程序和頁(yè)面的生命周期

17.MVC的理解

18.KVC和KVO是什么,有什么區(qū)別

19.深淺復(fù)制的區(qū)別

20.frame 和bounds有什么不同

21.隊(duì)列和棧有什么區(qū)別

22.UIview和CLayer有什么區(qū)別琴庵?

23.類(lèi)別的作用误算?繼承和類(lèi)別在實(shí)現(xiàn)中有何區(qū)別?擴(kuò)展類(lèi)迷殿?

24.tableview的復(fù)用機(jī)制儿礼?

25.程序崩潰通常是因?yàn)樯对颉?/p>

26.有使用instrument么?簡(jiǎn)單談?wù)劙伞?/p>

27.自動(dòng)釋放池是什么庆寺,如何工作的蚊夫。

28.ios數(shù)據(jù)存儲(chǔ)的方式有那些?

29.SDWebImage的原理懦尝。

30.程序性能的優(yōu)化和程序存儲(chǔ)大小的縮減(如何縮減.ipa文件的大兄住)壤圃。

人事

1.簡(jiǎn)單介紹下自己。

2.為什么會(huì)離職琅轧。

3.有什么關(guān)于公司想要了解的埃唯。


=========================================

一、多線(xiàn)程及網(wǎng)絡(luò)相關(guān)的問(wèn)題:

1.多線(xiàn)程的底層實(shí)現(xiàn)鹰晨?

2.線(xiàn)程間怎么通信墨叛?

3.網(wǎng)絡(luò)圖片處理問(wèn)題中怎么解決一個(gè)相同的網(wǎng)絡(luò)地址重復(fù)請(qǐng)求的問(wèn)題?

4.用NSOpertion和NSOpertionQueue處理A,B,C三個(gè)線(xiàn)程,要求執(zhí)行完A,B后才能執(zhí)行C,怎么做模蜡?

5.列舉cocoa中常見(jiàn)對(duì)集中多線(xiàn)程的實(shí)現(xiàn)漠趁,并談?wù)劧嗑€(xiàn)程安全的幾種解決辦法及多線(xiàn)程安全怎么控制?

6.gcd內(nèi)部怎么實(shí)現(xiàn)的

7.你用過(guò)NSOperationQueue么忍疾?如果用過(guò)或者了解的話(huà)闯传,你為什么要使用NSOperationQueue,實(shí)現(xiàn)了什么卤妒?請(qǐng)描述它和GCD的區(qū)別和類(lèi)似的地方(提示:可以從兩者的實(shí)現(xiàn)機(jī)制和適用范圍來(lái)描述)甥绿。

8.既然提到GCD,那么問(wèn)一下在使用GCD以及block時(shí)要注意些什么则披?它們兩是一回事兒么共缕?block在ARC中和傳統(tǒng)的MRC中的行為和用法有沒(méi)有什么區(qū)別,需要注意些什么士复?

9.在異步線(xiàn)程中下載很多圖片,如果失敗了,該如何處理?請(qǐng)結(jié)合RunLoop來(lái)談?wù)劷鉀Q方案.(提示:在異步線(xiàn)程中啟動(dòng)一個(gè)RunLoop重新發(fā)送網(wǎng)絡(luò)請(qǐng)求,下載圖片)

10.Socket的實(shí)現(xiàn)原理及Socket之間是如何通信的

11.http協(xié)議的實(shí)現(xiàn)

二图谷、內(nèi)存管理相關(guān)的問(wèn)題:

1.怎么保證多人開(kāi)發(fā)進(jìn)行內(nèi)存泄露的檢查.

2.非自動(dòng)內(nèi)存管理情況下怎么做單例模式.

3.對(duì)于類(lèi)方法(靜態(tài)方法)默認(rèn)是autoRelease的。我添加的代碼導(dǎo)致了過(guò)渡釋放阱洪。所有類(lèi)方法都會(huì)這樣嗎便贵?

4.block在ARC中和MRC中的用法有什么區(qū)別,需要注意什么

5.什么情況下會(huì)發(fā)生內(nèi)存泄漏和內(nèi)存溢出?

6.[Nsarry array withobject:]這個(gè)方法添加對(duì)象后冗荸,需要對(duì)這個(gè)數(shù)組做釋放操作嗎承璃?

7.Josn數(shù)據(jù)的解析,和解析數(shù)據(jù)的時(shí)候有內(nèi)存泄露嗎蚌本?有的話(huà)如何解決

8.自動(dòng)釋放池底層怎么實(shí)現(xiàn)

三盔粹、C語(yǔ)言和Foundation相關(guān)的問(wèn)題

1.KVO內(nèi)部實(shí)現(xiàn)原理

2.是否可以把比較耗時(shí)的操作方在NSNotificationCenter中

3.Cocoa的Foundation對(duì)象與Core

Foundation對(duì)象有什么區(qū)別

4.不用中間變量,用兩種方法交換A和B的值

5.簡(jiǎn)單描述下對(duì)單利模式設(shè)計(jì)對(duì)理解?

6.什么是動(dòng)態(tài)魂毁,舉例說(shuō)明

7.runtime實(shí)現(xiàn)的機(jī)制是什么,怎么用,一般用于干嘛.你還能記得你所使用的相關(guān)的頭文件或者某些方法的名稱(chēng)嗎玻佩?

8.是否使用過(guò)CoreText或者CoreImage等出嘹?如果使用過(guò)席楚,請(qǐng)談?wù)勀闶褂肅oreText或者CoreImage的體驗(yàn)。

9.NSNotification和KVO的區(qū)別和用法是什么税稼?什么時(shí)候應(yīng)該使用通知烦秩,什么時(shí)候應(yīng)該使用KVO垮斯,它們的實(shí)現(xiàn)上有什么區(qū)別嗎?如果用protocol和delegate(或者delegate的Array)來(lái)實(shí)現(xiàn)類(lèi)似的功能可能嗎只祠?如果可能兜蠕,會(huì)有什么潛在的問(wèn)題?如果不能抛寝,為什么熊杨?(雖然protocol和delegate這種東西面試已經(jīng)面爛了…)

10.Block內(nèi)部的實(shí)現(xiàn)原理

11.有兩個(gè)數(shù)組a,b,大小都為n,數(shù)組元素的值任意盗舰,無(wú)序晶府;

要求:通過(guò)交換a,b中的元素,使數(shù)組a元素的和與數(shù)組b元素的和之間的差最小

四钻趋、數(shù)據(jù)存儲(chǔ)相關(guān)的問(wèn)題

1.如果后期需要增加數(shù)據(jù)庫(kù)中的字段怎么實(shí)現(xiàn)川陆,如果不實(shí)用核心數(shù)據(jù)呢?

2.SQLite數(shù)據(jù)存儲(chǔ)是怎么用蛮位?

3.簡(jiǎn)單描述下客戶(hù)端到緩存機(jī)制较沪?

4.你實(shí)現(xiàn)過(guò)多線(xiàn)程的Core Data么?NSPersistentStoreCoordinator失仁,NSManagedObjectContext和NSManagedObject中的哪些需要在線(xiàn)程中創(chuàng)建或者傳遞尸曼?你是用什么樣的策略來(lái)實(shí)現(xiàn)的?

5.coredata數(shù)據(jù)遷移

五萄焦、UI控件相關(guān)的問(wèn)題

1.怎么解決緩存池滿(mǎn)的問(wèn)題骡苞,(cell)

2.CAAnimation的層級(jí)結(jié)構(gòu)

3.UIButton與UITableView的層級(jí)結(jié)構(gòu)

4.如何渲染自定義格式字符串的UILable

5.設(shè)置scroll view的contensize能在Viewdidload里設(shè)置么,為什么

6.按鈕或者其它UIView控件的事件傳遞的具體過(guò)程

7.控制器View的生命周期及相關(guān)函數(shù)是什么?你在開(kāi)發(fā)中是如何用的楷扬?

六解幽、應(yīng)用程序相關(guān)的問(wèn)題

1.NSRunLoop的實(shí)現(xiàn)機(jī)制,及在多線(xiàn)程中如何使用

2.IOS7之前,后臺(tái)執(zhí)行內(nèi)容有幾種形式,都是什么

3.簡(jiǎn)單說(shuō)一下APP的啟動(dòng)過(guò)程,從main文件開(kāi)始說(shuō)起

4.把程序自己關(guān)掉和程序進(jìn)入后臺(tái),遠(yuǎn)程推送的區(qū)別

5.本地通知和遠(yuǎn)程推送通知對(duì)基本概念和用法?

七烘苹、第三方框架相關(guān)的問(wèn)題

1.第三方API是怎么用的躲株?

2.列舉現(xiàn)在熟悉iOS開(kāi)發(fā)庫(kù)和第三方開(kāi)發(fā)庫(kù)?

八镣衡、其它相關(guān)的問(wèn)題

1.客戶(hù)端安全性處理方式霜定?

2.簡(jiǎn)單描述下社交行為到步足?

3.sip是什么廊鸥?

4.數(shù)據(jù)比較大的時(shí)候是用內(nèi)循環(huán)望浩,還是外循壞?

5.有些圖片加載的比較慢怎么處理?你是怎么優(yōu)化程序的性能的?

6.你實(shí)現(xiàn)過(guò)一個(gè)框架或者庫(kù)以供別人使用么惰说?如果有磨德,請(qǐng)談一談構(gòu)建框架或者庫(kù)時(shí)候的經(jīng)驗(yàn);如果沒(méi)有,請(qǐng)?jiān)O(shè)想和設(shè)計(jì)框架的public的API典挑,并指出大概需要如何做酥宴、需要注意一些什么方面,來(lái)使別人容易地使用你的框架您觉。

7.App需要加載超大量的數(shù)據(jù)給服務(wù)器發(fā)送請(qǐng)求拙寡,但是服務(wù)器卡住了如何解決?

8.利用NSNotificationCenter實(shí)現(xiàn)跨多控制器傳輸數(shù)據(jù)和消息中用同步還是異步琳水?

9.如何編寫(xiě)xml

10.什么時(shí)候該使用通知肆糕,什么時(shí)候該使用KVO,如果用delegate來(lái)實(shí)現(xiàn)類(lèi)似功能可以嗎

11.地圖導(dǎo)航不能用了怎么辦

12.SDWebImage具體如何實(shí)現(xiàn)

13.AFN與ASI有什么區(qū)別

14.你在實(shí)際開(kāi)發(fā)中在孝,有哪些手機(jī)架構(gòu)與性能調(diào)試經(jīng)驗(yàn)

15.runloop定時(shí)源和輸入源

16.你們項(xiàng)目中都用了哪些框架,及何種開(kāi)發(fā)工具,具體到是哪個(gè)版本,這個(gè)版本的特性有哪些???(比如xcode的版本)

17.自己怎么實(shí)現(xiàn)原子鎖

18.運(yùn)行時(shí)的內(nèi)部實(shí)現(xiàn)

19.即時(shí)通訊中的大數(shù)據(jù)處理

20.json解析的具體實(shí)現(xiàn)

21.runtime機(jī)制下擎宝,當(dāng)碰到多層嵌套而且數(shù)據(jù)有空值時(shí),怎樣防止錯(cuò)誤

22.還有一個(gè)問(wèn)題,就是如果在網(wǎng)絡(luò)數(shù)據(jù)處理過(guò)程中,發(fā)現(xiàn)一處比較卡,一般怎么解決

23.怎么介紹一個(gè)項(xiàng)目

24.怎么解決sqlite鎖定的問(wèn)題啊

25.AFN框架里面判斷WIFI和有無(wú)網(wǎng)絡(luò)的那4種情況浑玛。問(wèn)我他實(shí)現(xiàn)的原理是什么


======================================

1绍申、簡(jiǎn)述一下UIViewController的生命周期?

2顾彰、#import和#include的區(qū)別极阅?

3、寫(xiě)一個(gè)計(jì)算A涨享、B中較大值的標(biāo)準(zhǔn)宏MAX筋搏?

4、談一下iOS中的多線(xiàn)程厕隧?

5奔脐、談一下Objective-C的內(nèi)存管理方式?

6吁讨、簡(jiǎn)述assign髓迎、retain、copy建丧、weak和strong分別在什么情況下使用排龄?

7、類(lèi)別的作用翎朱?說(shuō)一下類(lèi)別和類(lèi)擴(kuò)展的區(qū)別橄维?

8、說(shuō)說(shuō)你對(duì)KVC和KVO的理解拴曲?

9争舞、深復(fù)制和淺復(fù)制的區(qū)別?

10澈灼、談一下你對(duì)block的理解竞川,請(qǐng)寫(xiě)一個(gè)block類(lèi)型的屬性操灿?

11搅方、frame和bounds的區(qū)別昔榴?

12黔州、談一下UITableViewCell的重用機(jī)制者疤?

13福澡、簡(jiǎn)述一下消息推送的流程?

14驹马、簡(jiǎn)述一下App發(fā)布到AppStore的流程革砸?

15、談一下面向?qū)ο蟮膸讉€(gè)主要特征糯累?

16算利、談一下你常用的一些設(shè)計(jì)模式及應(yīng)用場(chǎng)景?

17泳姐、談一下關(guān)鍵字static的作用效拭?關(guān)鍵字const呢?

18胖秒、堆和棧的區(qū)別是什么缎患?

19、break阎肝、continue挤渔、return的區(qū)別是什么?

20风题、int *p中*p和p的分別代表什么判导?

21、講一下OC和C有哪些區(qū)別沛硅?

22眼刃、談?wù)勀銓?duì)代理設(shè)計(jì)模式的理解?

23摇肌、談?wù)凥ttp協(xié)議鸟整,其中GET和POST有哪些區(qū)別?

24朦蕴、談?wù)勀銓?duì)MVC開(kāi)發(fā)模式的理解及你是如何在項(xiàng)目中采用MVC模式開(kāi)發(fā)的篮条?

25、談?wù)勀銓?duì)Socket的理解吩抓?TCP和UDP協(xié)議有什么區(qū)別

26涉茧、你常用的數(shù)據(jù)存儲(chǔ)方式有哪些?

27疹娶、通知中心和代理都可以用來(lái)發(fā)送消息和數(shù)據(jù)伴栓,兩者有什么區(qū)別?

28、類(lèi)別和繼承有哪些區(qū)別钳垮?

29惑淳、你在項(xiàng)目當(dāng)中是如何進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求的?

30饺窿、你有做過(guò)iPhone6的屏幕適配嗎歧焦?在項(xiàng)目中你是如何進(jìn)行適配的?


=========================================


問(wèn)題陷阱

1肚医、請(qǐng)你做一下自我介紹

2绢馍、你在找工作時(shí),最重要的考慮因素是什么肠套?

3舰涌、你對(duì)我們公司了解多少?你為什么想來(lái)我們公司工作你稚?

4瓷耙、請(qǐng)談?wù)勀愕膬?yōu)點(diǎn)和缺點(diǎn)?

5刁赖、你為什么離開(kāi)上一家公司哺徊?

6、工作中曾面臨的最大困難是什么乾闰?如何解決的落追?

7、你的職業(yè)目標(biāo)是什么涯肩?(短期和長(zhǎng)期)

8轿钠、你是應(yīng)屆生,缺乏經(jīng)驗(yàn)病苗,如何勝任這份工作疗垛?

9、你對(duì)加班的看法硫朦?

10贷腕、你對(duì)薪資的要求?

11咬展、你最擅長(zhǎng)的技術(shù)方向是什么泽裳?談?wù)勀阒白龅捻?xiàng)目?

12破婆、你有什么問(wèn)題要問(wèn)我涮总?

北京中德福林軟件科技有限公司

1、簡(jiǎn)述下蘋(píng)果的開(kāi)發(fā)框架祷舀?

2瀑梗、常用的ios設(shè)計(jì)模式有哪些烹笔?

3、簡(jiǎn)敘述下蘋(píng)果開(kāi)發(fā)者的認(rèn)證過(guò)程抛丽,以及上傳應(yīng)用谤职,怎么供給其他開(kāi)發(fā)者進(jìn)行使用?

4亿鲜、繼承跟類(lèi)別的區(qū)別允蜈,為什么要有類(lèi)別的存在?

5狡门、簡(jiǎn)述下ios6新增的新特性陷寝?

6锅很、簡(jiǎn)述ARC的機(jī)制原理

7其馏、簡(jiǎn)單編寫(xiě)一個(gè)block代理?

8爆安、怎么解決ios5叛复,ios6中橫豎屏的問(wèn)題?

9扔仓、MVC是什么褐奥?有什么特性?為什么在iphone上被廣泛運(yùn)用翘簇?

10撬码、委托是什么?委托的property聲明用什么屬性版保?為什么呜笑?

11、項(xiàng)目使用過(guò)哪些第三方庫(kù)彻犁?

12叫胁、怎么實(shí)現(xiàn)tableView懶加載?

13汞幢、編寫(xiě)一個(gè)singleton的類(lèi)驼鹅?

14、開(kāi)發(fā)過(guò)程中最常見(jiàn)的異常有哪些森篷,列舉幾個(gè)输钩?

藝恩

1、假設(shè)有一個(gè)字符串a(chǎn)abcad仲智,請(qǐng)編寫(xiě)一段程序张足。去掉字符串中不相鄰的重復(fù)字符,即上述字符串處理之后的輸出結(jié)果為:aabcd坎藐。

2为牍、獲取一臺(tái)設(shè)備唯一標(biāo)識(shí)的方法有哪些哼绑?

3、寫(xiě)一個(gè)NSString類(lèi)的實(shí)現(xiàn)碉咆?

愛(ài)卡汽車(chē)

1抖韩、寫(xiě)出以下的NSLog的輸出格式

intNSStringfloat/double

2、[ UIImageimagewithnamed:@”xx.png”];好處壞處疫铜?

3茂浮、這是同步還是異步取得數(shù)據(jù)

ASIHTTPRequest*request=[ ASIHTTPRequestrequestWithURL:url];

[request setDelegate:self];

[request startAsynchronous];

4、寫(xiě)一個(gè)委托的interface壳咕。

5席揽、列舉一下你們常用的UI控件

6、如何管理內(nèi)存谓厘?

7幌羞、使用UITableView時(shí)候必須要實(shí)現(xiàn)得幾個(gè)方法?

8竟稳、列舉一下你們用過(guò)的xml或是json接口的樣式属桦?

9、簡(jiǎn)述一下在ios開(kāi)發(fā)中SQLite的使用方法(以文字或是代碼的形式來(lái)敘述)

10他爸、談?wù)勀銓?duì)ios下的多線(xiàn)程開(kāi)發(fā)的理解聂宾。

11、如何設(shè)計(jì)一個(gè)新聞瀏覽诊笤。評(píng)論的app系谐。簡(jiǎn)述一下用到的開(kāi)發(fā)技術(shù),和實(shí)現(xiàn)方式讨跟。

龍宇北騰

1纪他、ios類(lèi)是否可以多繼承,淺復(fù)制和深復(fù)制有什么區(qū)別许赃?

2止喷、堆和棧的區(qū)別?

3混聊、內(nèi)存管理Autorelease弹谁、retain、,copy句喜、assign的set方法和含義预愤?

4、請(qǐng)寫(xiě)出ios組件咳胃,要求不低于20個(gè)植康?

5、寫(xiě)出方法獲取ios內(nèi)存使用情況展懈?

6销睁、ios本地?cái)?shù)據(jù)存儲(chǔ)都有哪幾種方式供璧?

7、在已越獄設(shè)置中ios如何強(qiáng)制信息通知冻记?

北京融易通信息技術(shù)有限公司

1睡毒、NSArray與NSMutableArray的區(qū)別,多線(xiàn)程操作哪個(gè)更安全冗栗?

2演顾、copy和retain有什么區(qū)別?那么原子(atomic)和非原子(nonatomic)屬性又有什么區(qū)別

3隅居、選擇一種iOS常用的設(shè)計(jì)模式钠至,并作簡(jiǎn)要介紹

4、unsigned int和int有什么區(qū)別胎源。假設(shè)int長(zhǎng)度為65535棉钧,請(qǐng)寫(xiě)出unsigned

int與int的取值范圍

5、介紹一下iOS sandbox的層級(jí)結(jié)構(gòu)乒融,我們經(jīng)常使用到的NSUserDefauits它的保存路徑是什么掰盘?

6摄悯、描述UIButton和UITableView的層級(jí)結(jié)構(gòu)(即該類(lèi)的父類(lèi)父類(lèi)的父類(lèi))

7赞季、解釋MyClass * object1 = [[[MyClass alloc] init [object2hello]autorelease]

8、能否了解過(guò)category的實(shí)現(xiàn)原理奢驯,為什么category只能為對(duì)象增加成員變量

編程題:

9申钩、使用Delegate或者Block實(shí)現(xiàn)類(lèi)之間的通訊

10、當(dāng)前有一個(gè)數(shù)組瘪阁,里面有若干重復(fù)的數(shù)據(jù)撒遣,如何除去重復(fù)的數(shù)據(jù)

鳳凰網(wǎng)真實(shí)面試題

1、關(guān)鍵字volatile有什么含義管跺?并給出三個(gè)不同的例子

2义黎、簡(jiǎn)述static關(guān)鍵字的作用

3、#import和#include的區(qū)別@class呢

4豁跑、線(xiàn)程和進(jìn)程的區(qū)別和聯(lián)系

5廉涕、簡(jiǎn)述堆和棧的區(qū)別

6、簡(jiǎn)述Objective - c內(nèi)存管理

7艇拍、為什么內(nèi)置類(lèi)如UITableVIewController的delegate屬性都是assign狐蜕?

8、定義屬性時(shí)卸夕,什么情況適用copy assign和retain

9层释、對(duì)象在什么時(shí)候被release

10、iPhone OS有沒(méi)有垃圾回收機(jī)制

11快集、ViewController的loadView贡羔、viewDidLoad廉白、viewDidUnLoad分別是在什么時(shí)候調(diào)用?自定義ViewController的時(shí)候這幾個(gè)函數(shù)在里面做什么

12乖寒、ViewColntroller的didRectiveMemoryWarning是在什么時(shí)候被調(diào)用蒙秒?默認(rèn)操作是什么

13、列舉Cocoa中長(zhǎng)用得幾種多線(xiàn)程實(shí)現(xiàn)宵统,并談?wù)劙踩詥?wèn)題的幾種方案晕讲,什么地方會(huì)用到多線(xiàn)程

14、你是怎么理解MVC的马澈, 在Cocoa中MVC是怎么實(shí)現(xiàn)的

15瓢省、用預(yù)處理指令#define生命一個(gè)常數(shù)沒(méi)用你表明一年有多少秒

16、Objecative—有多重繼承么痊班?不是的話(huà)有什么替代方法

17勤婚、關(guān)鍵字const有什么含義

汽車(chē)之家真實(shí)面試題

1、請(qǐng)寫(xiě)出以下代碼的執(zhí)行結(jié)果:

NSString * name =[[NSString alloc] init];

name = @“ Habb ”;

[name release];

2涤伐、異常通常有哪些方式馒胆?

3、id是什么類(lèi)型凝果?何時(shí)使用祝迂?

4、委托的概念是什么

5器净、繼承可以有多個(gè)parent么型雳?

6、isKingOfClass與isMemberOfClass以及selector作用分別是什么

7山害、7纠俭、@class和#import的區(qū)別是什么

8、object c中有私有方法定義么浪慌?

9冤荆、category的作用是什么?

10权纤、iOS應(yīng)用開(kāi)發(fā)中常用的UI控件有哪些钓简?

11、使用宏應(yīng)該注意哪些問(wèn)題妖碉?

12涌庭、堆和棧的區(qū)別是什么?

13欧宜、說(shuō)說(shuō)你對(duì)retain坐榆、copy、strong冗茸、assign的理解

14席镀、dealloc匹中、release、autorelease的區(qū)別是什么豪诲?簡(jiǎn)述它們是如何工作的顶捷?

15、UIViewVontroller的didRectlveMemoryWarning是在什么時(shí)候被調(diào)用

16屎篱、protocal是什么服赎?如何使用?

17交播、說(shuō)說(shuō)你對(duì)線(xiàn)程的理解重虑?

18、說(shuō)說(shuō)你對(duì)MVC的理解秦士?

杉德面試題

1缺厉、iOS允許最近本地通知數(shù)最大是多少

A.16B.32C.64D.128

2、int sum =0 ;

for ( int i= 0 , i < 5,I ++){

for( int j = 0, j < 3, j++){

sum = i + j ;

}

}

請(qǐng)問(wèn)sum等于多少

A.3B.4C.5D.6

3隧土、iOS自動(dòng)布局首先出現(xiàn)在哪個(gè)iOS系統(tǒng)中提针?

A.iOS4.0B.iOS5.0

C.iOS6.0D.iOS7.0

4、讓一個(gè)UIView刷新的方法是

A.setNeedsDisplayB.drawPect

C.loadViewD.initWithFrame

5曹傀、objective—C中category是什么

A.類(lèi)目B.協(xié)議

C.延展D.代理

6辐脖、int m =0; int n = m++; m= n ++,請(qǐng)問(wèn)m的結(jié)果是什么

A.0B.1C.2D.3

7卖毁、要實(shí)現(xiàn)自定義對(duì)象的歸檔必須實(shí)現(xiàn)的協(xié)議是

A.NSCopyingB.NSCoding

8揖曾、指出深拷貝和淺拷貝的區(qū)別

9落萎、指出protocal和notification的區(qū)別和使用方式

10亥啦、Objective—C的內(nèi)存管理機(jī)制

11、纖細(xì)說(shuō)明kvc和kvo的區(qū)別和在什么情況下使用

12练链、什么是UITableView的重用機(jī)制

13翔脱、有一個(gè)序列M,如何判斷其中是否有兩個(gè)元素A媒鼓、B的和為K届吁?如何判斷三個(gè)元素A、B绿鸣、C的和為K

高德面試題

1疚沐、簡(jiǎn)述Object-C的內(nèi)存管理方式及過(guò)程(非ARC)?

2潮模、什么時(shí)候需要在程序中創(chuàng)建內(nèi)存池(autorelease

pool)亮蛔?

3、寫(xiě)一個(gè)setter方法用于完成@property(nonatomic,retain)NSString*name;

a)寫(xiě)一個(gè)setter方法用于完成@property(nonatomic,copy)NSString*name?

4擎厢、什么時(shí)候使用NSMutableArray究流,什么時(shí)候使用NSArray辣吃?他們的線(xiàn)程安全性如何?

5芬探、簡(jiǎn)述#import與#include的區(qū)別神得,@class呢?

6偷仿、簡(jiǎn)述繼承和類(lèi)別(categories)的區(qū)別哩簿?

7、什么是KVO和KVC酝静?

8卡骂、什么事lazy loading?有什么地方用到了形入?

9全跨、你經(jīng)常使用類(lèi)NSObject的哪些方法?

10亿遂、寫(xiě)出獲取單例(Singleton)的類(lèi)方法浓若,考慮多線(xiàn)程的問(wèn)題?

11蛇数、用object-c寫(xiě)一個(gè)冒泡排序函數(shù)挪钓,輸入為一個(gè)儲(chǔ)存NSNumber的可變數(shù)組,輸出void耳舅?

快約真實(shí)面試題

1碌上、OOP設(shè)計(jì)遵循什么樣的原則

2、例舉一些你擅長(zhǎng)的設(shè)計(jì)模式

3浦徊、介紹一下你最擅長(zhǎng)的設(shè)計(jì)模式

4馏予、了解過(guò)哪些UML圖

5、如果設(shè)計(jì)一個(gè)交易平臺(tái)盔性,流程如下:A用戶(hù)在平臺(tái)P發(fā)現(xiàn)B用戶(hù)有東西出售霞丧,P平臺(tái)的業(yè)務(wù)邏輯是需要A先付款到P得中間賬戶(hù),等到A確認(rèn)收貨后冕香,P向B付款蛹尝,你能?chē)L試某種表示方式來(lái)讓程序員,產(chǎn)品設(shè)計(jì)悉尾,美術(shù)設(shè)計(jì)明白這個(gè)流程么突那?

6、你最常用的設(shè)設(shè)計(jì)模式有哪些构眯?

7愕难、OC中如何實(shí)現(xiàn)繼承

8、OC是否有指針的概念

9、NS/CF/CG/CA/UI這些前綴分別是什么含義

10务漩、OC中最常用的類(lèi)拄衰,時(shí)間,UI元素饵骨,庫(kù)翘悉,以及第三方庫(kù)?

11居触、如果你來(lái)指導(dǎo)新人入手OC的學(xué)習(xí)妖混,你會(huì)如何讓劃分學(xué)習(xí)路徑?

12、從其他語(yǔ)言轉(zhuǎn)向OC開(kāi)發(fā),需要有哪些適應(yīng)萍聊?

13、如何實(shí)現(xiàn)一個(gè)布局祥楣?以及嵌套布局?

14汉柒、如何實(shí)現(xiàn)多層UI误褪?

15、OC中有哪些事件

16碾褂、動(dòng)畫(huà)如何實(shí)現(xiàn)兽间?如果自己實(shí)現(xiàn)動(dòng)畫(huà),該如何考慮

17正塌、OC中如何做內(nèi)存管理嘀略?何時(shí)需要手動(dòng)管理

18、如果A引用B1乓诽,B1引用C1帜羊,然后B2也引用C1,現(xiàn)在B1釋放了C1如何做到B2也自動(dòng)釋放C1

19问裕、有哪些實(shí)現(xiàn)多線(xiàn)程的方式逮壁?有哪些庫(kù)?

20粮宛、多線(xiàn)程沖突如何解決

21、iOS運(yùn)行時(shí)至少運(yùn)行了幾種線(xiàn)程卖宠?分別是什么

22巍杈、OC中異步使用的哪種事件模型

23、聊聊iOS中異步實(shí)現(xiàn)機(jī)制

24扛伍、如何指定使用哪個(gè)函數(shù)來(lái)處理異步結(jié)果

25筷畦、iOS的核心是什么

26、為什么MVC與PC不一樣?有哪些不一樣鳖宾?

27吼砂、你認(rèn)為iOS開(kāi)發(fā)和Android開(kāi)發(fā)有什么相通之處?為什么鼎文?

28渔肩、iOS中包含哪些信息?

29拇惋、Xcode調(diào)試時(shí)如何及時(shí)產(chǎn)看表達(dá)式的值

30周偎、清告訴你的客戶(hù)為什么要升級(jí)到iOS7

31、介紹一下你最常用的數(shù)據(jù)結(jié)構(gòu)

32撑帖、計(jì)算過(guò)程最重要的信息是什么蓉坎?

33、iOS對(duì)網(wǎng)絡(luò)的定義中胡嘿,分了幾層蛉艾?分別是哪幾層?

34衷敌、訪(fǎng)問(wèn)方法GET和POST的區(qū)別是什么伺通?

35、HTTP頭是什么樣子的逢享?其中有哪些信息罐监?哪些信息是必須的?

36瞒爬、客戶(hù)端渡河將二進(jìn)制數(shù)據(jù)傳送給服務(wù)器

37弓柱、以前的項(xiàng)目如何保證安全

38、在客戶(hù)端與服務(wù)器端結(jié)合開(kāi)發(fā)的整合系統(tǒng)中侧但,客戶(hù)端與服務(wù)器端分貝適合做什么矢空?客戶(hù)端不能做什么?

39禀横、HTTP與HTTPS過(guò)程分別是什么樣子屁药?有何異同

40、你在工作過(guò)程中柏锄,覺(jué)得最重要的能力有哪些酿箭?怎么獲得這些能力

41、能否告訴我們你對(duì)自己的未來(lái)是如何規(guī)劃的趾娃?現(xiàn)階段你學(xué)要什么缭嫡?

42、在校期間學(xué)習(xí)了哪些專(zhuān)業(yè)課程抬闷?

43妇蛀、如何學(xué)習(xí)耕突,聊聊你在學(xué)習(xí)方面的習(xí)慣

44、如何解決問(wèn)題评架?

45眷茁、在校期間哪些課程學(xué)的比較好?

46纵诞、告訴我們上祈,你常活躍的社區(qū)挣磨,賬號(hào)

47雇逞、為什么離開(kāi)上家公司?為什么是現(xiàn)在離開(kāi)茁裙?

48塘砸、聊聊最精彩的實(shí)現(xiàn)實(shí)例

49、談?wù)勔郧白钕矚g的同事

50晤锥、薪資要求

51掉蔬、我們的問(wèn)題雖多,但還是不能全面挖掘你的潛力矾瘾。能否聊聊哪些方面比較擅長(zhǎng)女轿?我們沒(méi)有問(wèn)到的?

終端中心面試題目

1壕翩、有一個(gè)老板類(lèi)boss類(lèi)蛉迹,一個(gè)助理類(lèi)assistant類(lèi),讓助理實(shí)現(xiàn)發(fā)工資方法payOff()放妈,在第三個(gè)類(lèi)user類(lèi)里調(diào)用(delegate實(shí)現(xiàn))

2北救、2.@interfaceViewController:UIViewController

{

NSData*_c;

}

@property(nonatomic,retain)NSData *a;

@property(nonatomic,copy)NSData *b;

@property(nonatomic,copy)NSData *c;

@implementation ViewController

@synthesize a;

@synthesize b;

@synthesize c = _c;

-(void)viewDidLoad

{

[super viewDidLoad];

NSData *e = [[NSData alloc]init];

NSData *d;

self.a = 0;

self.b = 0;

d = 0;

_c = 0;

self.c = 0;

NSLog(@“count====%d”,[e reatinCount]);

}

retainCount值是多少?

3芜抒、簡(jiǎn)述delegate珍策,KVO,NSNotification區(qū)別宅倒?

4攘宙、IOS動(dòng)畫(huà)處理如何做出彈性效果?

5拐迁、IOS中類(lèi)方法的好處蹭劈?

6、請(qǐng)寫(xiě)出結(jié)果

void main()

{

int a[5] = {1,2,3,4,5};

int *ptr = (int *)(&a+1);

printf(“%d,%d\n\n”,*(a+3),*(ptr-2));

}

7唠亚、用指針?lè)椒▽⒆址癱arsmart123456”對(duì)調(diào)顯示

珍品網(wǎng)面試題

1链方、求以下程序段的輸出

int func(int x)

{

int countx = 0;

while(x){

countx++;

x=x&(x-1);

}

return counts;

}

int main(int argc,constchar*argv[])

{

@autoreleasepool{

NSLog(@“%d”,func(2013));

}

return 0;

}

2、什么時(shí)候使用NSMutableArray灶搜,什么時(shí)候使用NSArray?

3、你所了解的單例有哪些割卖?請(qǐng)寫(xiě)一個(gè)單例的示例代碼前酿?

4、請(qǐng)寫(xiě)出使用委托(代理)的示例代碼鹏溯?

5罢维、寫(xiě)出控制器加載視圖的常規(guī)調(diào)用方法流程?

6丙挽、Objective-C有多繼承么肺孵?不是的話(huà),如何解決颜阐?

7平窘、請(qǐng)寫(xiě)出下面代碼的打印結(jié)果(默認(rèn)在32位機(jī)器下運(yùn)行)

char a[] = “hello world”;

char *p = a;

NSLog(@“%ld”,sizeof(a));

NSLog(@“%ld”,sizeof(p));

如果在64位機(jī)器上運(yùn)行

8、檢查如下代碼是否有問(wèn)題凳怨,如果有問(wèn)題瑰艘,正確的寫(xiě)法是?

-(void)setTarget:(NSObject*)target

{

self.target = target;

}

9肤舞、指出下面代碼的問(wèn)題

-(void)willEndStepOne:(NSObject*)userInfo

{

[NSThreaddetachNewThreadSelector:@selector(doSomeThing:)toTatget:selfwithObject:userInfo];

}

-(void)doSomeThing:(NSObject*)userInfo

{

int max_loop_times = 999999;

for(int i=0,i

int randNum = rand();

NSString *tmpString =[NSString stringWithFormat:@“%d”,randNum];

NSLog(@%@“,tmpString);

}

}

10紫新、談?wù)剬?duì)Block的理解?并寫(xiě)出一個(gè)使用Block執(zhí)行UIView動(dòng)畫(huà)李剖?([UIView

transitionWithView:duration:animations:completion:]芒率;)

11、做過(guò)的項(xiàng)目是否涉及網(wǎng)絡(luò)訪(fǎng)問(wèn)功能篙顺,使用什么對(duì)象完成網(wǎng)絡(luò)功能偶芍?

12、簡(jiǎn)單介紹下NSURLConnection類(lèi)及+sendS也能長(zhǎng)榮歐式Request:returningRespinse:error:與-initWithRequest:delegate:兩個(gè)方法的區(qū)別慰安?

13腋寨、在iPhone應(yīng)用中如何保存數(shù)據(jù)?

北京銀達(dá)面試題

1化焕、截止到2012年1月萄窜,iPhone手機(jī)所使用的操作系統(tǒng)最新版本是多少?

A .4.2B. 4.3C. 5.0D.5.0.1

2撒桨、以下設(shè)備中查刻,iPhone軟件開(kāi)發(fā)一般不會(huì)涉及的是?

iPhoneB.iPod touchC.ThinkpadD.iPad

3凤类、在一個(gè)最常見(jiàn)的Xcode工程中穗泵,通常不會(huì)出現(xiàn)的文件擴(kuò)展名是?

A.PNGB.XIBC.MD.CPP

4谜疤、曹某在Interface Builder中繪制了一個(gè)按鈕佃延,并想在代碼中修改這個(gè)按鈕上的文字现诀,一般是通過(guò)什么方式讓代碼與界面中的按鈕建立聯(lián)系的?

A.OutletB.ActionC.EventD.Build

5履肃、客戶(hù)有一份聯(lián)系人名單仔沿,是聯(lián)系人姓名和電話(huà)的對(duì)應(yīng)關(guān)系,需要從遠(yuǎn)程服務(wù)器動(dòng)態(tài)獲取尺棋,并在內(nèi)存中暫存封锉,以供界面調(diào)用,以下數(shù)據(jù)結(jié)構(gòu)中適合此要求的是膘螟?

A.DictionaryB.HashMapC.NSMutableURLRequestD.NSDictionary

6成福、iPhone應(yīng)用可以相應(yīng)用戶(hù)旋轉(zhuǎn)手機(jī)屏幕的操作,并根據(jù)當(dāng)前手機(jī)所處的方向來(lái)決定內(nèi)容如何顯示荆残,請(qǐng)問(wèn)表示iPhone手機(jī)默認(rèn)朝向的時(shí)以下哪種代碼奴艾?

A.UIInterfaceOrientationPortralt

B.UIInterfaceOrientationPortraltUpsideDown

C.UIInterfaceOrientationLandscapeLeft

D.UIInterfaceOrientationLandscapeRight

7、曹某在自己的業(yè)務(wù)類(lèi)中寫(xiě)了一個(gè)方法脊阴,能動(dòng)態(tài)創(chuàng)建一個(gè)NSObject對(duì)象的實(shí)例objA握侧,并以其作為方法的返回值。但應(yīng)用在調(diào)試過(guò)程中總是發(fā)生內(nèi)存泄露嘿期,經(jīng)跟蹤是這個(gè)方法出了問(wèn)題品擎。請(qǐng)問(wèn)曹某再次方法中漏寫(xiě)了什么。

A.[objA release];B.[objA alloc];C.[objA autorelease];D.[objAretain];

曹某謝了一個(gè)金融應(yīng)用备徐,由于金融交易過(guò)程較為敏感不適合被中途打斷萄传,此外客戶(hù)的手機(jī)同時(shí)還運(yùn)行著其他重要的應(yīng)用,他決定讓自己的應(yīng)用盡可能的減小不必要的資源占用蜜猾。請(qǐng)?jiān)嚮卮鹨幌聠?wèn)題秀菱。

8、曹某在自己的手機(jī)上調(diào)試此應(yīng)用時(shí)蹭睡,發(fā)現(xiàn)程序代碼收到了系統(tǒng)方法來(lái)的內(nèi)存警告事件衍菱,他應(yīng)該在didReceiveMemoryWarning方法中實(shí)現(xiàn)的操作室?

A.清理當(dāng)前所有狀態(tài)信息肩豁,并退回登陸界面

B.顯示對(duì)話(huà)框以提醒使用者

C.將此情況通知遠(yuǎn)程服務(wù)器進(jìn)行記錄

D.以上皆非

9脊串、客戶(hù)要求此應(yīng)用一直駐留后臺(tái),定時(shí)從遠(yuǎn)程服務(wù)器獲取最新數(shù)據(jù)清钥,在允許違反官方應(yīng)用設(shè)計(jì)規(guī)范的前提下琼锋,不能實(shí)現(xiàn)此要求的方法是?

A.實(shí)現(xiàn)后臺(tái)位置服務(wù)接口

B.實(shí)現(xiàn)VoIP接口

C.實(shí)現(xiàn)音樂(lè)播放器接口

D.實(shí)現(xiàn)后臺(tái)延時(shí)任務(wù)接口

10祟昭、客戶(hù)修改了需求缕坎,要求按home鍵退出應(yīng)用之后,下次再進(jìn)入時(shí)不保留上次應(yīng)用所處的狀態(tài)篡悟,直接回到初始界面谜叹,要實(shí)現(xiàn)此功能最好的方法是匾寝?

A.響應(yīng)系統(tǒng)發(fā)出的applicationDidEnterBackground事件,并清理所有狀態(tài)信息

B.相應(yīng)系統(tǒng)發(fā)出的applicationWillEnterForeground事件叉谜,并清理所有狀態(tài)信息

C.相應(yīng)系統(tǒng)發(fā)出的applicationWillTerminate事件旗吁,并清理所有狀態(tài)信息

D.修改應(yīng)用plist踩萎,放棄多任務(wù)支持

11停局、簡(jiǎn)答題二選一:

使用TabBarController和NavigationController實(shí)現(xiàn)一個(gè)iPhone基本應(yīng)用的界面,請(qǐng)簡(jiǎn)單畫(huà)出根視圖和若干子視圖之間的嵌套關(guān)系香府。

實(shí)現(xiàn)一個(gè)基本的iPad應(yīng)用董栽,請(qǐng)簡(jiǎn)單畫(huà)出根視圖和其他視圖之間的嵌套關(guān)系。

12企孩、簡(jiǎn)答題:請(qǐng)簡(jiǎn)述你所開(kāi)發(fā)的應(yīng)用在過(guò)去某次iPhone系統(tǒng)版本更新后遇到的API兼容問(wèn)題锭碳,以及時(shí)如何解決的。

13勿璃、編程題:現(xiàn)有一個(gè)控制器是UITableViewController的子類(lèi)擒抛,其中一個(gè)名叫functions的屬性是包含了tableView個(gè)選項(xiàng)名稱(chēng)的NSArray對(duì)象,另有一個(gè)images屬性是包含了各選項(xiàng)圖片的NSArray對(duì)象补疑。在不考慮復(fù)用UITableViewCell節(jié)省內(nèi)存的前提下歧沪,請(qǐng)實(shí)現(xiàn)其中的如下方法:

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

注:UITableViewCell通過(guò)textLable和imageView屬性來(lái)設(shè)置名稱(chēng)和圖片。

搜房網(wǎng)面試題

1莲组、Object-c的類(lèi)可以多重繼承么诊胞?可以實(shí)現(xiàn)多個(gè)接口么?Category是什么锹杈? 重寫(xiě)一個(gè)類(lèi)的時(shí)候是繼承好還是分類(lèi)好撵孤? 為什么 ?

2竭望、#import跟#include有什么區(qū)別#import<>跟#import有什么區(qū)別邪码?

3、類(lèi)變量的@protected咬清,@private闭专,@public,@package聲明各有什么含義枫振?

4喻圃、id聲明的對(duì)象有什么特性?

5粪滤、對(duì)于語(yǔ)句N(xiāo)sstring*testObject=[NSData alloc]init];testObject在編譯時(shí)和運(yùn)行時(shí)…..的對(duì)象斧拍。

6、MVC是什么 杖小?有什么特征肆汹?為什么在iphone上被廣泛運(yùn)用愚墓?

7、什么是安全釋放昂勉?

8浪册、property中屬性retain,copy,assgin的含義分別是什么?有什么區(qū)別岗照?將其轉(zhuǎn)換成get/set方法怎么做村象?有什么注意事項(xiàng)?

-(void)setInstance:(id)instance{

if (_instance != instance) {

[_instance release];

_instance = [instance retain];

}

}

-(void)setInstance:(id)instance{

if (_instance != instance) {

[_instance release];

_instance = [instance copy];

}

}

-(void)setInstance:(id)instance{

if (_instance != instance) {

_instance = instance;

}

}

9攒至、淺拷貝和深拷貝區(qū)別是什么厚者?

10、

for(int index=0迫吐;index<20 index++){

NSString

*tenpStr=@“tempStr”库菲;

NSLog(tempStr);

NSNumber*tempNumber=[NSNumbernumberWithint:2];

NSLog(tempNumber);

}

這段代碼有什么問(wèn)題.志膀?會(huì)不會(huì)造成內(nèi)存泄露(多線(xiàn)程)熙宇?在內(nèi)存緊張的設(shè)備上做大循環(huán)時(shí)自動(dòng)釋放池是寫(xiě)在循環(huán)內(nèi)好還是循環(huán)外好?為什么溉浙?烫止?

11、內(nèi)存管理的幾天原則是什么放航?按照默認(rèn)法則烈拒,哪些關(guān)鍵字生成的對(duì)象需要手動(dòng)釋放內(nèi)存的時(shí)候怎樣有效地避免內(nèi)存泄露?

12广鳍、在一個(gè)對(duì)象釋放前.如果他被加到了notificationCenter中.不在notificationcenter中remove這個(gè)對(duì)象可能會(huì)出現(xiàn)什么問(wèn)題荆几?

13、怎樣實(shí)現(xiàn)一個(gè)singleton的類(lèi)赊时,給出思路吨铸。

14、什么是序列化或者Acrchiving祖秒,可以用來(lái)做什么诞吱,怎樣與copy結(jié)合,原理是什么

15竭缝、線(xiàn)程是什么房维? 有什么注意事項(xiàng)?

16抬纸、在iphone上有兩件事情要做,請(qǐng)問(wèn)是在一個(gè)線(xiàn)程里按順序做效率高還是兩個(gè)線(xiàn)程里做效率高咙俩?為什么?.

17、runloop是什么阿趁?在主線(xiàn)程中的某個(gè)函數(shù)里調(diào)用了異步函數(shù)膜蛔,怎么樣block當(dāng)前線(xiàn)程,且還能響應(yīng)當(dāng)前線(xiàn)程的timer事件,touch事件等?

未命名1

1脖阵、打開(kāi)URl到網(wǎng)頁(yè)的代碼

2皂股、判斷字典對(duì)象的元素是否為空

3、以下每行代碼執(zhí)行后命黔,parson對(duì)象的retain count分別是多少

Person * person = [[Person alloc] init ] ;

[person retain];

[personrelseae];

[person release];

4呜呐、ViewController得LoadView,viewDidLoad纷铣,viewDidUnLoad分別是什么時(shí)候調(diào)用的卵史?

5、frame和bounds的區(qū)別

6搜立、寫(xiě)一個(gè)標(biāo)準(zhǔn)的宏MIN,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)槐秧。

7啄踊、你使用過(guò)json解析方式么,它們的底層是如何處理的你了解么刁标?對(duì){}颠通、[]、:等的理解膀懈?

8顿锰、@synthesize

xxx來(lái)實(shí)現(xiàn)實(shí)際代碼

未命名2

1、屬性readwrite启搂,readonly硼控,assign,retain胳赌,copy牢撼,nonatomic各有什么作用,在什么情況下用疑苫?

2熏版、為什么很多內(nèi)置類(lèi)如UITableViewController的delegate屬性都是assign而不是retain的?

3捍掺、Object-c的類(lèi)可以多重繼承么撼短?Category是什么?重寫(xiě)一個(gè)類(lèi)的方式用繼承好還是分類(lèi)好挺勿?為什么曲横?

4、#import跟#include有什么區(qū)別满钟,@class呢胜榔?

5胳喷、談?wù)勀銓?duì)ARC的認(rèn)識(shí)和理解?

6夭织、什么是Notification ?什么時(shí)候用delegate吭露,什么時(shí)候用Notification?

7尊惰、ViewController的loadView讲竿,viewDidLoad,viewDidUnload分別是在什么時(shí)候調(diào)用的弄屡?在自定義ViewController的時(shí)候這幾個(gè)函數(shù)里面應(yīng)該做什么工作题禀?

8、簡(jiǎn)述多線(xiàn)程操作的方法膀捷,以及各個(gè)方法的優(yōu)缺點(diǎn)迈嘹。

9、說(shuō)一說(shuō)對(duì)BLOCK的解釋全庸。使用過(guò)程中需要注意的地方有哪些秀仲?

10、簡(jiǎn)述ios動(dòng)畫(huà)機(jī)制壶笼。

11神僵、簡(jiǎn)述ios數(shù)據(jù)存儲(chǔ)方式。

12覆劈、簡(jiǎn)要介紹常見(jiàn)的第三方框架保礼,以及用途。

13责语、簡(jiǎn)要敘述MVC在ios開(kāi)發(fā)中的應(yīng)用炮障。

14、簡(jiǎn)述常見(jiàn)ios流媒體傳輸協(xié)議鹦筹。

15铝阐、簡(jiǎn)述播放流媒體的常見(jiàn)方法。

16铐拐、如何采集視頻源和音頻源的數(shù)據(jù)徘键?

17、什么是H264編碼遍蟋?什么是AAC編碼吹害?如何實(shí)現(xiàn)?

18虚青、是否了解ffmpeg它呀? 請(qǐng)簡(jiǎn)要敘述ffmpeg的理解

未命名3

1、下面片段代碼中,哪個(gè)選項(xiàng)是正確的初始化纵穿,為什么下隧?有哪些類(lèi)型的初始化需要手動(dòng)去釋放?

@property (nonatomic,retain)NSMutableArray* votelist;//.h文件

@synthesize votelist;//.m文件

a谓媒、self.votelist=[[NSMutableArrayalloc] init];

b淆院、votelist=[[NSMutableArray alloc] init];

2、assign句惯、retain土辩、copy筒严、nonatomic骨宠、readonly屬性的作用

3摔踱、Category與繼承的區(qū)別

4谨履、KVC和KVO是什么?

5孵班、ViewController的viewDidLoad,viewWillAppear,viewDidUnload,dealloc

分別是在什么時(shí)候調(diào)用困肩,在自定義ViewController的中這幾個(gè)函數(shù)里面應(yīng)該做什么工作带族?

6邓厕、聲明一個(gè)類(lèi)和一個(gè)靜態(tài)方法

7逝嚎、TaableView加載網(wǎng)絡(luò)文本,圖片時(shí)要注意什么

8详恼、#import與#imclde的區(qū)別

9、線(xiàn)程與進(jìn)程的區(qū)別和聯(lián)系

10引几、寫(xiě)一個(gè)委托delegate的定義昧互,實(shí)現(xiàn)過(guò)程

未命名4

3、定義int

**a[3][4]伟桅,則變量占有的內(nèi)存空間為:_______

4敞掘、寫(xiě)一個(gè)函數(shù)完成內(nèi)存之間的拷貝

void *mymemcpy( void * dest , const void * src , size_tcount).

5、編寫(xiě)一個(gè)函數(shù)subs(char * str)打印出str的所有子串(例如1234的子串包括:1.2.3.4.12.23.34.123.234.1234.)

6楣铁、完成字符串拷貝可以使用sprintf玖雁、strcpy、以及memcpy函數(shù)盖腕,請(qǐng)問(wèn)這些函數(shù)有什么區(qū)別?你喜歡哪一個(gè)赫冬?為什么?

7溃列、首先編寫(xiě)函數(shù)計(jì)算一個(gè)字節(jié)(byte)里有多少bit被置為1劲厌,例如輸入9即(1001) ,輸出2.然后考慮如果大量重復(fù)調(diào)用此函數(shù)如何優(yōu)化

8听隐、完成下列鏈表類(lèi)

class List{

…………//任意增加類(lèi)成員

public:

//將pNewNode插入到鏈表中补鼻,放在pOldNode的前面

bool InsertBefore(Node * pNewNode,Node *pOldNode);

void Delete(Node * pNode);

}

9、

chass find {

void add(char * tel)风范;

void find(char *

tel)咨跌;

}

//號(hào)碼長(zhǎng)度有11位,有一文件存這10億個(gè)電話(huà)號(hào)碼硼婿,實(shí)現(xiàn)上面find類(lèi)锌半,使下面的程序

f.ind(tel)函數(shù)可以快速的查找任意號(hào)碼是否存在

void main(){

find f;

char * tel;

while(tel = readtel()){??? //從文件中讀出電話(huà)號(hào)碼

f.add(tel);

}

tel = 13512345678;

if (f.find (tel)){

pringf(“找到手機(jī)號(hào)碼%s\n,tel”);

} else {

pringf(“未找到手機(jī)號(hào)碼%s\n,tel”);

}

}

10、怎樣快速檢測(cè)出一個(gè)巨大的鏈表中得死鏈加酵,(遍歷鏈表時(shí)會(huì)循環(huán)的鏈)拳喻?

盡量不改變?cè)墟湵頂?shù)據(jù),考慮好空間復(fù)雜度與時(shí)間復(fù)雜度猪腕。


======================================


以下是我面試過(guò)程中記錄下來(lái)的重點(diǎn)的面試及筆試題冗澈,算是我對(duì)千鋒的一點(diǎn)點(diǎn)感恩致謝,在此感謝恩師的栽培陋葡。

總結(jié)了一下:新浪微博愛(ài)問(wèn)UI亚亲,數(shù)據(jù)緩存應(yīng)用方面的實(shí)現(xiàn),騰訊愛(ài)問(wèn)原理腐缤,坑爹的百度就喜歡拿算法來(lái)得瑟捌归。

面試制勝之招:

1.原理性的知識(shí),必須背下來(lái)岭粤,代碼不需要會(huì)寫(xiě)惜索,沒(méi)人要求寫(xiě)原理、底層的代碼(這是一個(gè)空子剃浇,可以鉆)

2.鏈表操作巾兆,排序算法最好是能默寫(xiě)

3.面試始終保持平靜,冷靜虎囚,鎮(zhèn)靜角塑,面試再刁難也要保持端坐,面帶一絲微笑

4.對(duì)喜歡的公司最好能表現(xiàn)出對(duì)加入目標(biāo)公司的渴望淘讥,對(duì)技術(shù)的追求

5.加分的地方:對(duì)簡(jiǎn)歷上的項(xiàng)目很熟悉圃伶,技術(shù)點(diǎn)都有所研究,包括封裝蒲列,細(xì)節(jié)實(shí)現(xiàn)窒朋;最好能把MJExtension框架多敲幾遍,包裝成自己開(kāi)發(fā)的工具(顯示自己大神的威力)

工作建議:沒(méi)人查個(gè)人背景(這點(diǎn)不用太擔(dān)心嫉嘀,大不了重新找)炼邀;上班后勤勉工作,最好不要泡在QQ上剪侮,不懂趕緊問(wèn)拭宁,別拖延時(shí)間洛退,轉(zhuǎn)正期也是適應(yīng)期多,花點(diǎn)時(shí)間在工作上杰标,工作態(tài)度非常非常重要兵怯。

一.簡(jiǎn)述題

1.堆和棧的內(nèi)存區(qū)別,它們是如何分配和釋放的--必須問(wèn)腔剂,必須背下來(lái)

2.self.與self->區(qū)別--必須問(wèn)媒区,必須背下來(lái)

3.ARC自動(dòng)引用技術(shù)原理,自動(dòng)釋放池什么時(shí)候銷(xiāo)毀(兩次被問(wèn)到掸犬,回答大括號(hào)結(jié)束時(shí)銷(xiāo)毀袜漩,面試官就笑著對(duì)我:“呵呵”。最后問(wèn)了面試官:runloop結(jié)束時(shí)銷(xiāo)毀湾碎,還是沒(méi)弄明白)---騰訊宙攻,百度,新浪微博

4.定義屬性時(shí)nonatomic,atomic,copy,assign,retain內(nèi)部實(shí)現(xiàn)原理---騰訊

5.蘋(píng)果公司為什么要推出strong和weak

6.怎樣實(shí)現(xiàn)一個(gè)singleton,請(qǐng)給出思路(最好直接寫(xiě)出來(lái))—必須問(wèn)介褥,必須背下來(lái)

7.請(qǐng)簡(jiǎn)述KVO內(nèi)部的實(shí)現(xiàn)座掘,使用條件---新浪微博

8.請(qǐng)用代碼描述錯(cuò)誤消息處理---騰訊,百度

9.消息轉(zhuǎn)發(fā)內(nèi)部原理(結(jié)構(gòu)指針柔滔,方法選擇器溢陪,forwarding...一串破玩意兒)--百度

9.iOS消息傳遞機(jī)制都有什么?如何傳遞睛廊?---騰訊形真,百度,新浪微博

10.有網(wǎng)絡(luò)或無(wú)網(wǎng)絡(luò)情況下兩個(gè)APP之間如何通信---新浪微博

11.將UIButton添加到UIView上超全,如果UIButton的frame的(0,0)不在UIView上没酣,UIButton能不能被點(diǎn)擊,為什么卵迂?,UIButton如果被添加到UILabel上绒净,點(diǎn)擊能響應(yīng)嗎见咒?---新浪微博

12.如果每個(gè)View上都想增加一個(gè)時(shí)間播放控件,如何實(shí)現(xiàn)挂疆?---新浪微博

13.利用UIScrollView縮放性改览,如何實(shí)現(xiàn)地圖上商家地理位置的動(dòng)態(tài)顯示---騰訊

14.運(yùn)行時(shí)的工作原理,OC動(dòng)態(tài)行---騰訊缤言,百度宝当,新浪微博

15.AFN與asi的本質(zhì)區(qū)別---騰訊,百度胆萧,新浪微博(主要問(wèn)底層實(shí)現(xiàn))

16.clayer的坐標(biāo)與frame的坐標(biāo)如何轉(zhuǎn)化---騰訊庆揩,百度俐东,新浪微博

17.循環(huán)引用---騰訊,百度订晌,新浪微博

18.runloop原理---騰訊虏辫,百度,新浪微博

二.算法題

1.定義指針函數(shù)實(shí)現(xiàn)數(shù)組排序(百度)

2.實(shí)現(xiàn)一單鏈表的逆轉(zhuǎn)锈拨,排序(DML方面)(騰訊砌庄,百度)

3.已知一組數(shù)字:32,35,9,25,19,34,43,47,3要求按以下規(guī)則進(jìn)行排序:第一個(gè)數(shù)最大,第二個(gè)數(shù)最小奕枢,第三個(gè)數(shù)是剩下中的最大的娄昆,第四個(gè)數(shù)是剩下中的最小的,依此類(lèi)推缝彬。(騰訊)

4.函數(shù)將字符串中的字符'*'移到串的前部分萌焰,前面的非'*'字符后移,但不能改變非'*'字符的先后順序跌造,函數(shù)返回串中字符'*'的數(shù)量杆怕。如原始串為:ab**cd**e*12,處理后為*****abcde12壳贪,函數(shù)并返回值為5,(要求使用盡量少的時(shí)間和輔助空間)(百度)

5.實(shí)現(xiàn)memmove算法(金山網(wǎng)絡(luò))

6.求1+2+3+...+n要求不能使用除法陵珍、for、while违施、if互纯、else、switch磕蒲、case等關(guān)鍵字以及條件判斷語(yǔ)句(A?B:C)(金山網(wǎng)絡(luò))

7.判斷一個(gè)IP的有效性(百度)


=========================================


一留潦、多線(xiàn)程及網(wǎng)絡(luò)相關(guān)的問(wèn)題:

1.多線(xiàn)程的底層實(shí)現(xiàn)?

2.線(xiàn)程間怎么通信辣往?

3.網(wǎng)絡(luò)圖片處理問(wèn)題中怎么解決一個(gè)相同的網(wǎng)絡(luò)地址重復(fù)請(qǐng)求的問(wèn)題兔院?

4.用NSOpertion和NSOpertionQueue處理A,B,C三個(gè)線(xiàn)程,要求執(zhí)行完A,B后才能執(zhí)行C,怎么做?

5.列舉cocoa中常見(jiàn)對(duì)集中多線(xiàn)程的實(shí)現(xiàn)站削,并談?wù)劧嗑€(xiàn)程安全的幾種解決辦法及多線(xiàn)程安全怎么控制坊萝?

6.gcd內(nèi)部怎么實(shí)現(xiàn)的

7.你用過(guò)NSOperationQueue么?如果用過(guò)或者了解的話(huà)许起,你為什么要使用NSOperationQueue十偶,實(shí)現(xiàn)了什么?請(qǐng)描述它和GCD的區(qū)別和類(lèi)似的地方(提示:可以從兩者的實(shí)現(xiàn)機(jī)制和適用范圍來(lái)描述)园细。

8.既然提到GCD惦积,那么問(wèn)一下在使用GCD以及block時(shí)要注意些什么?它們兩是一回事兒么猛频?block在ARC中和傳統(tǒng)的MRC中的行為和用法有沒(méi)有什么區(qū)別狮崩,需要注意些什么蛛勉?

9.在異步線(xiàn)程中下載很多圖片,如果失敗了,該如何處理?請(qǐng)結(jié)合RunLoop來(lái)談?wù)劷鉀Q方案.(提示:在異步線(xiàn)程中啟動(dòng)一個(gè)RunLoop重新發(fā)送網(wǎng)絡(luò)請(qǐng)求,下載圖片)

10. Socket的實(shí)現(xiàn)原理及Socket之間是如何通信的

二、內(nèi)存管理相關(guān)的問(wèn)題:

1.怎么保證多人開(kāi)發(fā)進(jìn)行內(nèi)存泄露的檢查.

2.非自動(dòng)內(nèi)存管理情況下怎么做單例模式.

3.對(duì)于類(lèi)方法(靜態(tài)方法)默認(rèn)是autoRelease的厉亏。我添加的代碼導(dǎo)致了過(guò)渡釋放董习。所有類(lèi)方法都會(huì)這樣嗎?

4._block函數(shù)在arc跟非arc里面有什么區(qū)別

5.什么情況下會(huì)發(fā)生內(nèi)存泄漏和內(nèi)存溢出爱只?

6.[Nsarry array withobject:]這個(gè)方法添加對(duì)象后皿淋,需要對(duì)這個(gè)數(shù)組做釋放操作嗎?

7.Josn數(shù)據(jù)的解析恬试,和解析數(shù)據(jù)的時(shí)候有內(nèi)存泄露嗎窝趣?有的話(huà)如何解決

三、C語(yǔ)言和Foundation相關(guān)的問(wèn)題

1.KVO內(nèi)部實(shí)現(xiàn)原理

2.是否可以把比較耗時(shí)的操作方在NSNotificationCenter中

3.Cocoa的Foundation對(duì)象與Core

Foundation對(duì)象有什么區(qū)別

4.不用中間變量,用兩種方法交換A和B的值

5.簡(jiǎn)單描述下對(duì)單利模式設(shè)計(jì)對(duì)理解训柴?

6.什么是動(dòng)態(tài)哑舒,舉例說(shuō)明

7.runtime實(shí)現(xiàn)的機(jī)制是什么,怎么用,一般用于干嘛.你還能記得你所使用的相關(guān)的頭文件或者某些方法的名稱(chēng)嗎?

8.是否使用過(guò)CoreText或者CoreImage等幻馁?如果使用過(guò)洗鸵,請(qǐng)談?wù)勀闶褂肅oreText或者CoreImage的體驗(yàn)。

9.NSNotification和KVO的區(qū)別和用法是什么仗嗦?什么時(shí)候應(yīng)該使用通知膘滨,什么時(shí)候應(yīng)該使用KVO,它們的實(shí)現(xiàn)上有什么區(qū)別嗎稀拐?如果用protocol和delegate(或者delegate的Array)來(lái)實(shí)現(xiàn)類(lèi)似的功能可能嗎火邓?如果可能,會(huì)有什么潛在的問(wèn)題德撬?如果不能铲咨,為什么?(雖然protocol和delegate這種東西面試已經(jīng)面爛了…)

10.Block內(nèi)部的實(shí)現(xiàn)原理

四蜓洪、數(shù)據(jù)存儲(chǔ)相關(guān)的問(wèn)題

1.如果后期需要增加數(shù)據(jù)庫(kù)中的字段怎么實(shí)現(xiàn)纤勒,如果不實(shí)用核心數(shù)據(jù)呢?

2.SQLite數(shù)據(jù)存儲(chǔ)是怎么用隆檀?

3.簡(jiǎn)單描述下客戶(hù)端到緩存機(jī)制踊东?

4.你實(shí)現(xiàn)過(guò)多線(xiàn)程的Core Data么?NSPersistentStoreCoordinator刚操,NSManagedObjectContext和NSManagedObject中的哪些需要在線(xiàn)程中創(chuàng)建或者傳遞?你是用什么樣的策略來(lái)實(shí)現(xiàn)的再芋?

五菊霜、UI控件相關(guān)的問(wèn)題

1.怎么解決緩存池滿(mǎn)的問(wèn)題,(cell)

2.CAAnimation的層級(jí)結(jié)構(gòu)

3.UIButton與UITableView的層級(jí)結(jié)構(gòu)

4.如何渲染自定義格式字符串的UILable

5.設(shè)置scroll view的contensize能在Viewdidload里設(shè)置么,為什么

6.按鈕或者其它UIView控件的事件傳遞的具體過(guò)程

7.控制器View的生命周期及相關(guān)函數(shù)是什么济赎?你在開(kāi)發(fā)中是如何用的鉴逞?

六记某、應(yīng)用程序相關(guān)的問(wèn)題

1.NSRunLoop的實(shí)現(xiàn)機(jī)制,及在多線(xiàn)程中如何使用

2.IOS7之前,后臺(tái)執(zhí)行內(nèi)容有幾種形式,都是什么

3.簡(jiǎn)單說(shuō)一下APP的啟動(dòng)過(guò)程,從main文件開(kāi)始說(shuō)起

4.把程序自己關(guān)掉和程序進(jìn)入后臺(tái),遠(yuǎn)程推送的區(qū)別

5.本地通知和遠(yuǎn)程推送通知對(duì)基本概念和用法?

七构捡、第三方框架相關(guān)的問(wèn)題

1.第三方API是怎么用的液南?

2.列舉現(xiàn)在熟悉iOS開(kāi)發(fā)庫(kù)和第三方開(kāi)發(fā)庫(kù)?

八勾徽、其它相關(guān)的問(wèn)題

1.客戶(hù)端安全性處理方式滑凉?

2.簡(jiǎn)單描述下社交行為到步足?

3.sip是什么喘帚?

4.數(shù)據(jù)比較大的時(shí)候是用內(nèi)循環(huán)畅姊,還是外循壞?

5.有些圖片加載的比較慢怎么處理?你是怎么優(yōu)化程序的性能的?

6.你實(shí)現(xiàn)過(guò)一個(gè)框架或者庫(kù)以供別人使用么吹由?如果有若未,請(qǐng)談一談構(gòu)建框架或者庫(kù)時(shí)候的經(jīng)驗(yàn);如果沒(méi)有倾鲫,請(qǐng)?jiān)O(shè)想和設(shè)計(jì)框架的public的API粗合,并指出大概需要如何做、需要注意一些什么方面乌昔,來(lái)使別人容易地使用你的框架隙疚。

7.App需要加載超大量的數(shù)據(jù)給服務(wù)器發(fā)送請(qǐng)求,但是服務(wù)器卡住了如何解決玫荣?

8.利用NSNotificationCenter實(shí)現(xiàn)跨多控制器傳輸數(shù)據(jù)和消息中用同步還是異步甚淡?


========================================


一般而言,小公司問(wèn)項(xiàng)目捅厂;大公司做筆試題贯卦;做地圖的一定考算法

Html5你用過(guò)沒(méi)有?有什么新特性焙贷?

HTTP撵割、UDP

請(qǐng)求的幾種方式?get和post

多線(xiàn)程有幾種方式辙芍?你用過(guò)沒(méi)有啡彬?你經(jīng)常用哪種?怎么用的故硅?

GCD并行

XMPP里面的怎么做的語(yǔ)言壓縮庶灿?群聊怎么做的?都有哪些吃衅。往踢。。你能自己寫(xiě)嗎徘层?

第三方框架你都用過(guò)哪些峻呕?怎么用的利职?能跟具體講講SDWebImage里面都有什么?圖片的異步加載瘦癌?圖文混排猪贪?

你用過(guò)KVO和NSNotification嗎?哪里用了讯私?為什么要热押?KVO與NSNotification有什么區(qū)別?

介紹下你的項(xiàng)目吧妄帘?

====================================


常見(jiàn)面試題:

1楞黄、請(qǐng)你做一下自我介紹

要求:時(shí)間在1-2分鐘提前背記好

舉例:您好,我叫xxx抡驼,我是13年計(jì)算機(jī)專(zhuān)業(yè)本科畢業(yè)生今天來(lái)貴公司面試xxx職位鬼廓,這份工作不僅與我的專(zhuān)業(yè)對(duì)口,同時(shí)也是我的特長(zhǎng)與興趣所在≈旅耍現(xiàn)在我就從以下三個(gè)方面介紹自己

一:社會(huì)實(shí)踐:我有一年半的xxx開(kāi)發(fā)經(jīng)驗(yàn)碎税,做過(guò)xxx等幾款項(xiàng)目,在開(kāi)發(fā)中擔(dān)項(xiàng)目組長(zhǎng)馏锡。

二:學(xué)習(xí)能力:我有較強(qiáng)的學(xué)習(xí)能力雷蹂,能熟練的進(jìn)行xxx操作,并能使用xxx等語(yǔ)言編程杯道。

三:交際能力:我的性格沉穩(wěn)匪煌,能坐得住,對(duì)IT行業(yè)的工作党巾,具有非常好的適應(yīng)能力萎庭,而且為人謙和,具有很強(qiáng)的組織和協(xié)調(diào)能力齿拂,富有的事業(yè)心和責(zé)任感使我能夠面對(duì)任何困難和挑戰(zhàn)驳规。

從以上的簡(jiǎn)單自我介紹,我希望公司能給我一個(gè)展示自己能力的機(jī)會(huì)署海,讓我我可以學(xué)以致用吗购,同時(shí)我也很欣賞XX公司的企業(yè)文化與工作環(huán)境。我愿意成為企業(yè)一員砸狞,為企業(yè)的發(fā)展貢獻(xiàn)自己的一份力量捻勉。我的職業(yè)生涯目標(biāo)是,做一個(gè)既懂技術(shù)刀森,又懂業(yè)務(wù)的復(fù)合型人才贯底。

2、你對(duì)我們公司了解多少?

怎么樣了解企業(yè)

a禽捆、查企業(yè)營(yíng)業(yè)執(zhí)照:登陸北京工商行政管理局,到企業(yè)信用信息查詢(xún)飘哨,關(guān)注:注冊(cè)資金胚想,營(yíng)業(yè)時(shí)間

b、了解企業(yè):登陸企業(yè)網(wǎng)站芽隆,查詢(xún)企業(yè)的情況關(guān)注:主營(yíng)業(yè)務(wù)浊服、規(guī)模、iOS團(tuán)隊(duì)胚吁、上線(xiàn)產(chǎn)品等

3牙躺、請(qǐng)談?wù)勀愕膬?yōu)點(diǎn)和缺點(diǎn)。

4腕扶、你為什么離開(kāi)上一家公司孽拷?

原因有:

家里有事,簡(jiǎn)稱(chēng)個(gè)人原因(買(mǎi)房搬家半抱、治病救人都行E )

公司轉(zhuǎn)型,簡(jiǎn)稱(chēng)結(jié)構(gòu)調(diào)整(公司轉(zhuǎn)戰(zhàn)陣地窿侈、主要業(yè)務(wù)變更炼幔、人事結(jié)構(gòu)性裁員等無(wú)望之災(zāi)!)

個(gè)人發(fā)展史简,簡(jiǎn)稱(chēng)尋找挑戰(zhàn)(小有成功乃秀、尋找新的個(gè)人發(fā)展前景什么的,個(gè)人轉(zhuǎn)型T脖)

忌:

與人合不來(lái)6逖丁(精神病患的同事,受不了Q每)

與上事不合Lб鳌(脾氣大,擺架子统抬,不認(rèn)錯(cuò);鸨尽)

失職和無(wú)能!(大意了聪建,惹禍了钙畔,做不了!)

貪污瀆職了=痿铩(沒(méi)進(jìn)去擎析,算命大,沒(méi)人用!)

5揍魂、你的職業(yè)目標(biāo)是什么桨醋?(短期和長(zhǎng)期)

短期發(fā)展:

以做好本職工作為主展開(kāi)

長(zhǎng)期發(fā)展:

方向一、成為項(xiàng)目經(jīng)理

方向二现斋、成為研發(fā)經(jīng)理或技術(shù)總監(jiān)

方向三喜最、轉(zhuǎn)向管理崗位

6、你對(duì)加班的看法庄蹋?

實(shí)際上好多公司問(wèn)這個(gè)問(wèn)題瞬内,并不證明一定要加班,只是想測(cè)試你是否愿意為公司奉獻(xiàn)限书。這個(gè)時(shí)候你可以回答:如果是工作需要我會(huì)義不容辭加班虫蝶,我現(xiàn)在沒(méi)有任何家庭負(fù)擔(dān),可以全身心的投入工作倦西。但同時(shí)能真,我也會(huì)提高工作效率,減少不必要的加班调限。

7舟陆、你對(duì)薪資的要求?(你期望薪資多少耻矮?)

?具體數(shù)值(我期望的薪資是xx秦躯,但是如果其他方面的待遇不錯(cuò)的話(huà),也是可以商量的)

8裆装、你有什么問(wèn)題要問(wèn)我(面試官)的踱承?

?面對(duì)人事:公司晉升機(jī)制、企業(yè)文化等

?面對(duì)技術(shù):面試中的某個(gè)技術(shù)哨免、公司某個(gè)項(xiàng)目情況

?面對(duì)總監(jiān):團(tuán)隊(duì)組成及氛圍茎活,開(kāi)發(fā)前景的看法

8、工作經(jīng)歷:

9琢唾、工作流程:

一個(gè)產(chǎn)品的流程:

項(xiàng)目流程:

第一步:介紹你項(xiàng)目是干嘛的

第二步:介紹下你負(fù)責(zé)的是哪塊

第三步:介紹下里面都有什么功能载荔,你是怎么實(shí)現(xiàn)的,怎么分層的采桃?寫(xiě)了什么模型?封裝了什么工具類(lèi)懒熙?自定義什么?用了什么分類(lèi)普办?等等

======================================

iOS筆試題

l基礎(chǔ)

1工扎、#import和#include的區(qū)別?

2衔蹲、寫(xiě)一個(gè)計(jì)算A肢娘、B中較大值的標(biāo)準(zhǔn)宏MAX?

3、談一下關(guān)鍵字static的作用橱健?關(guān)鍵字const呢而钞?

4、break拘荡、continue笨忌、return的區(qū)別是什么?

5俱病、講一下OC和C有哪些區(qū)別?

6袱结、堆和棧的區(qū)別是什么亮隙?

7、談一下iOS App的生命周期垢夹?

8溢吻、簡(jiǎn)述一下UIViewController的生命周期?

9果元、frame和bounds的區(qū)別促王?

10、談一下Objective-C的內(nèi)存管理方式而晒?

11蝇狼、簡(jiǎn)述assign、retain倡怎、copy迅耘、weak和strong分別在什么情況下使用?

12监署、深復(fù)制和淺復(fù)制的區(qū)別颤专?

13、說(shuō)說(shuō)你對(duì)KVC和KVO的理解钠乏?

14栖秕、談一下你對(duì)block的理解,請(qǐng)寫(xiě)聲明一個(gè)block變量晓避?

15簇捍、iOS代理和block有哪些相同點(diǎn)和區(qū)別點(diǎn)

16、類(lèi)別的作用够滑?說(shuō)一下類(lèi)別和類(lèi)擴(kuò)展的區(qū)別垦写?

17、談一下UITableViewCell的重用機(jī)制彰触?

18梯投、UICollectionView和UITableView的區(qū)別有哪些?

19犁享、談一下面向?qū)ο蟮膸讉€(gè)主要特征?你是如何理解面向?qū)ο缶幊趟枷氲?

20导犹、談一下你常用的一些設(shè)計(jì)模式及應(yīng)用場(chǎng)景裹赴?

21、類(lèi)別和繼承有哪些區(qū)別么鹤?

22终娃、你常用的數(shù)據(jù)存儲(chǔ)方式有哪些?

23蒸甜、JSON和XML有什么區(qū)別?

l高級(jí)

24棠耕、Http協(xié)議是什么?,Http協(xié)議中GET和POST有哪些區(qū)別柠新?

25窍荧、談?wù)勀銓?duì)Socket的理解?TCP和UDP協(xié)議有什么區(qū)別?

26恨憎、談?wù)勀銓?duì)MVC開(kāi)發(fā)模式的理解,為什么要采用MVC模式?你是如何在項(xiàng)目開(kāi)發(fā)中采用MVC模式的蕊退?

27、通知中心和代理都可以用來(lái)傳遞消息和數(shù)據(jù)憔恳,兩者有什么區(qū)別瓤荔?

28、你在項(xiàng)目當(dāng)中是如何封裝網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求的钥组?

29输硝、你有做過(guò)屏幕適配嗎?在項(xiàng)目中你是如何進(jìn)行適配的者铜?

30腔丧、在開(kāi)始一個(gè)新項(xiàng)目時(shí),你通常如何分析采用什么樣的模式寫(xiě)代碼,是純代碼或者XIB或者Storyboard?

31、談一下iOS中的多線(xiàn)程作烟?以及在分別在什么情況下使用多線(xiàn)程?

32愉粤、簡(jiǎn)述一下消息推送的流程?

33拿撩、你上線(xiàn)過(guò)App嗎?簡(jiǎn)述一下App發(fā)布到AppStore的流程衣厘?

34、你做過(guò)電商項(xiàng)目嗎?談?wù)勝?gòu)買(mǎi)一個(gè)商品的具體流程應(yīng)該是怎樣的?你使用什么支付方式?

35压恒、AFNetworking是最常用的網(wǎng)絡(luò)框架,談?wù)勥@個(gè)框架內(nèi)部是如何請(qǐng)求數(shù)據(jù)的?

36影暴、SDWebImage可以用來(lái)異步加載圖片,談?wù)勥@個(gè)庫(kù)內(nèi)部是如何異步加載并顯示圖片的? AFNetworking也提供了異步加載圖片的方式,為什么要使用SDWebImage,它有什么好處?

37、數(shù)據(jù)庫(kù)FMDB庫(kù)和CoreData有什么區(qū)別?

38探赫、你使用過(guò)Xcode7開(kāi)發(fā)嗎?需要注意什么?

39型宙、談一下你使用第三方登錄的業(yè)務(wù)邏輯?

40、你使用過(guò)版本管理工具SVN/Git嗎?多人開(kāi)發(fā)時(shí)需要注意什么?

41伦吠、你在項(xiàng)目開(kāi)發(fā)中使用過(guò)哪些常用的第三方庫(kù)?

42妆兑、iOS中的響應(yīng)鏈?zhǔn)鞘裁?它是如何發(fā)揮作用的?

43魂拦、你在iOS項(xiàng)目開(kāi)發(fā)中是如何查看Bug?如何調(diào)試?如何解決的?

l擴(kuò)展

44、你對(duì)藍(lán)牙開(kāi)發(fā)有了解嗎?在iOS端如何做藍(lán)牙開(kāi)發(fā)?

45搁嗓、做過(guò)多語(yǔ)言開(kāi)發(fā)嗎?多語(yǔ)言(國(guó)際化/本地化)開(kāi)發(fā)需要注意什么?

46芯勘、你有做過(guò)動(dòng)畫(huà)嗎?如何做?

47、你有做過(guò)繪圖嗎?如何做?

48腺逛、做過(guò)地圖App嗎?你通常使用什么地圖?

49荷愕、使用過(guò)CocoaPods這個(gè)第三方庫(kù)管理工具嗎?

50、做過(guò)IM(即時(shí)通訊)嗎?有用過(guò)XMPP嗎?

51棍矛、做過(guò)音頻,視頻播放器嗎?你是如何做的?

52安疗、你了解哪些iOS8和iOS9的新特性知識(shí)?在實(shí)際項(xiàng)目中使用過(guò)哪些?

53、談一下你對(duì)iOS中Runloop的了解?

54够委、談一下OC運(yùn)行時(shí)Runtime?

55茂契、請(qǐng)描述一下Instruments及其作用?

l人事

56、你前公司技術(shù)部門(mén)有多少人?都有哪些人?分別做什么?你們?nèi)绾螀f(xié)調(diào)工作?

57慨绳、你們是如何開(kāi)始一個(gè)項(xiàng)目的?如何分配工作的?在做項(xiàng)目過(guò)程中有問(wèn)題怎樣去解決?

58、你前公司是如何管理項(xiàng)目進(jìn)度的?

59真竖、你為什么選擇離開(kāi)上家公司?

60脐雪、你工作了兩年,你覺(jué)得你現(xiàn)在處于怎樣的水平?這兩年的工作讓你收獲了哪些?對(duì)你來(lái)說(shuō)最大的收獲是什么?

61、你覺(jué)得以你現(xiàn)在的能力,能夠承擔(dān)多大的項(xiàng)目?和其他iOS開(kāi)發(fā)人員相比,你的優(yōu)勢(shì)在哪里?


=======================================


一恢共、自我介紹:

我叫**战秋,畢業(yè)于***大學(xué),此前一直就職于***公司讨韭,擔(dān)任iOS開(kāi)發(fā)工程師一職脂信,在職期間做過(guò)的項(xiàng)目種類(lèi)繁多,有商場(chǎng)類(lèi)透硝,醫(yī)療類(lèi)狰闪,旅游類(lèi),金融類(lèi)等等一共十多個(gè)濒生,其中有四個(gè)是自己獨(dú)立完成的埋泵,其余的是團(tuán)隊(duì)合作完成的。

二罪治、面試專(zhuān)業(yè)技能

1丽声、熟悉開(kāi)發(fā)環(huán)境,熟悉語(yǔ)言觉义,大部分面試官會(huì)對(duì)debug能力比較感興趣雁社,都會(huì)問(wèn)這個(gè)問(wèn)題,我的回答是:

對(duì)于每個(gè)程序員來(lái)說(shuō)晒骇,遇到bug是最頭痛的事情霉撵,想著自己寫(xiě)的代碼是如何漂亮磺浙,是如何思路清晰,程序怎么就給crash掉了的喊巍,那么我對(duì)于這樣的問(wèn)題屠缭,有我自己解決的一套,不會(huì)像普通程序員那樣崭参,遇到問(wèn)題就急躁呵曹,不知所措。首先何暮,我會(huì)先看下問(wèn)題出錯(cuò)的原因奄喂,仔細(xì)查看reason,然后可以打一個(gè)全局?jǐn)帱c(diǎn)海洼,看斷點(diǎn)指向的位置上下文代碼的邏輯跨新,一般情況下都可以很快找出問(wèn)題所在,那么有的時(shí)候坏逢,我們會(huì)發(fā)現(xiàn)全局?jǐn)帱c(diǎn)也找不到錯(cuò)誤所在域帐,那么我會(huì)根據(jù)reason找到出錯(cuò)的事件,一般情況下我們都是系統(tǒng)響應(yīng)了某個(gè)事件才會(huì)crash的是整,我會(huì)根據(jù)事件邏輯相關(guān)的代碼肖揣,仔細(xì)查看問(wèn)題所在,若是碰到了bad_access這樣的問(wèn)題浮入,還可以打開(kāi)僵尸調(diào)試來(lái)做處理×牛現(xiàn)在碰到了問(wèn)題,想到的不再是代碼明明是對(duì)的啊事秀,而是想著我解決了一個(gè)問(wèn)題彤断,就是一次進(jìn)步,如果不是碰到問(wèn)題易迹,進(jìn)步的速度會(huì)變得很慢宰衙,有時(shí)候,很多新東西都是從bug中學(xué)到的睹欲。

注:有些面試官會(huì)問(wèn)到自己是否會(huì)處理真機(jī)調(diào)試的crash日志菩浙,可以這樣回答:

1、Xcode自己本身帶有查看crash日志的功能句伶,在device那里劲蜻,我們可以根據(jù)日志的具體內(nèi)容或是通過(guò)百度來(lái)找出crash的reason;

2考余、通過(guò)第三方的先嬉,雖然我沒(méi)有用過(guò),但是我知道可以實(shí)現(xiàn)這個(gè)功能楚堤,而且不會(huì)很麻煩疫蔓,一個(gè)是聽(tīng)云含懊,一個(gè)是我們熟悉的友盟,都可以獲取這些crash log衅胀。

2岔乔、MRC/ARC,可以直接說(shuō)自己沒(méi)有實(shí)際MRC的產(chǎn)品滚躯,但是懂得大致的原理(可以說(shuō)下黃金法則和自動(dòng)釋放池)雏门,但是目前主流的都是ARC,他本身就是比MRC方便掸掏,高效茁影,在編譯期間會(huì)自動(dòng)判斷在需要做release或者retain操作的地方加上內(nèi)存管理的方法,這個(gè)也使得我們做開(kāi)發(fā)的時(shí)候更加方便丧凤,快捷募闲。

具體的內(nèi)存管理語(yǔ)義呢(retain,copy愿待,strong浩螺,weak,assign等等可以網(wǎng)上查資料仍侥,有很多)年扩;

3、多線(xiàn)程:多線(xiàn)程分為四種:pthread,

nsthread,GCD, nsopreation访圃,由于前兩者的復(fù)雜和不安全性,目前主流的是用的GCD(C的API)和nsopreation相嵌,那么GCD分任務(wù)和隊(duì)列腿时,它是才用block的方式,將任務(wù)加到隊(duì)列中實(shí)現(xiàn)多線(xiàn)程饭宾,具體可以實(shí)現(xiàn)的種類(lèi)有同步串行批糟,同步并行,異步串行看铆,異步并行徽鼎,其中異步并行用的最多,當(dāng)然GCD還有很多其他的用法弹惦,比如設(shè)置屏障否淤,group,source等等棠隐,實(shí)現(xiàn)的功能繁多(要查的人可以查看這篇blog:http://blog.devtang.com/blog/2012/02/22/use-gcd/和這篇:https://github.com/nixzhu/dev-blog/blob/master/2014-04-19-grand-central-dispatch-in-depth-part-1.md)

那么nsopreation是在GCD的基礎(chǔ)上做了封裝后OC的API石抡,它采用對(duì)象的形式來(lái)創(chuàng)建多線(xiàn)程,其中nsopreation是一個(gè)抽象類(lèi)助泽,我們不可以直接使用啰扛,只能用到它的子類(lèi)嚎京,系統(tǒng)已經(jīng)幫我們?cè)O(shè)計(jì)了它的兩個(gè)子類(lèi),一個(gè)是invocation(采用selector的形式)隐解,一個(gè)是block(采用block的形式)鞍帝,那么我們?cè)谕ㄟ^(guò)子類(lèi)創(chuàng)建人物后,再加載到queue上煞茫,系統(tǒng)自動(dòng)幫我們分配多線(xiàn)程完成任務(wù)帕涌,同時(shí)我們也可以對(duì)不同線(xiàn)程設(shè)置依賴(lài)關(guān)系,功能同樣很強(qiáng)大溜嗜。

有的面試官會(huì)問(wèn)你用到哪一種方式多一點(diǎn)宵膨,我個(gè)人回答的是nsopreation,回答如下:

他們兩種都是主流的方式炸宵,我個(gè)人偏向nsopreation辟躏,主要還是看不同的情況,GCD是一種很直觀(guān)的形式去創(chuàng)建多線(xiàn)程土全,在使用過(guò)程種如果創(chuàng)建線(xiàn)程不會(huì)多次使用捎琐,并且操作較為簡(jiǎn)單的話(huà),我會(huì)選擇GCD裹匙,大多數(shù)情況下需要重復(fù)創(chuàng)建子線(xiàn)程瑞凑,那么我會(huì)選擇nsopreation,因?yàn)樗闹赜眯员容^高概页,而且使用起來(lái)籽御,我覺(jué)得更加適合面向?qū)ο缶幊痰乃枷耄谝恍┐蟮捻?xiàng)目我更加偏愛(ài)nsopreation惰匙。

4技掏、TCP/IP協(xié)議,socket相關(guān):

我回答的要點(diǎn):TCP/IP協(xié)議是傳輸層的協(xié)議族项鬼,他提供了數(shù)據(jù)傳輸?shù)目煽啃院涂尚行匝剖幔屛覀兊臄?shù)據(jù)可以在網(wǎng)絡(luò)上傳輸;Http是應(yīng)用層的協(xié)議绘盟,保證了數(shù)據(jù)傳輸?shù)陌踩蛿?shù)據(jù)可靠性鸠真,是對(duì)TCP/IP協(xié)議的再次封裝,通過(guò)加頭部和校驗(yàn)龄毡,讓我們可以更方便的傳輸數(shù)據(jù)吠卷;

socket:是封裝了TCP/IP協(xié)議的一組API,他讓我們程序員更加方便的使用網(wǎng)絡(luò)去達(dá)到我們想要的效果沦零,傳輸數(shù)據(jù)撤嫩,我們不需要針對(duì)復(fù)雜的網(wǎng)絡(luò)協(xié)議做太多的了解,就可以實(shí)現(xiàn)C/S模式的一個(gè)通訊方式蠢终,它是一個(gè)長(zhǎng)連接的過(guò)程序攘,我們具體要做的事情是:create一個(gè)socket對(duì)象茴她,監(jiān)聽(tīng)I(yíng)P地址和端口,readData&writeData程奠,我們只需簡(jiǎn)單的幾步就可以完成強(qiáng)大的功能丈牢。

有的面試官問(wèn)我是怎么實(shí)現(xiàn)IM的,我說(shuō)的是用公司底層的接口瞄沙,自行更具客戶(hù)需要寫(xiě)客戶(hù)端己沛,這樣面試官就不會(huì)問(wèn)底層的東西了。

如果面試官問(wèn)道TCP/IP等協(xié)議的原理距境,那只能說(shuō)面試官不懂或者是問(wèn)的東西跟他表達(dá)的不一樣申尼。我們可以這樣回答,TCP/IP協(xié)議族本來(lái)就是一個(gè)非常復(fù)雜的協(xié)議垫桂,可以寫(xiě)三本書(shū)师幕,說(shuō)到原理還真說(shuō)不出來(lái),如果說(shuō)對(duì)于一個(gè)前端的工程師還需要了解這么多的網(wǎng)絡(luò)知識(shí)诬滩,可能對(duì)于一個(gè)程序員來(lái)說(shuō)霹粥,要求太苛刻,如果真的是這樣疼鸟,那么我們是不是把后臺(tái)的事情一起做了算了呢后控?這顯然是不合理的,不過(guò)公司若真是有這樣的需求空镜,當(dāng)然浩淘,我覺(jué)得我對(duì)網(wǎng)絡(luò)的了解,做這樣的項(xiàng)目也是可以的吴攒,去學(xué)習(xí)并很快用到項(xiàng)目上也是可以的张抄,但是對(duì)于項(xiàng)目進(jìn)度,肯定會(huì)在最開(kāi)始立項(xiàng)的時(shí)候就說(shuō)明舶斧,時(shí)間可能會(huì)稍微久,這個(gè)都是可以商量的察皇。

5茴厉、設(shè)計(jì)模式:

所有的設(shè)計(jì)模式都是從面向?qū)ο缶幊痰牧鶄€(gè)原則來(lái)的(http://m.blog.csdn.net/blog/dragonseek24/13293947,這個(gè)需要花時(shí)間去理解什荣,不過(guò)現(xiàn)在面試可以強(qiáng)記下矾缓,吹逼用下),那么可以先說(shuō)原則后稻爬,在談設(shè)計(jì)模式嗜闻,切記裝逼的話(huà):我們編程不是為了用某種設(shè)計(jì)原則而用某種設(shè)計(jì)原則,而是說(shuō)我心中有了這樣的思想桅锄,為了讓代碼變得好看琉雳,邏輯更加清楚样眠,便于擴(kuò)展和重構(gòu),我才這樣編程翠肘,在我們編寫(xiě)的過(guò)程中是不知不覺(jué)就用到了一些設(shè)計(jì)模式檐束,所以,以思想為主束倍,編程為輔被丧。然后設(shè)計(jì)的模式大家都懂,隨便說(shuō)下就行了绪妹。

注:工廠(chǎng)模式是將功能相同或者類(lèi)似的方法或者類(lèi)封裝起來(lái)甥桂,通過(guò)抽象類(lèi)的方式,給出最少的接口邮旷,實(shí)現(xiàn)最多的功能黄选。

6、AF的使用以及原理:

見(jiàn)blog(2.0版本:http://blog.cnbang.net/tech/2320/廊移;3.0版本:http://www.reibang.com/p/0ab3ffa9c5f5)

6糕簿、FMDB和coreData的區(qū)別:

FMDB:第三方lib,是對(duì)sqlite的封裝,存儲(chǔ)結(jié)構(gòu)為表結(jié)構(gòu)狡孔,使用sql語(yǔ)句來(lái)做存儲(chǔ)管理懂诗;

coreData為蘋(píng)果原生的API,同樣是封裝了SQLite苗膝,但是存儲(chǔ)的基本單元是對(duì)象殃恒;

個(gè)人認(rèn)為FMDB使用更加方便和靈活,在項(xiàng)目構(gòu)架階段辱揭,設(shè)計(jì)好了表結(jié)構(gòu)后离唐,后期的增刪改查都非常容易;

7问窃、使用過(guò)的第三方lib:SD亥鬓,AF,JSONModel域庇,MJ嵌戈,MBProgressHUD,SVProgressHUD听皿,Masonry熟呛,YTK,YYKit(這個(gè)是最新的尉姨,估計(jì)很多人都聽(tīng)過(guò)庵朝,用的人就更少了,但是這個(gè)工具庫(kù)在GitHub上已經(jīng)引起了爆炸性轟動(dòng));

8九府、runtime

(http://southpeak.github.io/blog/2014/11/03/objective-c-runtime-yun-xing-shi-zhi-san-:fang-fa-yu-xiao-xi-zhuan-fa/)

9椎瘟、runloop

http://blog.ibireme.com/2015/05/18/runloop/

10、YTK介紹:

https://github.com/yuantiku/YTKNetwork

找到基礎(chǔ)教程和高級(jí)教程昔逗;

11降传、YYKit介紹:

https://github.com/ibireme/YYKit查看中文介紹;

其他的像內(nèi)存優(yōu)化啊勾怒,藍(lán)牙啊婆排,支付啊,都是按照老師那套來(lái)的笔链,我也是根據(jù)老師的demo說(shuō)的段只。

搭建框架不是指的UI而是指的你怎么去設(shè)計(jì)一個(gè)類(lèi),整體規(guī)劃整個(gè)產(chǎn)品所要用到的所有類(lèi)鉴扫,從面相對(duì)象編程的六個(gè)原則來(lái)說(shuō)就行了赞枕。

如有需要補(bǔ)充的,群聊或者私聊都可坪创,我會(huì)在群里更新炕婶;

============================

1.GCD都有哪些API?(胡忠應(yīng))

提示:dispatch_async

dispatch_group_async

dispatch_group_async

dispatch_barrier_async

dispatch_queue_create

dispatch_after

dispatch_get_main_queue

dispatch_get_global_queue

2.app測(cè)試時(shí)怎樣避免沒(méi)有測(cè)試完善出現(xiàn)的bug,比如說(shuō)在6上運(yùn)行沒(méi)事在4上運(yùn)行就出bug了莱预。(胡忠應(yīng))

提示:1.項(xiàng)目做完柠掂,需要現(xiàn)在iphone4,iphone4s,iphone5,iphone6依沮,iphone6+等模擬器上運(yùn)行一遍涯贞,確保模擬器沒(méi)有問(wèn)題。然后在公司測(cè)試機(jī)上運(yùn)行危喉。

2.項(xiàng)目中都要采用自動(dòng)布局宋渔。確保在任何屏幕坐標(biāo)都是相對(duì)的。

3.注意api的版本辜限,低版本不用用高api函數(shù)皇拣,如果需要使用,必須判斷版本薄嫡。

3.自己獨(dú)立負(fù)責(zé)的項(xiàng)目氧急,你的項(xiàng)目框架是怎么搭建的?(吳永祥)

提示:這個(gè)說(shuō)起來(lái)比較多岂座,我給你一個(gè)鏈接态蒂,里面寫(xiě)的很詳細(xì)杭措,主要談公司架構(gòu)的费什,寫(xiě)的很好:

http://www.cocoachina.com/ios/20141112/10199.html

4.在異步線(xiàn)程創(chuàng)建的對(duì)象需要釋放嗎?(王松)

提示:這個(gè)問(wèn)題問(wèn)的不是太清楚,可以從mrc和arc角度考慮鸳址〈耱剑可以從堆和棧角度來(lái)說(shuō),棧上的對(duì)象我們不需要手動(dòng)釋放稿黍,堆上的對(duì)象需要手動(dòng)釋放等疹瘦。

5.支付寶生成的訂單是放在哪里的?巡球,添加到購(gòu)物車(chē)的數(shù)據(jù)放在哪里言沐,在ipad上登錄能看見(jiàn)添加到購(gòu)物車(chē)的信息?(王松)

提示:訂單是服務(wù)器返回的酣栈,以json/xml方式返回過(guò)來(lái)的险胰。購(gòu)物數(shù)據(jù)保存兩份,本地有保存矿筝,服務(wù)器也有保存起便。如果購(gòu)物車(chē)信息在服務(wù)器有保存,可以看到窖维。

6.請(qǐng)說(shuō)一下第三方登錄以及支付的過(guò)程和原理榆综。

授權(quán)原理:

OAuth2.0分為四種鑒權(quán)方式, 已分別應(yīng)對(duì)不同的需求, 比如說(shuō)web或app. 通常我們?cè)趙eb端使用第一種Authorization Code方式。為了簡(jiǎn)單說(shuō)明铸史,我直接拿QQ做例子鼻疮,簡(jiǎn)單說(shuō)一下流程:

當(dāng)用戶(hù)點(diǎn)擊QQ登陸,你會(huì)通引導(dǎo)用戶(hù)跳轉(zhuǎn)到第三方登陸的登陸界面沛贪, 當(dāng)用戶(hù)成功登錄以后會(huì)自動(dòng)跳轉(zhuǎn)回來(lái)陋守,并附帶一個(gè)code參數(shù),接著你使用code就可以獲得access token(訪(fǎng)問(wèn)令牌)利赋,對(duì)于QQ水评,由于第三方登錄結(jié)合了Openid, 所以需要再通過(guò)token獲取openid媚送。這個(gè)openid是和QQ用戶(hù)一一對(duì)應(yīng)的, 使用access token + openid 即可獲取用戶(hù)信息中燥。

第三方平臺(tái)和本地用戶(hù)系統(tǒng)結(jié)合應(yīng)該分為三種情況:

本地未登錄,第一次登錄第三方:此時(shí)相當(dāng)于注冊(cè)塘偎,直接把第三方信息拉取來(lái)并注冊(cè)成本地用戶(hù)就可以了疗涉,并建立本地用戶(hù)與第三方用戶(hù)(openid)的綁定關(guān)系

本地未登錄,再次登錄第三方:此時(shí)用戶(hù)已注冊(cè)吟秩,獲取到openid后直接找出對(duì)應(yīng)的本地用戶(hù)即可

本地登錄咱扣,并綁定第三方: 這個(gè)只要將獲取到的openid綁定到本地用戶(hù)就可以了。

支付:看下我講的支付涵防,文檔里面都有支付流程和原理闹伪。詳細(xì)看下。

7.說(shuō)一下AFNetWorking和SDWebImage的底層實(shí)現(xiàn)機(jī)制。

AFNetWorking基于系統(tǒng)NSURLConnection和NSURLSession實(shí)現(xiàn)的偏瓤,也是基于CFNetWork的杀怠,AFN回調(diào)采用Block,使用方便厅克。而且AFN也封裝了圖片緩存的處理等赔退。

SDWebImage實(shí)現(xiàn)機(jī)制見(jiàn)截圖

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市证舟,隨后出現(xiàn)的幾起案子硕旗,更是在濱河造成了極大的恐慌,老刑警劉巖女责,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卵渴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鲤竹,警方通過(guò)查閱死者的電腦和手機(jī)浪读,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)辛藻,“玉大人碘橘,你說(shuō)我怎么就攤上這事≈。” “怎么了痘拆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)氮墨。 經(jīng)常有香客問(wèn)我纺蛆,道長(zhǎng),這世上最難降的妖魔是什么规揪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任桥氏,我火速辦了婚禮,結(jié)果婚禮上猛铅,老公的妹妹穿的比我還像新娘字支。我一直安慰自己,他們只是感情好奸忽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布堕伪。 她就那樣靜靜地躺著,像睡著了一般栗菜。 火紅的嫁衣襯著肌膚如雪欠雌。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天疙筹,我揣著相機(jī)與錄音富俄,去河邊找鬼检号。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蛙酪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播翘盖,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼桂塞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了馍驯?” 一聲冷哼從身側(cè)響起阁危,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎汰瘫,沒(méi)想到半個(gè)月后狂打,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡混弥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年趴乡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝗拿。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晾捏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哀托,到底是詐尸還是另有隱情惦辛,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布仓手,位于F島的核電站胖齐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏嗽冒。R本人自食惡果不足惜呀伙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望添坊。 院中可真熱鬧区匠,春花似錦、人聲如沸帅腌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至彼哼,卻和暖如春撒汉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岔擂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工位喂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乱灵。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓塑崖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親痛倚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子规婆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,517評(píng)論 25 707
  • Objective-C是一門(mén)動(dòng)態(tài)的語(yǔ)言 ① 什么是動(dòng)態(tài)語(yǔ)言? 動(dòng)態(tài)語(yǔ)言蝉稳,是指程序在運(yùn)行時(shí)可以改變其結(jié)構(gòu):新的函數(shù)可...
    小李龍彪閱讀 361評(píng)論 0 0
  • 最先執(zhí)行的方法是: 1抒蚜、(激活時(shí)的初始化代碼)Awake,2耘戚、Start嗡髓、3、Update【FixUpdate收津、L...
    困卡閱讀 4,157評(píng)論 0 8
  • 沒(méi)有荷爾蒙支撐的愛(ài)情饿这,能燃燒三年五載就是神話(huà)了,那些幾十年的折騰怎么會(huì)是因?yàn)閻?ài)情撞秋?哪有這樣不匹配蛹稍、不對(duì)等、沒(méi)有尊嚴(yán)...
    Pemayangchen閱讀 327評(píng)論 0 1
  • 《方言》第八 1 第八:虎部服,陳魏宋楚之間或謂之李父唆姐,江淮南楚之間謂之李耳,或謂之於?廓八。自關(guān)東西或謂之伯都奉芦。 虎,陳...
    xcy無(wú)名閱讀 1,113評(píng)論 0 0