注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書經(jīng)濟(jì)管理自我實(shí)現(xiàn)/勵(lì)志人在職場iOS面試之道

iOS面試之道

iOS面試之道

定 價(jià):¥59.00

作 者: 故胤道長
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787121342622 出版時(shí)間: 2018-07-01 包裝:
開本: 16開 頁數(shù): 220 字?jǐn)?shù):  

內(nèi)容簡介

  《iOS面試之道》是作者將多年的工作經(jīng)驗(yàn)和積累,結(jié)合具體面試內(nèi)容總結(jié)而成的。《iOS面試之道》共分為3部分。第1部分為面試準(zhǔn)備,詳細(xì)介紹求職中遇到的基本問題,作者根據(jù)其多年的經(jīng)驗(yàn),在面試流程、簡歷投遞、復(fù)習(xí)準(zhǔn)備方面給出了完善的參考意見和建議。第2部分為算法知識(shí)。算法幾乎是各種水平的程序員都要面對(duì)的考查內(nèi)容。該部分采用Swift語言重新審視了多種數(shù)據(jù)結(jié)構(gòu)和算法原理,可以說是為iOS開發(fā)者量身打造的算法解答。第3部分為iOS專業(yè)問答,分為語言工具、系統(tǒng)框架和經(jīng)驗(yàn)之談,采用問答的形式來詳細(xì)介紹。如果你是一名iOS開發(fā)者,并且正準(zhǔn)備跳槽,那么本書是一本不錯(cuò)的復(fù)習(xí)參考書;如果你沒有面試計(jì)劃,那么本書也可以幫助你對(duì)iOS知識(shí)進(jìn)行提綱挈領(lǐng)的整理;如果你是面試官,那么希望本書能為你提供考查應(yīng)聘者的依據(jù)和源泉;對(duì)于具有其他背景的軟件工程師,若想一窺iOS世界的知識(shí)框架,本書也是不錯(cuò)的切入點(diǎn)。

作者簡介

  顧毅,曾在硅谷視頻公司 Ooyala,移動(dòng)視頻部門,Uber 舊金山總部核心架構(gòu)部門工作,現(xiàn)在***Kindle部門,任技術(shù)領(lǐng)導(dǎo)人。唐巧,小猿搜題負(fù)責(zé)人,資深iOS開發(fā)者。

圖書目錄

第1章 iOS工程師的面試 / 1
1.1 簡歷的準(zhǔn)備 / 1
1.2 尋找機(jī)會(huì) / 8
1.3 面試流程 / 9
1.4 代碼和系統(tǒng)設(shè)計(jì)的準(zhǔn)備 / 16
1.5 如何提問 / 22
1.6 Offer的比較和選擇 / 24
第2章 算法基礎(chǔ) / 28
2.1 基本的數(shù)據(jù)結(jié)構(gòu) / 28
數(shù)組 / 28
字典和集合 / 30
字符串 / 32
2.2 鏈表 / 34
鏈表的基本概念 / 34
Dummy節(jié)點(diǎn)和尾插法 / 35
快行指針 / 38
2.3 棧和隊(duì)列 / 40
棧和隊(duì)列的基本概念 / 40
棧和隊(duì)列互相轉(zhuǎn)換 / 43
棧和隊(duì)列面試實(shí)戰(zhàn)題 / 45

2.4 二叉樹 / 47
二叉樹的基本概念 / 48
二叉樹的遍歷 / 50
二叉樹面試實(shí)戰(zhàn)題 / 51
2.5 排序和搜索 / 54
排序的基本概念 / 54
搜索的基本概念 / 57
排序面試實(shí)戰(zhàn)題 / 59
搜索面試實(shí)戰(zhàn)題 / 61
iOS中搜索與排序的配合使用 / 64
2.6 深度優(yōu)先搜索和廣度優(yōu)先搜索 / 66
深度優(yōu)先搜索和廣度優(yōu)先搜索的基本概念 / 66
深度優(yōu)先搜索和廣度優(yōu)先搜索面試實(shí)戰(zhàn)題 / 69
2.7 動(dòng)態(tài)規(guī)劃 / 74
斐波拉契數(shù)列問題 / 74
斐波拉契數(shù)列問題面試實(shí)戰(zhàn)題 / 77
第3章 語言工具 / 81
3.1 Swift / 81
Swift面試?yán)碚擃} / 81
Swift面試實(shí)戰(zhàn)題 / 88
3.2 Objective-C / 91
Objective-C面試?yán)碚擃} / 91
Objective-C面試實(shí)戰(zhàn)題 / 96
3.3 Swift VS Objective-C / 101
數(shù)據(jù)結(jié)構(gòu) / 101
編程思路 / 104
語言特性 / 105
3.4 Xcode使用 / 112
Xcode調(diào)試 / 112
分析與優(yōu)化 / 114
Playground技巧 / 117

第4章 系統(tǒng)框架 / 119
4.1 UI相關(guān)知識(shí) / 119
UIKit / 119
UI控件和基本布局 / 119
動(dòng)畫 / 124
多任務(wù)開發(fā) / 127
4.2 UIScrollView及其子類 / 131
UIScrollView及其子類理論面試題 / 131
拓展知識(shí) / 134
優(yōu)化進(jìn)階 / 138
4.3 網(wǎng)絡(luò)、推送與數(shù)據(jù)處理 / 141
網(wǎng)絡(luò)、推送與數(shù)據(jù)處理相關(guān)理論 / 142
iOS網(wǎng)絡(luò)請(qǐng)求 / 144
信息推送 / 148
數(shù)據(jù)處理 / 150
4.4 并發(fā)編程 / 152
4.5 設(shè)計(jì)模式 / 168
第5章 經(jīng)驗(yàn)之談 / 175
5.1 架構(gòu)的選擇 / 175
5.2 面向協(xié)議的編程 / 184
POP VS OOP / 184
POP面試實(shí)戰(zhàn)題 / 189
5.3 App的測試和上架 / 195
測試相關(guān)知識(shí) / 195
App Store相關(guān)知識(shí) / 201
結(jié)束語 / 204

題目目錄




給出一個(gè)字符串,要求將其按照單詞順序進(jìn)行反轉(zhuǎn)\t33
類(class)和結(jié)構(gòu)體(struct)有什么區(qū)別\t81
Swift是面向?qū)ο筮€是函數(shù)式的編程語言\t83
在Swift中,什么是可選型(Optional)\t84
在Swift中,什么是泛型(Generics)\t84
說明并比較關(guān)鍵詞:Open,Public,Internal,F(xiàn)ile-private和Private\t85
說明并比較關(guān)鍵詞:Strong,Weak和Unowned\t86
在Swift中,如何理解copy-on-write\t87
什么是屬性觀察(Property Observer)\t87
在結(jié)構(gòu)體中如何修改成員變量的方法\t88
如何用Swift實(shí)現(xiàn)或(II)操作\t89
實(shí)現(xiàn)一個(gè)函數(shù):輸入是任意一個(gè)整數(shù),輸出為輸入的整數(shù)+2\t89
實(shí)現(xiàn)一個(gè)函數(shù):求0~100(包括0和100)中為偶數(shù)并且恰好是其他數(shù)字平方的
數(shù)字\t90
什么是ARC\t91
什么情況下會(huì)出現(xiàn)循環(huán)引用\t92
說明并比較關(guān)鍵詞:strong,weak,assign和copy\t93
說明并比較關(guān)鍵詞:atomatic和nonatomic\t94
atomic是百分之百線程安全的嗎\t94
說明并比較關(guān)鍵詞:_ _weak和_ _block\t95
什么是block?它和代理的區(qū)別是什么\t95
屬性聲明代碼風(fēng)格考查\t96
架構(gòu)解耦代碼考查\t97
內(nèi)存管理語法考查\t98
多線程語法考查\t99
以scheduledTimerWithTimeInterval的方式觸發(fā)的timer,在滑動(dòng)頁面上的列表時(shí),
timer會(huì)暫停,為什么?該如何解決\t100
Swift為什么將String,Array和Dictionary設(shè)計(jì)成值類型\t101
如何用Swift將協(xié)議(protocol)中的部分方法設(shè)計(jì)成可選(optional)\t102
協(xié)議的代碼實(shí)戰(zhàn)\t103
在Swift和Objective-C的混合編程項(xiàng)目中,如何在Swift文件中調(diào)用
Objective-C文件中定義的方法?如何在Objective-C文件中調(diào)用Swift
文件中定義的方法\t104
比較Swift和Objective-C中的初始化方法(init)有什么異同\t105
比較Swift和Objective-C中的協(xié)議(protocol)有什么異同\t105
談?wù)剬?duì)Objective-C和Swift動(dòng)態(tài)特性的理解\t105
語言特性的代碼實(shí)戰(zhàn)\t107
message send如果找不到對(duì)象,則會(huì)如何進(jìn)行后續(xù)處理\t108
什么是method swizzling\t108
Swift和Objective-C的自?。↖ntrospection)有什么不同\t109
能否通過Category給已有的類添加屬性(property)\t110
LLDB中p和po有什么區(qū)別\t112
Xcode中的Buildtime issues和Runtime issues指什么\t113
App啟動(dòng)時(shí)間過長,該怎樣優(yōu)化\t114
如何用Xcode檢測代碼中的循環(huán)引用\t115
怎樣解決EXC_BAD_ACCESS\t116
如何在Playground中執(zhí)行異步操作\t117
在playground中實(shí)現(xiàn)一個(gè)10行的列表,每行隨機(jī)顯示一個(gè)0~100的整數(shù)\t118
要在UIView上定義一個(gè)Label有哪幾種方式\t119
storyboard/xib和純代碼構(gòu)建UI相比,有哪些優(yōu)點(diǎn)和缺點(diǎn)\t120
Auto Layout和Frame在UI布局和渲染上有什么區(qū)別\t121
UIView和CALayer有什么區(qū)別\t121
說明并比較關(guān)鍵詞:frame,bounds和center\t122
說明并比較方法:layoutIfNeeded,layoutSubviews和setNeedsLayout\t123
說明并比較關(guān)鍵詞:Safe Area,SafeAreaLayoutGuide和SafeAreaInsets\t123
在iOS中實(shí)現(xiàn)動(dòng)畫的方式有幾種\t124
控制屏幕上的圓形小球,使其水平向右滑動(dòng)200個(gè)point\t125
在iOS開發(fā)中,如何保證App的UI在iPhone、iPad及iPad分屏情況下
依然適用\t127
如何用drag & drop實(shí)現(xiàn)圖片拖動(dòng)功能\t129
說明并比較關(guān)鍵詞:contentView,contentInset,contentSize和contentOffset\t131
說明UITableViewCell的重用機(jī)制\t133
說明并比較協(xié)議:UITableViewDataSource和UITableViewDelegate\t133
請(qǐng)說明并比較協(xié)議:UICollectionViewDataSource,UICollection- ViewDelegate
和UICollectionViewDelegateFlowLayout\t133
實(shí)現(xiàn)一個(gè)10行的列表,每行隨機(jī)顯示一個(gè)0~100的整數(shù)。用戶可以刪除、
移動(dòng)任何一行,下拉列表中的數(shù)字重新刷新\t134
UICollectionView中的Supplementary Views和Decoration Views分別指什么\t137
如果一個(gè)列表視圖滑動(dòng)很慢,那么該怎樣優(yōu)化\t138
說一說實(shí)現(xiàn)預(yù)加載的方法\t139
如何用UICollectionView實(shí)現(xiàn)瀑布流界面\t140
說一說HTTP中GET與POST的區(qū)別\t142
說一說Session和Cookie的概念\t142
說明并比較網(wǎng)絡(luò)通信協(xié)議:Ajax Polling,Long Polling,WebSockets和
Sever-Sent Event\t143
在一個(gè)HTTPS連接的網(wǎng)站中,輸入賬號(hào)和密碼并單擊登錄按鈕后,
到服務(wù)器返回這個(gè)請(qǐng)求前,這期間經(jīng)歷了什么\t143
說明并比較類:URLSessionTask,URLSessionDataTask,
URLSessionUploadTask和URLSessionDownloadTask\t144
什么是Completion Handler\t145
設(shè)計(jì)一個(gè)方法,在給定API的網(wǎng)址的條件下,返回用戶數(shù)據(jù)\t146
在iOS開發(fā)中,本地消息通知的流程是怎樣的\t148
說一說在iOS開發(fā)中,遠(yuǎn)程消息推送的原理\t149
在iOS開發(fā)中,如何實(shí)現(xiàn)編碼和解碼\t150
說一說在iOS開發(fā)中數(shù)據(jù)持久化的方案\t151
在iOS開發(fā)中,對(duì)于并發(fā)操作有哪3種方式\t153
比較關(guān)鍵詞:Serial,Concurrent,Sync和Async\t153
串行隊(duì)列的代碼實(shí)戰(zhàn)\t154
并行隊(duì)列的代碼實(shí)戰(zhàn)\t156
舉例說明iOS并發(fā)編程中的三大問題\t157
競態(tài)條件的代碼實(shí)戰(zhàn)\t160
試比較GCD中的方法:dispatch_async,dispatch_after,dispatch_ once
和dispatch_group\t162
GCD中全局(global)隊(duì)列有哪幾種優(yōu)先級(jí)\t164
試比較Operations中的關(guān)鍵詞:Operation,BlockOperation和OperationQueue\t164
如何在OperationQueue中取消某個(gè)Operation\t166
在實(shí)際開發(fā)中,主線程和其他線程有哪些使用場景\t168
說說你平常開發(fā)中用到的設(shè)計(jì)模式\t169
什么是MVC\t170
Objective-C和Swift在單例模式的創(chuàng)建上有什么區(qū)別\t171
什么是裝飾模式(Decorator)\t171
什么是觀察者模式(Observer)\t172
什么是備忘錄模式(Memento)\t174
比較蘋果官方的MVC架構(gòu)的優(yōu)點(diǎn)和缺點(diǎn)\t176
MVC架構(gòu)的代碼實(shí)戰(zhàn)\t177
MVCS中的S為什么要單獨(dú)拆分出來\t179
MVP和MVC有什么異同\t179
MVVM中的ViewModel的作用是什么\t180
比較MVC、MVP和MVVM這三種架構(gòu)\t181
VIPER之間的各個(gè)組件是如何交互的\t182
什么是OOP?它在iOS開發(fā)中有哪些優(yōu)點(diǎn)\t184
OOP在iOS開發(fā)中有哪些缺點(diǎn)\t185
POP相比OOP有哪些優(yōu)勢(shì)\t187
要給一個(gè)UIButton增加一個(gè)點(diǎn)擊后抖動(dòng)的效果,該怎樣實(shí)現(xiàn)\t189
POP的代碼實(shí)戰(zhàn)\t190
試用Swift實(shí)現(xiàn)二分搜索算法\t192
一個(gè)App崩潰了,可能是什么原因造成的\t195
在模擬機(jī)上完成所有測試之后,就不需要在真機(jī)上再進(jìn)行測試了嗎\t196
為什么在單元測試中引入代碼模塊要用@testable關(guān)鍵詞\t197
單元測試的代碼實(shí)戰(zhàn)\t197
說一說iOS中的性能測試(performance test)\t199
說一說iOS開發(fā)中的UI測試\t200
如何檢查測試覆蓋率\t200
什么是iOS中的App ID\t201
什么是iOS中的Code Signing\t202
什么是iOS中的App Thinning\t202
向App Store提交App時(shí)有哪些原因可能被拒\t203

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)