日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

经过阿里,百度一面,二面后,我总结了150道iOS面试题

發(fā)布時間:2024/1/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经过阿里,百度一面,二面后,我总结了150道iOS面试题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

經(jīng)過阿里,百度一面,二面后,我總結(jié)了150道iOS面試題。

金三銀四已經(jīng)過去,根據(jù)統(tǒng)計,很多人都會選擇在三月四月跳槽,原因有很多,企業(yè)年后會有大量員工離職,員工覺得老公司待遇不怎么樣?薪資不夠高,想換個新環(huán)境等等原因,所以,三月四月份就變成了招聘與跳槽的旺季。

前面一段時間自己的一面二面,自己總結(jié)了150道面試題,在此,我分享給大家,希望大家在七月月份要找工作的朋友,我的這篇文章能給你有所幫助。

1、swift和oc的區(qū)別

2、編譯鏈接

3、synthesize & denamic

4、在項(xiàng)目開發(fā)中常用的開發(fā)工具有哪些?

5、UITableView & UICollection

6、NSProxy & NSObject

7、Object & Swift

8、傳值通知 & 推送通知(本地&遠(yuǎn)程)

9、第三方庫 & 第三方平臺

10、NSCache & NSDcitionary

11、 UIView的setNeedsDisplay和setNeedsLayout方法

12、UILayer & UIView

13、layoutSubViews & drawRects

14、UDID & UUID

15、CPU & GPU

16、點(diǎn)(pt)& 像素(px)

17、屬性與成員變量

18、int和NSInteger的區(qū)別

(1)import和include

(2)@class

(3)全局 & 靜態(tài)變量

19、類和對象

(1)分類拓展協(xié)議中哪些可以聲明屬性?

(2)繼承和類別的區(qū)別

(3)分類的作用

(4)分類的局限性

20、category & extension

21、Foundation

(1)字符串

(2)字符串截取

(3)格式

22、NSArray和NSDictionary

(1)iOS遍歷數(shù)組/字典的方法

(2)NSValue NSNumber

(3)其它

(4)如何避免循環(huán)引用

23、CFSocket使用有哪幾個步驟

24、Core Foundation中提供了哪幾種操作Socket的方法?

25、解析XML文件有哪幾種方式?

26、什么是沙盒模型?哪些操作是屬于私有api范疇?

27、在一個對象的方法里面:self.name= “object”;和 name =”object” 有什么不同嗎?

28、請簡要說明viewDidLoad和viewDidUnload何時調(diào)用

29、創(chuàng)建控制器、視圖的方式

30、簡述內(nèi)存分區(qū)情況

31、隊(duì)列和棧有什么區(qū)別

32、iOS的系統(tǒng)架構(gòu)

33、控件主要響應(yīng)3種事件

34、xib文件的構(gòu)成分為哪3個圖標(biāo)?都具有什么功能

35、簡述視圖控件器的生命周期

36、app 項(xiàng)目的生命周期

(1)應(yīng)用的生命周期

(2)簡要說明一下APP的啟動過程,main文件說起,main函數(shù)中有什么函數(shù)?作用是什么?

(3)UIApplicationMain函數(shù)作用

(4)main函數(shù)作用

37、 動畫有基本類型有哪幾種;表視圖有哪幾種基本樣式。

38、實(shí)現(xiàn)簡單的表格顯示需要設(shè)置UITableView的什么屬性、實(shí)現(xiàn)什么協(xié)議?

39、Cocoa Touch提供了哪幾種Core Animation過渡類型?

40、UIView與CLayer有什么區(qū)別?

41、Quatrz 2D的繪圖功能的三個核心概念是什么并簡述其作用

42、iPhone OS主要提供了幾種播放音頻的方法?

43、使用AVAudioPlayer類調(diào)用哪個框架、使用步驟?

44、有哪幾種手勢通知方法、寫清楚方法名?

45、ViewController的didReceiveMemoryWarning怎么被調(diào)用

46、什么時候用delegate,什么時候用Notification?

47、用預(yù)處理指令#define聲明一個常數(shù),用以表明1年中有多少秒(忽略閏年問題)

48、寫一個”標(biāo)準(zhǔn)"宏MIN ,這個宏輸入兩個參數(shù)并返回較小的一個。

49、關(guān)鍵字const有什么含意?修飾類呢?static的作用,用于類呢?還有extern c的作用

50、關(guān)鍵字volatile有什么含意?并給出三個不同的例子

51、一個參數(shù)既可以是const還可以是volatile嗎? 一個指針可以是volatile 嗎?解釋為什么。

52、static 關(guān)鍵字的作用

53、列舉幾種進(jìn)程的同步機(jī)制,并比較其優(yōu)缺點(diǎn)。

54、進(jìn)程之間通信的途徑

55、進(jìn)程死鎖的原因

56、死鎖的4個必要條件

57、死鎖的處理

58、cocoa touch框架

59、自動釋放池是什么,如何工作

60、sprintf,strcpy,memcpy使用上有什么要注意的地方

61、你了解svn,cvs等版本控制工具么?

62、什么是push

63、靜態(tài)鏈接庫

64、OC三大特性

(1)封裝_點(diǎn)語法

(2)繼承

(3)多態(tài)

65、OC中如何實(shí)現(xiàn)多態(tài)

66、Objective-C的優(yōu)缺點(diǎn)

67、對于OC,你認(rèn)為最大的優(yōu)點(diǎn)和最大的不足是什么?對于不足之處,現(xiàn)在有沒有可用的方法繞過這些不足來實(shí)現(xiàn)需求。如果可以話,有沒有考慮或者實(shí)現(xiàn)過重新實(shí)現(xiàn)OC的功能,如果有,具體怎么做?

68、oc中可修改和不可以修改類型

69、我們說的oc是動態(tài)運(yùn)行時語言是什么意思?

70、通知和協(xié)議的不同之處?

71、什么是推送消息?

72、關(guān)于多態(tài)性

73、什么是謂詞?

74、做過的項(xiàng)目是否涉及網(wǎng)絡(luò)訪問功能,使用什么對象完成網(wǎng)絡(luò)功能?

75、簡單介紹下NSURLConnection類及+sendSynchronousRequest:returningResponse:error:與– initWithRequest:delegate:兩個方法的區(qū)別?

76、談?wù)凮bject-C的內(nèi)存管理方式及過程?

77、Object-C有私有方法嗎?私有變量呢?

78、說說響應(yīng)鏈

79、時間傳遞 & 響應(yīng)者鏈

80、frame和bounds有什么不同?

81、方法和選擇器有何不同?

82、OC的垃圾回收機(jī)制?

83、什么是延遲加載?

84、是否在一個視圖控制器中嵌入兩個tableview控制器?

85、一個tableView是否可以關(guān)聯(lián)兩個不同的數(shù)據(jù)源?你會怎么處理?

86、什么時候使用NSMutableArray,什么時候使用NSArray?

87、給出委托方法的實(shí)例,并且說出UITableVIew的Data Source方法

88、在應(yīng)用中可以創(chuàng)建多少autorelease對象,是否有限制?

89、如果我們不創(chuàng)建內(nèi)存池,是否有內(nèi)存池提供給我們?

90、什么時候需要在程序中創(chuàng)建內(nèi)存池?

91、類NSObject的那些方法經(jīng)常被使用?

92、什么是簡便構(gòu)造方法?

93、如何使用Xcode設(shè)計通用應(yīng)用?

94、 UIView的動畫效果有那些?

95、Object-C有多繼承嗎?沒有的話用什么代替?cocoa 中所有的類都是NSObject 的子類

96、內(nèi)存管理 Autorelease、retain、copy、assign的set方法和含義?

97、C和obj-c 如何混用

98、類別的作用?繼承和類別在實(shí)現(xiàn)中有何區(qū)別?

99、類別和類擴(kuò)展的區(qū)別。

100、oc中的協(xié)議和java中的接口概念有何不同?

101、深拷貝與前拷貝區(qū)別

(1)什么是深拷貝淺拷貝

(2)字符串什么時候使用copy,strong

(3)字符串所在內(nèi)存區(qū)域

(4)mutablecopy和copy @property(copy) NSMutableArray *arr;這樣寫有什么問題

(5)如何讓自定義類可以使用copy修飾符

102、對于語句NSString*obj = [[NSData alloc] init]; obj在編譯時和運(yùn)行時分別時什么類型的對象?

103、#import 跟#include 又什么區(qū)別,@class呢, #import<> 跟 #import”"又什么區(qū)別?

104、Objective-C的類可以多重繼承么?可以實(shí)現(xiàn)多個接口么?Category是什么?重寫一個類的方法用繼承好還是分類好?為什么?

105、 #import 跟#include 又什么區(qū)別,@class呢, #import<> 跟 #import””又什么區(qū)別?

106、寫一個setter方法用于完成@property (nonatomic,retain)NSString *name,寫一個setter方法用于完成@property(nonatomic,copy)NSString *name

107、常見的Objective-C的數(shù)據(jù)類型有那些, 和C的基本數(shù)據(jù)類型有什么區(qū)別?如:NSInteger和int

108、id 聲明的對象有什么特性?

109、Objective-C如何對內(nèi)存管理的,說說你的看法和解決方法?

110、原子(atomic)跟非原子(non-atomic)屬性有什么區(qū)別?

111、看下面的程序,第一個NSLog會輸出什么?這時str的retainCount是多少?第二個和第三個呢? 為什么?

112、內(nèi)存管理的幾條原則時什么?按照默認(rèn)法則.那些關(guān)鍵字生成的對象需要手動釋放?在和property結(jié)合的時候怎樣有效的避免內(nèi)存泄露?

113、如何對iOS設(shè)備進(jìn)行性能測試?

114、設(shè)計模式

(1)mvc模式

(2)單例模式

(3)mvvm模式

(4)觀察者模式

(5)工廠模式

(6)代理模式

(7)策略模式

(8)適配器模式

(9)模版模式

(10)外觀模式

(11)創(chuàng)建模式

(12)MVP模式

115、MVVM模式原理分析

116、說說常用的幾種傳值方式

117、什么時候用delegate,什么時候用Notification

118、對于單例的理解

119、從設(shè)計模式角度分析代理,通知和KVO區(qū)別?ios SDK 提供 的framework使用了哪些設(shè)計模式,為什么使用?有哪些好處和壞處?

120、KVO,NSNotification,delegate及block區(qū)別

121、運(yùn)行時(runTime)

122、runtime/消息轉(zhuǎn)發(fā)機(jī)制

(1)runtime

1.1、什么是runtime

1.2、runtime干什么用,使用場景

(2)消息機(jī)制

2.1、消息轉(zhuǎn)發(fā)的原理

2.2、SEL isa super cmd 是什么

(3)動態(tài)綁定

123、使用bugly進(jìn)行崩潰分析

124、jenkens 持續(xù)打包

125、KVO & KVC

(1)底層實(shí)現(xiàn)

(2)KVO概述

(3)KVC概述

126、什么是KVO和KVC?

KVO和KVC

(1)如何調(diào)用私有變量,如何修改系統(tǒng)的只讀屬性,KVC的查找順序

(2)什么是鍵-值,鍵路徑是什么

(3)kvo的實(shí)現(xiàn)機(jī)制

(4)KVO計算屬性,設(shè)置依賴鍵

(5)KVO集合屬性

(6)kvo使用場景

127、SDWebImage(SDWebImage的實(shí)現(xiàn)機(jī)制)

(1)主要功能

(2)緩存

(3)內(nèi)存緩存與磁盤緩存

128、框架 SDWebimage的緩存機(jī)制

129、網(wǎng)絡(luò)安全

密碼的安全原則

130、多線程

(1)多線程概念

(2)多線程的作用

(3)使用場景

131、NSOperationQueue和GCD的區(qū)別是什么

132、GCD與NSThread的區(qū)別

133、進(jìn)程和線程的區(qū)別與聯(lián)系是什么?

134、別異步執(zhí)行兩個耗時操作,等兩次耗時操作都執(zhí)行完畢后,再回到主線程執(zhí)行操作. 使用隊(duì)列組(dispatch_group_t)快速,高效的實(shí)現(xiàn)上述需求

135、在項(xiàng)目什么時候選擇使用GCD,什么時候選擇NSOperation?

136、對比iOS中的多線程技術(shù)

137、多線程優(yōu)缺點(diǎn)

138、iOS中的延遲操作

139、串行隊(duì)列同步執(zhí)行和異步主隊(duì)列

140、資源搶奪解決方案

141、dispatch_barrier_async的作用是什么?

142、在多線程Core Data中,NSC,MOC,NSObjectModel哪些需要在線程中創(chuàng)建或者傳遞?你是用什么策越來實(shí)現(xiàn)的?

143、+(void)load與 +(void)initialize區(qū)別load 和 initialize方法的區(qū)別

144、http的post與區(qū)別與聯(lián)系,實(shí)踐中如何選擇它們?

145、說說關(guān)于UDP/TCP的區(qū)別?

146、http和scoket通信的區(qū)別?socket連接相關(guān)庫,TCP,UDP的連接方法,HTTP的幾種常用方式?

147、HTTP請求常用的幾種方式

148、block

(1)使用block時什么情況會發(fā)生引用循環(huán),如何解決?

(2)在block內(nèi)如何修改block外部變量?

(3)Block & MRC-Block

(4)什么是block

(5)block 實(shí)現(xiàn)原理

(6)關(guān)于block

(7)使用block和使用delegate完成委托模式有什么優(yōu)點(diǎn)

(8)多線程與block

(9)談?wù)剬lock 的理解?并寫出一個使用Block執(zhí)行UIVew動畫?

(10)寫出上面代碼的Block的定義(接上題)

149、Weak、strong、copy、assign 使用

(1)什么情況使用 weak 關(guān)鍵字,相比 assign 有什么不同?

(2)怎么用 copy 關(guān)鍵字?

(3)weak & strong

(4)這個寫法會出什么問題: @property (copy) NSMutableArray *array

(5) 如何讓自己的類用 copy 修飾符?如何重寫帶 copy 關(guān)鍵字的 setter?

(6) @property 的本質(zhì)是什么?ivar、getter、setter 是如何生成并添加到這個類中的

(7)ivar、getter、setter 是如何生成并添加到這個類中的?

(8)用@property聲明的NSString(或NSArray,NSDictionary)經(jīng)常使用copy關(guān)鍵字,為什么?如果改用strong關(guān)鍵字,可能造成什么問題?

(9)@protocol 和 category 中如何使用 @property

(10)runtime如何通過selector找到對應(yīng)的IMP地址?

(11)retain和copy區(qū)別

(12)copy和strong的使用?

(13)NSString和NSMutableString,前者線程安全,后者線程不安全。

(14)readwrite,readonly,assign,retain,copy,weak ,strong,nonatomic 屬性的作用

150、OC與JS的交互(iOS與H5混編)

TableView性能優(yōu)化

UITableView核心思想

UITableView的優(yōu)化主要從三個方面入手:

最后希望各位同學(xué)都能進(jìn)入自己想要去的公司,在奮斗的這條路上,我堅(jiān)信我們一直都沒有放棄!

答案獲取:1、喜歡小編簡書這篇文章

2、加小編的qq交流群:776598941、即可找到小編免費(fèi)獲取. 復(fù)制代碼

分享目的是為了尋找志同道合的朋友一起創(chuàng)建一個我們自己的程序員圈子,有意者請聯(lián)系作者,讓我們一起搭建一個屬于我們iOS開發(fā)者的私有圈子,內(nèi)推、共享資源。

部分答案截圖:

轉(zhuǎn)載于:https://juejin.im/post/5b40a0726fb9a04fe6376544

總結(jié)

以上是生活随笔為你收集整理的经过阿里,百度一面,二面后,我总结了150道iOS面试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。