iOS面試題 一共分為
筆試題
和面試題
兩部分
筆試題
一共分為10個(gè) 總共613題
面試題
一共400題
筆試題 一個(gè)10個(gè)系列 分別為
①(語法篇) 共147題 已更新
②(常識(shí)篇) 共72題 已更新
③(界面篇) 共83題 已更新
④(iOS篇) 共52題 已更新
⑤(操作篇) 共68題 已更新
⑥(數(shù)據(jù)結(jié)構(gòu)篇) 共23題 已更新
⑦(多線程篇) 共60題 已更新
⑧(網(wǎng)絡(luò)篇) 共22題 已更新
⑨(多媒體篇) 共59題 已更新
⑩(安全篇) 共27題 已更新
面試題
一共分為3個(gè) 總共400題
?(面試篇 1/3) 共127題 已更新
?(面試篇 2/3) 共137題 已更新
?(面試篇 3/3) 共136題 已更新
@TOC
筆試題 613題
??⑤溶诞、筆試題-操作篇(68題)
1.在Instruments
工具中,用于檢查內(nèi)存泄露
的工具是:[多選題]
- A凌箕、Counters
- B拧篮、Allocations
- C词渤、Leaks
- D牵舱、Energy Log
2.可以通過代碼進(jìn)行寫操作的文件或目錄
有:[多選題]
- A、bundle目錄
- B缺虐、Documents目錄
- C芜壁、keychain
- D、SQLite
3.使用Xcode
創(chuàng)建工程時(shí),支持同時(shí)創(chuàng)建的版本管理庫
是:[單選題]
- A高氮、Subversion
- B慧妄、Mercurial
- C、Git
- D剪芍、Concurrent Versions System
4.需要在手動(dòng)管理內(nèi)存分配
和釋放
的Xcode
項(xiàng)目引入和編譯ARC風(fēng)格編寫
的文件塞淹,需要在文件的Compiler Flags
添加參數(shù)
:[單選題]
- A、-shared
- B罪裹、-fon-objc-arc
- C饱普、-fobjc-arc
- D运挫、-dynamic
5.使用iPhone模擬器可以測(cè)試相機(jī)
、傳感器
等功能套耕?:[判斷題]
- A谁帕、正確
- B、錯(cuò)誤
6.以下哪個(gè)操作可以獲取模擬器
的截圖
冯袍?:[多選題]
- A匈挖、依次點(diǎn)擊[File > Save Screen Shot]菜單命令。
- B康愤、使用[Command + D]快捷鍵儡循。
- C、使用[Command + S]快捷鍵征冷。
- D贮折、使用[Command + Shift + S]快捷鍵。
7.使用Xcode9
的模擬器,如果需要退出當(dāng)前的應(yīng)用程序
资盅,可以如何操作调榄?:[多選題]
- A、使用[Command + Shift + H]快捷鍵呵扛。
- B每庆、使用[HardWare + Home]命令。
- C今穿、使用[Command + Shift + E]快捷鍵缤灵。
- D、點(diǎn)擊模擬器的Home鍵蓝晒。
8.使用Xcode9
的模擬器,如果需要清除模擬器中的所有應(yīng)用程序
腮出,可以如何操作?:[單選題]
- A芝薇、使用[HardWare + Restart]命令胚嘲。
- B、使用[HardWare + Erase All Content and settings...]命令洛二。
- C馋劈、使用[File > Close Window]命令。
- D晾嘶、使用[HardWare + Lock]命令妓雾。
9.按下鍵盤上的哪個(gè)鍵,可以在模擬器中模擬雙指觸摸
垒迂?:[單選題]
- A械姻、Command
- B、Option
- C机断、Shift
- D楷拳、Control
10.模擬器可以支持長按
操作材部?:[判斷題]
- A、正確
- B唯竹、錯(cuò)誤
11.模擬器
支持3D Touch
操作乐导?:[判斷題]
- A、正確
- B浸颓、錯(cuò)誤
12.程序單元
是應(yīng)用程序的最小可測(cè)試部件
物臂,最小可測(cè)試部件
通常是包括基類
、抽象類
或者子類
中的方法产上?:[判斷題]
- A棵磷、正確
- B、錯(cuò)誤
13.單元測(cè)試
的關(guān)鍵組件
是測(cè)試用例
晋涣,測(cè)試用例
可以在最低可測(cè)試的單元對(duì)代碼進(jìn)行測(cè)試仪媒?:[判斷題]
- A、正確
- B谢鹊、錯(cuò)誤
14.XCTest
框架可以進(jìn)行單元測(cè)試
算吩,但是無法進(jìn)行性能測(cè)試
?:[判斷題]
- A佃扼、正確
- B偎巢、錯(cuò)誤
15.Xcode
的UI測(cè)試功能
能夠自動(dòng)記錄你在應(yīng)用程序界面的每一個(gè)操作步驟
,它可以將每一步的操作自動(dòng)生成對(duì)應(yīng)的代碼
嗎兼耀?:[判斷題]
- A压昼、可以
- B、不可以
16.使用Instruments
提供的多種工具瘤运,可以對(duì)應(yīng)用程序進(jìn)行哪些操作窍霞?:[多選題]
- A、追查代碼難以重現(xiàn)的問題拯坟。
- B但金、對(duì)應(yīng)用程序進(jìn)行性能分析。
- C似谁、對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試傲绣。
- D掠哥、進(jìn)行一般的系統(tǒng)故障診斷巩踏。
17.Instruments
中的哪個(gè)工具
,可以顯示內(nèi)存的對(duì)象占用曲線
续搀,內(nèi)存當(dāng)前分配
給了哪些對(duì)象
塞琼,被分配的對(duì)象數(shù)量
,以及由哪些函數(shù)
進(jìn)行對(duì)象的創(chuàng)建禁舷?:[單選題]
- A彪杉、Leaks
- B毅往、System Trace
- C、Zombies
- D派近、Allocations
18.Instruments中
的哪個(gè)工具
攀唯,可以查看內(nèi)存泄露的對(duì)象數(shù)量
,每個(gè)泄露對(duì)象的類型
渴丸,內(nèi)存地址
和占用大小
等信息:[單選題]
- A侯嘀、Leaks。
- B谱轨、System Trace戒幔。
- C、Zombies土童。
- D诗茎、Allocations。
19.以下關(guān)于iOS開發(fā)的第三方依賴開源框架管理工具
献汗。說法正確的是:[單選題]
- A敢订、SMP現(xiàn)在僅僅支持Swift語言,不支持iOS和watch OS平臺(tái)罢吃。
- B枢析、Carthage 僅僅支持最低版本為iOS8的工程。
- C刃麸、Cocoa Pods 則擁有最多的開源框架支持醒叁,并且可以支持Swift和Objective-C兩種語言編寫的Cocoa工程。
- D泊业、Carthage是一個(gè)Swift編寫的第三方依賴開源框架管理工具把沼。
20.使用CocoaPods
安裝第三方開源框架
之后。雙擊以下那個(gè)文件吁伺,來打開編輯安裝后的項(xiàng)目饮睬。:[單選題]
- A、projectName.xcodeproject
- B篮奄、projectName.xcodeworkspace
- C捆愁、projectName.storyboard
- D、projectName.plist
21.當(dāng)增加
或刪除
了某個(gè)第三方開源框架窟却,或第一次增加Podfile
到工程時(shí)昼丑,你需要使用以下哪個(gè)命令
來安裝
框架?:[單選題]
- A夸赫、pod install
- B菩帝、pod update
- C、pod update --no-repo-update
- D、pod install --no-repo-update
22.如果你的操作不需要更新
podspecs呼奢,執(zhí)行哪些命令
可以快速更新
第三方開源框架宜雀?:[多選題]
- A、pod update
- B握础、pod update --no-repo-update
- C辐董、pod install
- D、pod install --no-repo-update
23.Git
的哪些指令
需要在網(wǎng)絡(luò)
的環(huán)境
中執(zhí)行:[多選題]
- A禀综、pull
- B郎哭、commit
- C、status
- D菇存、push
24.Git
和SVN
等其他版本控制系統(tǒng)的一個(gè)重要不同之處夸研,就是Git有暫存區(qū)
:[判斷題]
- A、正確
- B依鸥、錯(cuò)誤
25.Git
版本有哪三種狀態(tài)
亥至?:[多選題]
- A、commited
- B贱迟、updated
- C姐扮、staged
- D、modified
26.Git
中幾乎所有的操作
都是可逆
的衣吠?:[判斷題]
- A茶敏、正確
- B、錯(cuò)誤
27.可以為iPhone
和iPad
指定不同
的`LaunchScreen.storyboard故事板缚俏?:[判斷題]
- A惊搏、正確
- B、錯(cuò)誤
28.LaunchScreen.storyboard
故事版可以使用UIView
或者UIViewController,
而自定義的子類則不可以使用:[判斷題]
- A忧换、正確
- B恬惯、錯(cuò)誤
29.寫入SQLite
數(shù)據(jù)庫,從數(shù)據(jù)庫中取出char
類型亚茬,當(dāng)char
類型表示中文字符
時(shí)酪耳,會(huì)出現(xiàn)亂碼
,這是因?yàn)閿?shù)據(jù)庫的默認(rèn)編碼方式
為:[單選題]
- A刹缝、ASCII
- B碗暗、UTF-8
- C、GB2312
- D梢夯、GBK
30.以下哪條sqlite
語句言疗,可以執(zhí)行非查詢的sql語句
?:[單選題]
- A厨疙、sqlite3_open()
- B洲守、sqlite3_exec()
- C疑务、sqlite3_step()
- D沾凄、sqlite3_close()
Mac鍵盤快捷鍵說明
31.以下哪個(gè)快捷鍵,可以左移一行
或多行選中
的代碼:[單選題]
- A梗醇、Command + [
- B、Command + ]
- C撒蟀、Command + <
- D叙谨、Command + >
32.以下哪個(gè)快捷鍵,可以隱藏
或顯示左側(cè)
的項(xiàng)目的導(dǎo)航區(qū)
:[單選題]
- A、control +1
- B保屯、control + 0
- C手负、command + 1
- D、command + 0
33.以下哪個(gè)快捷鍵,可以隱藏
或顯示右側(cè)
的項(xiàng)目的工具區(qū)(Utilities)
:[單選題]
- A姑尺、Command + Alt + 0
- B竟终、Command + Alt + 1
- C、Command + 0
- D切蟋、Command + 1
34.以下哪個(gè)快捷鍵,可以上移一行
或多行選擇
的項(xiàng)目的代碼:[單選題]
- A统捶、Option + Command + <
- B、Option + Command + >
- C柄粹、Option + Command + [
- D喘鸟、Option + Command + ]
35.以下哪個(gè)快捷鍵,可以新建一個(gè)項(xiàng)目
?:[單選題]
- A驻右、 Command + Shift + A
- B什黑、Command + Shift +N
- C、Command + N
- D堪夭、Command + A
36.以下哪個(gè)快捷鍵,可以新建一個(gè)文件
愕把?:[單選題]
- A、 Command + Shift + A
- B森爽、Command + Shift +N
- C礼华、Command + N
- D、Command + A
37.以下哪個(gè)快捷鍵,可以在項(xiàng)目搜索一個(gè)文件
拗秘?:[單選題]
- A圣絮、 Command + Shift + F
- B、Command + Shift +S
- C雕旨、Command +F
- D扮匠、Command + S
38.以下哪個(gè)快捷鍵,可以對(duì)當(dāng)前項(xiàng)目執(zhí)行Clear
操作?:[單選題]
- A凡涩、 Command + Shift + F
- B棒搜、Command + Shift +K
- C、Command + Shift +H
- D活箕、Command + Shift +N
39.以下哪個(gè)快捷鍵,可以快速編譯并運(yùn)行項(xiàng)目
力麸?:[單選題]
- A、 Command + B
- B、Command + S
- C克蚂、Command + N
- D闺鲸、Command + R
40.以下哪個(gè)快捷鍵,可以快速對(duì)代碼進(jìn)行注釋和取消注釋
?:[單選題]
- A埃叭、 Command + /
- B摸恍、Command + \
- C、Command + C
- D赤屋、Command + T
41.以下哪個(gè)快捷鍵,可以快速在當(dāng)前行插入或清除斷點(diǎn)
立镶?:[單選題]
- A、 Command + /
- B类早、Command + \
- C媚媒、Command + C
- D、Command + T
42.以下哪個(gè)快捷鍵,可以將光標(biāo)
快速移動(dòng)到文件的頭部
涩僻?:[單選題]
- A缭召、 Command + 上箭頭
- B、Command + 下箭頭
- C令哟、Command + 左箭頭
- D恼琼、Command + 右箭頭
43.以下哪個(gè)快捷鍵,可以將光標(biāo)
快速移動(dòng)到文件的尾部
?:[單選題]
- A屏富、 Command + 上箭頭
- B晴竞、Command + 下箭頭
- C、Command + 左箭頭
- D狠半、Command + 右箭頭
44.以下哪個(gè)快捷鍵,可以將光標(biāo)
快速移動(dòng)到行首
噩死?:[單選題]
- A、 Command + 上箭頭
- B神年、Command + 下箭頭
- C已维、Command + 左箭頭
- D、Command + 右箭頭
45.以下哪個(gè)快捷鍵,可以將光標(biāo)
快速移動(dòng)到行尾
已日?:[單選題]
- A垛耳、 Command + 上箭頭
- B、Command + 下箭頭
- C飘千、Command + 左箭頭
- D堂鲜、Command + 右箭頭
46.以下哪個(gè)快捷鍵,可以終止
或模擬器的運(yùn)行
?:[單選題]
- A护奈、 Command + ,
- B缔莲、Command + .
- C、Command + '
- D霉旗、Command + ~
47.以下哪個(gè)快捷鍵,可以在同一行
上將光標(biāo)向右移動(dòng)
痴奏?:[單選題]
- A蛀骇、 Control + M
- B、Control + B
- C读拆、Control + F
- D擅憔、Control + P
48.以下哪個(gè)快捷鍵,可以在同一行
上將光標(biāo)向左移動(dòng)
?:[單選題]
- A建椰、 Control + M
- B雕欺、Control + B
- C岛马、Control + F
- D棉姐、Control + P
49.以下哪個(gè)快捷鍵,可以將光標(biāo)
移動(dòng)到前一行
?:[單選題]
- A啦逆、 Control + M
- B伞矩、Control + B
- C、Control + F
- D夏志、Control + P
50.以下哪個(gè)快捷鍵,可以將光標(biāo)
移動(dòng)到后一行
乃坤?:[單選題]
- A、 Control + N
- B沟蔑、Control + B
- C湿诊、Control + F
- D、Control + P
51.以下哪個(gè)快捷鍵,可以將光標(biāo)
移動(dòng)到本行的行首
瘦材?:[單選題]
- A厅须、 Control + N
- B、Control + A
- C食棕、Control + F
- D朗和、Control + P
52.以下哪個(gè)快捷鍵,可以將光標(biāo)
移動(dòng)到本行的行尾
?:[單選題]
- A簿晓、 Control + N
- B眶拉、Control + A
- C、Control + E
- D憔儿、Control + P
53.以下哪個(gè)快捷鍵,可以刪除
光標(biāo)的字符
忆植?:[單選題]
- A、 Control + N
- B谒臼、Control + A
- C朝刊、Control + E
- D、Control + D
54.以下哪個(gè)快捷鍵,可以刪除
光標(biāo)所在行光標(biāo)后面的代碼
屋休,便于您重寫行尾代碼坞古?:[單選題]
- A、 Control + N
- B劫樟、Control + K
- C痪枫、Control + E
- D织堂、Control + D
55.以下哪個(gè)快捷鍵,可以將顯示區(qū)域
移動(dòng)到光標(biāo)顯示的中心位置
?:[單選題]
- A奶陈、 Control + N
- B易阳、Control + A
- C、Control + L
- D吃粒、Control + D
56.以下哪個(gè)快捷鍵,可以打開文件跳轉(zhuǎn)列表
,方便查看和打開歷史文件潦俺?:[單選題]
- A、 Control + 1
- B徐勃、Control + 2
- C事示、Control + 3
- D、Control + 4
57.以下哪個(gè)快捷鍵,可以打開與當(dāng)前文件處于同一文件夾下所有文件和文件列表
僻肖?:[單選題]
- A肖爵、 Control + 4
- B、Control + 5
- C臀脏、Control + 6
- D劝堪、Control + 7
58.以下哪個(gè)快捷鍵,可以顯示當(dāng)前代碼文件的所有方法列表
?:[單選題]
- A揉稚、 Control + 4
- B秒啦、Control + 5
- C、Control + 6
- D搀玖、Control + 7
59.以下哪個(gè)快捷鍵,可以選擇光標(biāo)右側(cè)的代碼
余境?:[單選題]
- A、 Control + Shift + E
- B巷怜、Control + Shift + A
- C葛超、Control + Shift + F
- D、Control + Shift + H
60.以下哪個(gè)快捷鍵,可以選擇光標(biāo)左側(cè)的代碼
延塑?:[單選題]
- A绣张、 Control + Shift + E
- B、Control + Shift + A
- C关带、Control + Shift + F
- D侥涵、Control + Shift + H
61.以下哪個(gè)快捷鍵,可以復(fù)制一個(gè)標(biāo)簽窗口
?:[單選題]
- A宋雏、 Command + A
- B芜飘、Command + E
- C、Command + T
- D磨总、Command + J
62.以下哪個(gè)快捷鍵,可以打開輔助編譯器
嗦明?:[單選題]
- A、 Command + Shift + Enter
- B蚪燕、Command + Control + Enter
- C娶牌、Command + Enter
- D奔浅、Command + Alt + Enter
63.以下哪個(gè)快捷鍵,可以關(guān)閉打開輔助編譯器
?:[單選題]
- A诗良、 Command + Shift + Enter
- B汹桦、Command + Control + Enter
- C、Command + Enter
- D鉴裹、Command + Alt + Enter
64.以下哪個(gè)快捷鍵,可以通過鍵入關(guān)鍵詞的方式舞骆,快速切換至某個(gè)文件
?:[單選題]
- A径荔、 Command + Shift + O
- B督禽、Command + Shift + A
- C、Command + Shift + H
- D猖凛、Command + Shift + K
65.CALayer
赂蠢、PDFDocument
绪穆、NSImageRep
,CIRenderTask
,CIContext & CIImage
這些類型的數(shù)據(jù)可以在哪個(gè)版本
的Xcode直接看到數(shù)據(jù)內(nèi)容,不再是簡(jiǎn)單的內(nèi)存地址
了辨泳?:[單選題]
- A、 Xcode 6
- B玖院、Xcode 7
- C菠红、Xcode 8
- D、Xcode 9
66.Xcode 9
中可以同時(shí)運(yùn)行多個(gè)
模擬器嗎难菌?:[判斷題]
- A试溯、 可以
- B、 不可以
67.Xcode 9
中可以任意調(diào)節(jié)模擬器的顯示比例嗎郊酒?:[判斷題]
- A遇绞、 可以
- B、 不可以
68.Xcode 9
中支持哪些轉(zhuǎn)換
和重構(gòu)
:[多選題]
- A燎窘、 添加缺少的協(xié)議要求
- B摹闽、為抽象方法添加缺少的重寫
- C、提取到局部變量
- D褐健、提取方法/表達(dá)式
<a id='jump'>Mac鍵盤快捷鍵說明</a>
⑴付鹿、快捷鍵圖標(biāo)
圖標(biāo) | 鍵盤 |
---|---|
? | Command |
? | Control |
? | Option |
? | Shift |
⑵、快捷鍵圖標(biāo)
文件快捷鍵
快捷鍵 | 鍵盤 | 描述 |
---|---|---|
?N | command + N | 新文件 |
??N | command + shift +N | 新項(xiàng)目 |
?O | command + O | 打開 |
?S | command + S | 保存 |
??S | command + shift + S | 另存為 |
?W | command + W | 關(guān)閉窗口 |
導(dǎo)航快捷鍵
快捷鍵 | 鍵盤 | 描述 |
---|---|---|
?1-8 | command +1/2/3/4/5/6/7/8 | 打開 Project/Symbol/Find/Issue/Test/Debug/Breakpoint/Log 導(dǎo)航欄 |
?0 | command + 0 | 顯示/隱藏 左側(cè) tool panel |
??Y | command + shift + Y | 顯示/隱藏 控制臺(tái) |
??0 | option + command + 0 | 顯示/隱藏 右側(cè) tool panel |
??1-3 | option + command + 1/2/3 | 打開右側(cè)導(dǎo)航欄 |
??J | command + shift + j | 在項(xiàng)目導(dǎo)航中定位當(dāng)前文件(Reveal in Project Navigator) |
?J | command + j | 焦點(diǎn)切換(Move Focus)蚜迅,可快速定位到編輯界面 |
搜索快捷鍵
快捷鍵 | 鍵盤 | 描述 |
---|---|---|
??F | command + shift + F | 使用項(xiàng)目搜索可以找到某個(gè)變量或方法名的被提到的次數(shù)舵匾。可以依據(jù)實(shí)例來匹配谁不,并可忽略大小寫字母坐梯。另外還可以對(duì)查找的變量名進(jìn)行替換。 |
??Up/Down | command + control + Up/Down | .h 和 .m文件間的快速切換 |
??O | command + shift + O | 可以直接跳轉(zhuǎn)到指定的代碼文件刹帕。 |
?6 | control + 6 | (鍵入方法/變量名+Enter跳轉(zhuǎn))跳轉(zhuǎn)至當(dāng)前代碼文件中的代碼行吵血。如果文件中有上千行代碼馏段,你可以通過該快捷操作來縮小查找范圍,從而在需要的地方插入代碼以添加新的功能践瓷。 |
?1 | control + 1 | 該快捷鍵可打開’Show Related Items‘彈出菜單’院喜。倘若你已經(jīng)將光標(biāo)放在了任何方法中,并點(diǎn)擊‘?1 ’就可以很方便地通過彈出的視圖訪問該方法的所有調(diào)用者和被調(diào)用者晕翠。 |
運(yùn)行調(diào)試快捷鍵
快捷鍵 | 鍵盤 | 描述 |
---|---|---|
??K | command + shift + k | 清除工程(clean) |
?B | command + B | 構(gòu)建應(yīng)用程序 |
?R | command + R | 運(yùn)行應(yīng)用程序 |
?. | command + . | 停止運(yùn)行(Stop) |
?\ | command + \ | 設(shè)置/取消斷點(diǎn)喷舀;通過鼠標(biāo)點(diǎn)擊藍(lán)色斷點(diǎn)來啟用/禁用當(dāng)前行斷點(diǎn)。 |
?Y | command + Y | 全局激活或禁用所有的斷點(diǎn)淋肾,激活進(jìn)入調(diào)試模式(此時(shí)斷點(diǎn)藍(lán)色可見)硫麻。 |
編輯快捷鍵
快捷鍵 | 鍵盤 | 描述 |
---|---|---|
?[/] | command+[ 或 ] | 向前/向后縮進(jìn) |
?/ | command + / | 注釋選中的代碼 |
??←/→ | command + option + ← / → | 折疊當(dāng)前代碼塊 |
???←/→ | command + option + shift + ← / → | 折疊該文件內(nèi)所有代碼塊(方法/函數(shù)) |
??[/] | command + option + [ 或 ] | 當(dāng)前行上移/下移 |
?B | control + B | 前移光標(biāo) |
?F | control + F | 后移光標(biāo) |
?P | control + p | 移動(dòng)光標(biāo)到上一行 |
?N | control + N | 移動(dòng)光標(biāo)到下一行 |
?A | control + Q | 移動(dòng)光標(biāo)到本行行首 |
?E | control + E | 移動(dòng)光標(biāo)到本行行尾 |
?K | control + K | 刪除本行 |
?D | control + D | 刪除光標(biāo)右邊的字符(一個(gè)字符) |
?L | control + L | 將插入點(diǎn)置于窗口正中 |