登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』iOS面试一战到底

書城自編碼: 3554586
分類:簡體書→大陸圖書→計算機/網絡项目管理 IT人文
作者: 张益珲
國際書號(ISBN): 9787302559191
出版社: 清华大学出版社
出版日期: 2020-09-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 104.3

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
西方哲学史
《 西方哲学史 》

售價:HK$ 106.8
中国财富管理发展指数(2022)
《 中国财富管理发展指数(2022) 》

售價:HK$ 69.6
希腊神话和仪式中的结构与历史
《 希腊神话和仪式中的结构与历史 》

售價:HK$ 93.6
周制与秦制
《 周制与秦制 》

售價:HK$ 153.6
中世纪英国的财政、军事与外交(中外文明传承与交流研究书系)
《 中世纪英国的财政、军事与外交(中外文明传承与交流研究书系) 》

售價:HK$ 93.6
缺席者的历史:以色列十个遗失的部落
《 缺席者的历史:以色列十个遗失的部落 》

售價:HK$ 93.6
晚清洋务运动始末
《 晚清洋务运动始末 》

售價:HK$ 95.8
美索不达米亚神话
《 美索不达米亚神话 》

售價:HK$ 83.8

 

編輯推薦:
从内容上讲,本书的每一章都可以作为一个独立的专题模块。章与章之间有一定的先后顺序与关联性,但是这种关联性并不强。如果你对某一章内容不感兴趣,或者对某一章所讲内容已经能够熟练掌握,那么你完全可以跳过本章进行阅读学习。同样,你也可以将本书作为一本工具书,在日常开发中查询某些知识点的用法,或者在技术面试前夕进行突击训练。本书中的所有范例都提供了源代码参考,并且本书每一章的结尾都提供了一些面试场景,以供读者进行练习。
內容簡介:
本书是一本专门面向提升面试技巧的工具书,同时也是一本专注于提升iOS核心开发能力的进阶教程。 本书比较系统地介绍了一个高级iOS工程师在开发中需要掌握的各种核心技能,其中包括流行的设计模式与数据结构、常用的核心算法、多线程技术以及iOS应用运行和界面渲染的底层原理与优化思路等。本书结合面试场景,提供了大量的模拟习题来帮助读者做演练。通过本书的学习,可以切实提高读者的编程技能,学到更多高阶iOS开发技巧,同时也可以提高面试实力,帮助读者在找工作的过程中更加游刃有余。 由于本书涉及更多的是设计开发中的高阶技巧,因此对于无基础的读者来说可能略有难度。本书并不适合零基础的读者作为入门参考书阅读,对于零基础的读者,建议先学习入门类教程后再使用本书做深入与提高。
關於作者:
张益珲(网名:珲少)
多年iOS开发经验,51CTO学院、CSDN学院签约讲师 ,麦子学院金牌讲师。参与开发iOS平台系列游戏:疯狂越狱1-2、应用物通配货软件、VIPExam考试库、证券财经软件等。曾就职于中国唯品会,主要从事移动端应用开发,对iOS开发、React Native跨平台开发及JavaScript前端开发都拥有丰富的经验。曾出版《iOS开发实战:从零基础到App Store上架》《React Native全教程:移动端跨平台应用开发》等多本编程著作。
目錄
第1章 面试前的准备 1
1.1 精致你的简历 1
1.1.1 求职简历的基本格式 2
1.1.2 投其所好精准投递你的简历 2
1.2 筛选面试机会 3
1.2.1 从眼前着眼,也考虑未来 3
1.2.2 在面试过程中分析公司 3
1.3 笔试与面试 4
1.3.1 关于笔试需要注意的事 4
1.3.2 关于面试需要注意的事 4
1.4 面试中的交流与提问 5
1.4.1 尽量使单向的陈述变成双向的交流 5
1.4.2 把握提问的机会 5
1.5 Offer的选择与职业规划 6
1.5.1 选择Offer时的几点建议 6
1.5.2 关于职业规划 7
1.6 回顾、思考与练习 8
1.6.1 回顾 8
1.6.2 思考与练习 9

第2章 常用设计模式应用解析 10
2.1 设计模式概述 10
2.1.1 初识设计模式 11
2.1.2 设计模式的分类 11
2.2 关于UML建模语言 12
2.2.1 UML简介 12
2.2.2 使用UML描述类之间的关系 13
2.3 软件设计的7条原则 16
2.3.1 开闭原则 16
2.3.2 里式替换原则 19
2.3.3 单一职责原则 21
2.3.4 接口隔离原则 23
2.3.5 依赖倒置原则 26
2.3.6 迪米特原则 28
2.3.7 合成复用原则 30
2.4 创建型设计模式 32
2.4.1 单例设计模式 32
2.4.2 原型设计模式 36
2.4.3 工厂方法设计模式 38
2.4.4 抽象工厂设计模式 40
2.4.5 建造者设计模式 42
2.5 结构型设计模式 44
2.5.1 代理设计模式 44
2.5.2 适配器设计模式 46
2.5.3 桥接设计模式 47
2.5.4 装饰设计模式 48
2.5.5 外观设计模式 49
2.5.6 享元设计模式 50
2.5.7 组合设计模式 52
2.6 行为型设计模式 55
2.6.1 模板方法设计模式 55
2.6.2 策略设计模式 56
2.6.3 命令设计模式 57
2.6.4 责任链设计模式 60
2.6.5 状态设计模式 62
2.6.6 观察者设计模式 63
2.6.7 中介者设计模式 65
2.6.8 迭代器设计模式 68
2.6.9 访问者设计模式 69
2.6.10 备忘录设计模式 70
2.6.11 解释器设计模式 72
2.7 回顾、思考与练习 73
2.7.1 回顾 74
2.7.2 思考与练习 74

第3章 核心数据类型你不知道的真相 75
3.1 多变的NSString类 75
3.1.1 从NSString对象的引用计数说起 76
3.1.2 iOS程序的内存分布 78
3.1.3 NSString类簇 79
3.1.4 NSString复制相关的方法 81
3.2 深入理解NSArray类 83
3.2.1 NSArray相关类簇 84
3.2.2 NSArray数组的内存分布 85
3.3 NSDictionary的相关内容 86
3.3.1 NSDictionary类簇 86
3.3.2 了解哈希表 87
3.3.3 处理哈希碰撞 89
3.3.4 NSDictionary的实现原理 92
3.4 Swift语言中的字符串、数组与字典类型 92
3.4.1 值类型与引用类型 93
3.4.2 在Swift中使用指针 96
3.4.3 指针与内存管理 98
3.4.4 Swift中的String类型 99
3.4.5 Swift中的Array类型 101
3.4.6 Swift中的Dictionary类型 104
3.5 回顾、思考与练习 105
3.5.1 回顾 105
3.5.2 思考与练习 105

第4章 常用算法解析 106
4.1 关于算法的复杂度 107
4.1.1 时间复杂度概述 107
4.1.2 常见的几种时间复杂度 108
4.1.3 空间复杂度概述 110
4.2 常用查找算法 112
4.2.1 顺序查找算法 112
4.2.2 二分查找算法 112
4.2.3 插值查找算法 113
4.2.4 斐波那契查找算法 114
4.2.5 二叉查找树查找算法 116
4.2.6 分块查找算法 117
4.2.7 哈希查找算法 118
4.3 常用排序算法 118
4.3.1 冒泡排序算法 118
4.3.2 选择排序算法 119
4.3.3 快速排序算法 120
4.3.4 插入排序算法 121
4.3.5 希尔排序算法 121
4.3.6 桶排序算法 122
4.3.7 归并排序算法 123
4.3.8 堆排序算法 125
4.4 树相关算法 126
4.4.1 树的概念 126
4.4.2 二叉树 127
4.4.3 二叉树的遍历 128
4.4.4 二叉查找树 130
4.4.5 平衡二叉查找树 133
4.4.6 构建平衡二叉查找树 135
4.5 回顾、思考与练习 140
4.5.1 回顾 140
4.5.2 思考与练习 141

第5章 容易被忽略的语法雷区 142
5.1 Objective-C中的属性 142
5.1.1 @property语法做了什么 143
5.1.2 属性修饰符 145
5.1.3 Setter方法语义类修饰符 145
5.1.4 访问器名称相关的修饰符 146
5.1.5 可写性相关的修饰符 146
5.1.6 原子性相关的修饰符 146
5.1.7 为空性相关的修饰符 147
5.2 深入理解引用计数技术 148
5.2.1 手动引用计数 148
5.2.2 初步了解自动引用计数的原理 150
5.2.3 自动释放池 152
5.3 Objective-C中的Block 154
5.3.1 Block的类型 154
5.3.2 Block中变量的捕获 157
5.3.3 __block关键字 158
5.4 iOS程序开发中的RunLoop 159
5.4.1 线程与RunLoop的关系 159
5.4.2 RunLoop的运行机制 161
5.4.3 RunLoop的模式 163
5.5 Objective-C语言的消息机制与运行时 164
5.5.1 使用消息发送代替函数调用 165
5.5.2 消息传递的过程 166
5.5.3 关于super关键字 172
5.5.4 Objective-C的运行时技术 173
5.6 Swift中的?与! 178
5.6.1 关于可选类型 178
5.6.2 隐式解析与可选链 179
5.6.3 可选类型的本质 181
5.7 Swift中的权限控制 181
5.7.1 关于private 182
5.7.2 关于fileprivate 183
5.7.3 关于internal 184
5.7.4 public与open 184
5.8 Swift中的泛型 185
5.8.1 泛型使用示例 185
5.8.2 对泛型进行约束 188
5.9 Swift中的协议与扩展 191
5.9.1 Swift中协议的用法 191
5.9.2 协议与扩展的结合使用 194
5.10 回顾、思考与练习 195
5.10.1 回顾 195
5.10.2 思考与练习 196

第6章 界面开发核心技术 197
6.1 自动布局技术 197
6.1.1 自动布局的基本原理 198
6.1.2 NSLayoutConstraint对象的使用 199
6.1.3 使用VFL创建约束对象 202
6.1.4 布局锚点NSLayoutAnchor的应用 205
6.2 iOS开发中的动画系统 207
6.2.1 动画的本质 207
6.2.2 关于CALayer 208
6.2.3 CALayer的隐式动画 210
6.2.4 隐式动画的原理 213
6.2.5 各种常用的CALayer子类 216
6.2.6 Core Animation核心动画技术 221
6.3 iOS中的绘图技术 223
6.3.1 屏幕渲染原理 223
6.3.2 iOS页面渲染的过程 224
6.3.3 图层的绘制 225
6.3.4 使用CGContext手动绘制图层 227
6.4 页面的性能优化 229
6.4.1 控制图层数量 229
6.4.2 合理使用离屏渲染 232
6.4.3 更多提高页面性能的方式 233
6.5 回顾、思考与练习 234
6.5.1 回顾 234
6.5.2 思考与练习 234

第7章 多线程核心知识 235
7.1 pthread多线程技术的应用 235
7.1.1 pthread的简单使用 236
7.1.2 可配置的线程属性 236
7.1.3 pthread中的常用函数 238
7.1.4 pthread进行线程间通信 241
7.2 NSThread多线程编程技术 242
7.2.1 使用NSThread开启新线程的几种方式 242
7.2.2 NSThread中的相关属性与方法解析 245
7.2.3 NSThread相关的几个通知 246
7.3 GCD多线程编程技术 246
7.3.1 GCD调度机制 247
7.3.2 添加任务到GCD队列 248
7.3.3 使用调度组 248
7.3.4 使用GCD进行快速迭代 251
7.3.5 使用GCD监听事件源 252
7.3.6 GCD中信号的使用 254
7.3.7 执行延时任务 255
7.3.8 GCD中的单例 255
7.3.9 GCD中的栅栏函数 255
7.4 NSOperationQueue多线程编程 257
7.4.1 理解NSOperation 258
7.4.2 NSOperationQueue操作队列 260
7.5 关于线程死锁 262
7.6 回顾、思考与练习 264
7.6.1 回顾 264
7.6.2 思考与练习 264

第8章 应用上架指南 265
8.1 应用程序推送 265
8.1.1 UserNotification框架概览 265
8.1.2 推送普通的本地通知 267
8.1.3 通知触发器 268
8.1.4 为通知内容添加附件 269
8.1.5 自定义通知模板 271
8.1.6 远程推送 273
8.2 应用程序上架流程 275
8.2.1 关于应用程序测试 275
8.2.2 提交应用程序到AppStore 276
8.2.3 应用审核拒绝后的处理方案 276
8.3 回顾、思考与练习 277
8.3.1 回顾 277
8.3.2 思考与练习 277
內容試閱
首先,感谢你在众多技术教程中选择本书作为学习的帮手。我希望在你的学习过程中,通过本书可以帮你掌握iOS开发的核心技能、扩宽编程思路,在学习和工作中不仅知其然,更知其所以然,从本质上提高代码质量与编程能力。
本书是一本针对iOS开发职位面试的技能特训图书。所谓特训,即本书所讲内容有着明确的目标:帮你显著地提高面试能力,快速掌握技术面试中考查频率高、易错率高的核心知识点。
从内容上讲,本书的每一章都可以作为一个独立的专题模块。章与章之间有一定的先后顺序与关联性,但是这种关联性并不强。如果你对某一章内容不感兴趣,或者对某一章所讲内容已经能够熟练掌握,那么你完全可以跳过本章进行阅读学习。同样,你也可以将本书作为一本工具书,在日常开发中查询某些知识点的用法,或者在技术面试前夕进行突击训练。
本书共分为8个章节,各章主要内容概述如下:
第1章没有涉及具体的技术知识,主要向读者介绍面试前需要做的准备。机会总是留给有准备的人,充足的准备工作可以帮助你更高概率地获得心仪的工作。
第2章介绍编程中常用的23种设计模式。设计模式可能并不是初学者的必修课,但是无论是对代码质量的提高,还是对优秀编程思路的培养,设计模式都起着至关重要的作用。在技术面试中,设计模式也是经常需要考查的技能点。本章会详细地介绍23种常用设计模式的原理、应用场景并且提供代码示例,帮助读者理解并使用这些设计模式。
第3章介绍iOS开发中一些核心数据类型的底层原理。这些数据类型都是我们日常开发中经常用到的,很多时候越常用到,误区就越容易被忽略。本章将对这些容易忽略的误区做系统介绍。
第4章将介绍编程中常用且基础的算法。对基础算法的掌握反映了一个开发者的基础思维能力,这也是面试中经常会考查的一项能力。本章将介绍与算法相关的复杂度的概念,并全面介绍有关查找、排序和树相关的算法。
第5章将对Objective-C和Swift编程语言中容易用错和容易遗漏的核心知识点进行介绍,包括内存管理、代码块、运行循环、可选值和泛型等。这部分内容有一些深度,对初学者来说会略微有些难度,掌握它们是成为高阶开发者的必经之路。
第6章将介绍iOS开发中界面开发相关的技术。本章会将重点放在iOS程序界面渲染的核心流程和原理上,提供给读者从本质上优化iOS程序界面渲染性能的思路。本章会涉及iOS自动布局技术的原理、图形绘制和动画的原理等。
第7章是相对比较独立的一个章节,会系统地介绍iOS开发中常用的多线程技术。多线程技术也是面试中的必考点,其本身简单,但是内容松散、容易遗忘,本章内容可以很好地帮助你组织记忆。
第8章是本书的最后一章,主要介绍与iOS应用上架的相关内容。对于没有上架经验的读者来说,本章内容十分重要,可以帮助你熟悉应用上架要做的准备和整体流程。
本书中的所有范例都提供了源代码参考,并且本书每一章的结尾都提供了一些面试场景,以供读者进行练习。可以扫描下述二维码获取源代码:
如果下载有问题或需要技术支持,请联系booksaga@126.com,邮件主题为iOS面试一战到底。
最后,本书能够成功出版,首先要感谢清华大学出版社的王金柱编辑,在笔者的写作过程中,王编辑提供了大量的宝贵建议。同时,笔者的家人和朋友也提供了无私的支持与帮助,没有大家的无私付出,本书无法呈现在你的手上。希望本书最终可以发挥价值,带给你更多的收获。

张益珲
2020年6月20日

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.