-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

iOS程序員面試筆試寶典

( 簡體 字)
作者:蔣信厚類別:1. -> 程式設計 -> 手機程式 -> iPhone
   2. -> 程式設計 -> 面試指南
譯者:
出版社:機械工業出版社iOS程序員面試筆試寶典 3dWoo書號: 49996
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:9/25/2018
頁數:278
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111609278
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書針對當前各大IT企業面試筆試中的特性與側重點,精心挑選了近3年多家典型IT企業的iOS面試筆試真題,由于這些企業涉及業務包括系統軟件、搜索引擎、電子商務、手機軟件、安全關鍵軟件等領域,所以面試筆試真題非常具有代表性與參考性。同時,本書對這些題目進行了合理的劃分與歸類,并進行了庖丁解牛式的分析與講解,針對試題中涉及的部分重點、難點問題,本書都做了適當地擴展與延伸,力求對知識點的講解清晰而不紊亂,全面而不?唆。不僅如此,本書除了對iOS的基礎語言知識進行深度剖析以外,還針對數據庫、設計模式等相關知識的面試筆試做了非常詳細的介紹。讀者學習本書能夠獲取到求職的知識,更有針對性地進行求職準備,終能夠收獲一份滿意的工作。
目錄:

前言
面試筆試經驗技巧篇
經驗技巧1 如何巧妙地回答面試官的問題2
經驗技巧2 如何回答技術性問題3
經驗技巧3 如何回答非技術性問題5
經驗技巧4 如何回答快速估算類問題5
經驗技巧5 如何回答算法設計問題6
經驗技巧6 如何回答系統設計題9
經驗技巧7 如何解決求職中的時間沖突問題11
經驗技巧8 如果面試問題曾經遇見過,是否要告知面試官12
經驗技巧9 被企業拒絕后是否可以再申請12
經驗技巧10 如何應對自己不會回答的問題13
經驗技巧11 如何應對面試官的“激將法”語言13
經驗技巧12 如何處理與面試官持不同觀點這個問題14
經驗技巧13 什么是職場暗語15
經驗技巧14 名企iOS工程師行業訪談錄18
經驗技巧15 iOS開發的前景如何20
經驗技巧16 如何選擇iOS開發語言20
經驗技巧17 React Native 和Weex重要嗎21
經驗技巧18 企業對iOS開發者的要求有哪些22
經驗技巧19 iOS開發招聘有哪些要求24
經驗技巧20 iOS技術崗位面試精選27
面試筆試技術攻克篇
第1章 iOS開發基礎概念35
1.1 概念35
1.1.1 什么是“應用瘦身”35
1.1.2 什么是Cocoa和Cocoa Touch36
1.1.3 什么是謂詞36
1.1.4 什么是響應者鏈38
1.1.5 什么是“懶加載”39
1.1.6 類工廠方法是什么40
1.1.7 App ID和Bundle ID有什么不同40
1.1.8 什么是糖衣語法40
1.2 其他43
1.2.1 什么是SpriteKit和SceneKit43
1.2.2 iOS應用的生命周期回調方法主要有哪些43
1.2.3 iOS應用有哪幾種不同狀態?分別表示什么含義44
1.2.4 UIButton到NSObject之間的繼承關系是怎樣的45
1.2.5 Git和SVN有什么異同45
第2章 Objective-C語言基礎47
2.1 Objective-C語言基礎特性47
2.1.1 Objective-C的優缺點有哪些47
2.1.2 相對于Objective-C而言,Swift有什么新特性48
2.1.3 Foundation對象與Core Foundation對象有什么區別52
2.1.4 Objective-C中的類方法和實例方法有什么本質區別和聯系53
2.1.5 子類初始化時為什么要調用self = [super init]54
2.1.6 #import與#include以及#import<>與#import" "各有什么區別54
2.1.7 Objective-C中@class代表什么54
2.1.8 Objective-C中有二維數組嗎?如何實現55
2.1.9 在Objective-C的數組或字典中,添加nil對象會有什么問題55
2.1.10 Objective-C中的可變和不可變類型是什么56
2.2 數據類型57
2.2.1 在Objective-C中,常量有哪幾種類型57
2.2.2 Objective-C中數據類型的限定詞有哪些58
2.2.3 Objective-C中的NSInteger類型和C語言中的int類型有什么區別59
2.2.4 NSNumber與NSInteger有什么區別59
2.3 運算符和表達式60
2.3.1 在Objective-C中,前置運算和后置運算有什么區別60
2.3.2 整型值和浮點值在賦值操作中如何相互轉換61
第3章 Objective-C語言的高級特性63
3.1 Objective-C中的屬性63
3.2 Objective-C語言的多態性72
3.2.1 什么叫多態72
3.2.2 重載、重寫和隱藏的區別是什么74
3.2.3 Objective-C和Swift中有重載嗎74
3.3 Objective-C語言的動態性75
3.3.1 什么是編譯時與運行時79
3.3.2 所謂的Objective-C是動態運行時語言是什么意思79
3.3.3 Objective-C中的id類型指的是什么?id、nil代表什么82
3.3.4 一般的方法method和Objective-C中的選擇器selector有什么區別83
3.3.5 什么時候會報unrecognized selector錯誤83
3.3.6 什么是目標-動作機制83
3.3.7 在runtime中類與對象如何表示84
3.3.8 如何打印一個類中所有的實例變量85
3.3.9 如何使用runtime動態添加一個類87
3.3.10 如何在Category中增加屬性(關聯對象)88
3.3.11 如何理解消息傳遞機制89
3.3.12 如何理解消息轉發機制91
3.3.13 isKindOfClass和isMemberOfClass有什么區別與聯系94
3.3.14 Objective-C有私有方法嗎?有私有變量嗎94
3.4 Objective-C中的類別與擴展機制96
3.4.1 類別與其他特性(類擴展和繼承)有什么區別97
3.4.2 Objective-C中類別特性的作用及其局限性是什么97
3.4.3 類別和類擴展如何使用98
3.4.4 為什么類別只能添加擴展方法而不能添加屬性變量101
3.5 Method Swizzling魔法102
3.5.1 Method Swizzling的應用場景有哪些102
3.5.2 如何使用runtime進行方法交換105
3.6 其他問題107
3.6.1 C和Objective-C如何混用107
3.6.2 Swift和Objective-C如何互調107
3.6.3 Objective-C對象可以被copy的條件是什么109
3.6.4 Objective-C等同性中的字符串相等如何判斷110
3.6.5 一個Objective-C對象如何進行內存布局(考慮有父類的情況)111
第4章 Cocoa Touch框架相關112
4.1 UITableView112
4.1.1 UITableViewCell的復用原理是怎么樣的112
4.1.2 能否在一個視圖控制器中嵌入兩個tableView控制器114
4.1.3 一個tableView是否可以關聯兩個不同的datasource數據源115
4.1.4 如何對UITableView的滾動加載進行優化,防止卡頓116
4.2 UI視圖117
4.2.1 viewDidLoad和viewDidAppear的區別是什么117
4.2.2 frame和bounds有什么區別117
4.2.3 masksToBounds屬性是什么?它有什么作用118
4.2.4 tintColor 的作用是什么118
4.2.5 UIViewController的生命周期方法有哪些118
4.2.6 View和View之間的傳值方式有哪些119
4.3 其他問題119
4.3.1 xib和storyboard相比各自的優缺點是什么119
4.3.2 如何進行iOS 6和iOS 7的適配120
4.3.3 imageNamed和imageWithContentsOfFile有什么區別120
4.3.4 UIDevice如何獲取設備信息120
4.3.5 iOS中是如何使用自定義字體的122
第5章 iOS開發中的對象間通信機制125
5.1 iOS中的Protocol和Delegate125
5.2 推送和通知126
5.2.1 什么是消息推送?和Notification有什么區別126
5.2.2 什么是Notification?什么時候用Delegate或Notification128
5.2.3 NSNotification是同步還是異步129
5.3 Objective-C中的鍵值編碼和鍵值觀察130
5.3.1 什么是鍵值編碼KVC?鍵路徑是什么? 什么是鍵值觀察KVC130
5.3.2 KVC的應用場景有哪些132
5.3.3 如何運用KVO進行鍵值觀察134
5.3.4 如何使用KVO設置鍵值觀察依賴鍵136
5.3.5 KVO的背后原理是什么137
5.3.6 setValue:forKey:方法的底層實現是什么138
5.3.7 NSMutableDictionary中setValue和setObject有什么區別139
5.3.8 NSNotification、Delegate、Block和KVO的區別是什么140
第6章 iOS中的圖層與動畫142
6.1 圖層142
6.1.1 UIView和CALayer的區別與聯系是什么142
6.1.2 什么是Layer層對象143
6.1.3 如何使用CAShapeLayer繪制圖層146
6.1.4 iOS中如何實現為UIImageView添加圓角148
6.1.5 contentsScale屬性有什么作用149
6.1.6 如何理解anchorPoint和position的作用150
6.1.7 如何理解drawRect:方法151
6.1.8 如何使用mask屬性實現圖層蒙版功能152
6.1.9 如何解決masksToBounds離屏渲染帶來的性能損耗153
6.1.10 QuartzCore和Core Graphics有什么區別154
6.2 動畫154
6.2.1 UIView動畫原理是什么?以UIView類的animateWithDuration方法為例154
6.2.2 什么是隱式動畫和顯式動畫154
6.2.3 隱式動畫的實現原理是什么?如何禁用圖層的隱式動畫155
6.2.4 CGAffineTransform和CATransform3D分別有什么作用157
6.2.5 CATransition中過渡類型動畫有哪幾種type158
6.2.6 如何使用UIView動畫自定義過渡動畫159
6.2.7 如何理解并使用CAKeyframeAnimation160
6.2.8 如何自定義UIViewController之間的轉場動畫161
6.2.9 如何保持視圖界面為動畫結束時的狀態164
第7章 iOS中的數據持久化167
7.1 沙盒機制169
7.2 數據持久化方案170
7.2.1 iOS平臺做數據的持久化方式有哪些170
7.2.2 如何使用NSUserDefault偏好設置保存數據170
7.2.3 如何使用NSUserDefault保存自定義對象171
7.2.4 什么是序列化或者歸檔172
第8章 iOS中的內存管理174
8.1 內存管理174
8.1.1 什么是內存泄漏?什么是安全釋放174
8.1.2 僵尸對象、野指針、空指針分別指什么?它們有什么區別174
8.1.3 Objective-C有GC垃圾回收機制嗎175
8.1.4 在Objective-C中,與alloc語義相反的方法是dealloc還是release175
8.2 內存管理機制176
8.2.1 當使用block時,什么情況會發生引用循環?如何解決176
8.2.2 CAAnimation的delegate是強引用還是弱引用176
8.2.3 按照默認法則,哪些關鍵字生成的對象需要手動釋放177
8.2.4 Objective-C是如何實現內存管理的179
8.2.5 如何實現autorealeasepool179
8.2.6 如果一個對象釋放前被加到了NotificationCenter中,不在NotificationCenter中,那么
remove對象可能會怎樣181
8.2.7 NSArray和NSMutableArray在Copy和MutableCopy下的內存情況是怎樣的182
第9章 iOS中的網絡和多線程編程183
9.1 iOS網絡編程與多線程基礎183
9.1.1 什么是線程?線程與進程有什么區別?為什么要使用多線程189
9.1.2 如何理解多線程190
9.1.3 如何理解HTTP協議191
9.1.4 HTTPS協議與HTTP協議有什么區別與聯系193
9.1.5 UIKit類要在哪一個應用線程上使用194
9.1.6 iOS中有哪幾種從其他線程回到主線程的方法195
9.1.7 用戶下載一個大圖片,分成很多份下載,如何使用GCD實現196
9.1.8 項目中什么時候選擇使用GCD?什么時候選擇NSOperation196
9.1.9 NSOpertion如何實現線程依賴196
9.1.10 什么是線程死鎖197
9.1.11 dispatch_barrier_(a)sync的作用是什么198
9.1.12 如何理解線程安全199
9.1.13 如何實現Cocoa中多線程的安全201
9.1.14 如何使用NSURLConnection進行網絡請求202
9.1.15 如何使用NSURLSession進行網絡請求205
9.2 block與GCD206
9.2.1 block有哪幾種定義的方式206
9.2.2 在ARC環境下,是否需要使用copy關鍵字來修飾block207
9.2.3 在block內如何修改block外部變量208
9.2.4 在block中使用self關鍵字是否一定導致循環引用209
9.2.5 GCD中有哪幾種隊列211
9.2.6 如何理解GCD死鎖211
9.2.7 如何使用GCD實現線程之間的通信212
9.2.8 GCD如何實現線程同步213
9.2.9 GCD多線程編程中什么時候會創建新線程215
9.2.10 iOS中如何觸發定時任務或延時任務217
9.2.11 如何解決網絡請求的依賴關系220
第10章 iOS其他話題221
10.1 iOS中函數響應式編程及ReactiveCocoa的使用221
10.1.1 什么是ReactiveCocoa?如何使用221
10.1.2 如何使用RAC防止button短時間內重復單擊223
10.2 iOS基礎設計模式223
10.2.1 什么是單例模式224
10.2.2 什么是MVC設計模式225
10.2.3 如何理解MVVM設計模式228
10.3 第三方框架229
10.3.1 SDWebImage是什么?加載圖片的原理是什么230
10.3.2 什么是CocoaPods233
10.4 程序調試234
10.4.1 BAD_ACCESS在什么情況下出現234
10.4.2 如何調試BAD_ACCESS錯誤235
10.4.3 如何查看設備應用的crash日志235
10.4.4 如何檢測內存泄漏237
10.4.5 lldb(gdb)常用的調試命令有哪些237
第11章 數據庫239
11.1 數據庫基礎知識239
11.2 SQL語言的功能有哪些240
11.3 內連接與外連接有什么區別242
11.4 什么是事務243
11.5 什么是存儲過程?它與函數有什么區別與聯系245
11.6 一二三四范式有什么區別245
11.7 什么是觸發器247
11.8 什么是游標248
11.9 如果數據庫日志滿了,那么會出現什么情況249
11.10 union和union all有什么區別249
11.11 什么是視圖250
11.12 什么是數據庫三級封鎖協議251
11.13 索引的優缺點有哪些251
第12章 操作系統253
12.1 進程管理253
12.1.1 進程與線程有什么區別253
12.1.2 線程同步有哪些機制254
12.1.3 內核線程和用戶線程有什么區別254
12.2 內存管理255
12.2.1 內存管理有哪幾種方式255
12.2.2 什么是虛擬內存256
12.2.3 什么是內存碎片?什么是內碎片?什么是外碎片256
12.2.4 虛擬地址、邏輯地址、線性地址、物理地址有什么區別257
12.2.5 Cache替換算法有哪些257
12.3 用戶編程接口259
12.3.1 庫函數調用與系統調用有什么不同259
12.3.2 靜態鏈接與動態鏈接有什么區別259
12.3.3 靜態鏈接庫與動態鏈接庫有什么區別260
12.3.4 用戶態和核心態有什么區別260
12.3.5 用戶棧與內核棧有什么區別261
附錄 262
真題1262
真題2264
真題3265
真題1答案267
真題2答案274
真題3答案281
參考文獻 290
序: