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

iOS面試之道

iOS面試之道

定 價:¥59.00

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

購買這本書可以去


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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

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

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

題目目錄




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

本目錄推薦

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