作者故胤道长
出版社电子工业出版社
出版时间2018-07
版次1
装帧其他
货号4架
上书时间2024-08-15
商品详情
- 品相描述:九品
图书标准信息
-
作者
故胤道长
-
出版社
电子工业出版社
-
出版时间
2018-07
-
版次
1
-
ISBN
9787121342622
-
定价
59.00元
-
装帧
其他
-
开本
16开
-
纸张
胶版纸
-
页数
220页
-
字数
242千字
- 【内容简介】
-
《iOS面试之道》是作者将多年的工作经验和积累,结合具体面试内容总结而成的。
《iOS面试之道》共分为3部分。第1部分为面试准备,详细介绍求职中遇到的基本问题,作者根据其多年的经验,在面试流程、简历投递、复习准备方面给出了完善的参考意见和建议。第2部分为算法知识。算法几乎是各种水平的程序员都要面对的考查内容。该部分采用Swift语言重新审视了多种数据结构和算法原理,可以说是为iOS开发者量身打造的算法解答。第3部分为iOS专业问答,分为语言工具、系统框架和经验之谈,采用问答的形式来详细介绍。
如果你是一名iOS开发者,并且正准备跳槽,那么本书是一本不错的复习参考书;如果你没有面试计划,那么本书也可以帮助你对iOS知识进行提纲挈领的整理;如果你是面试官,那么希望本书能为你提供考查应聘者的依据和源泉;对于具有其他背景的软件工程师,若想一窥iOS世界的知识框架,本书也是不错的切入点。
- 【作者简介】
-
故胤道长
卡内基梅隆大学硕士毕业,常年居住于美国的iOS开发者;先后就职于Uber、Amazon
GitHub全美前20名的Swift开源作者
唐巧
资深 iOS 开发者
拥有超过10万个微信公众号和微博粉丝,一直努力分享iOS相关知识
著有《iOS开发进阶》 一书
现任猿辅导公司,小猿搜题产品技术负责人
- 【目录】
-
目录
第1章 iOS工程师的面试 / 1
1.1 简历的准备 / 1
1.2 寻找机会 / 8
1.3 面试流程 / 9
1.4 代码和系统设计的准备 / 16
1.5 如何提问 / 22
1.6 Offer的比较和选择 / 24
第2章 算法基础 / 28
2.1 基本的数据结构 / 28
数组 / 28
字典和集合 / 30
字符串 / 32
2.2 链表 / 34
链表的基本概念 / 34
Dummy节点和尾插法 / 35
快行指针 / 38
2.3 栈和队列 / 40
栈和队列的基本概念 / 40
栈和队列互相转换 / 43
栈和队列面试实战题 / 45
2.4 二叉树 / 47
二叉树的基本概念 / 48
二叉树的遍历 / 50
二叉树面试实战题 / 51
2.5 排序和搜索 / 54
排序的基本概念 / 54
搜索的基本概念 / 57
排序面试实战题 / 59
搜索面试实战题 / 61
iOS中搜索与排序的配合使用 / 64
2.6 深度优先搜索和广度优先搜索 / 66
深度优先搜索和广度优先搜索的基本概念 / 66
深度优先搜索和广度优先搜索面试实战题 / 69
2.7 动态规划 / 74
斐波拉契数列问题 / 74
斐波拉契数列问题面试实战题 / 77
第3章 语言工具 / 81
3.1 Swift / 81
Swift面试理论题 / 81
Swift面试实战题 / 88
3.2 Objective-C / 91
Objective-C面试理论题 / 91
Objective-C面试实战题 / 96
3.3 Swift VS Objective-C / 101
数据结构 / 101
编程思路 / 104
语言特性 / 105
3.4 Xcode使用 / 112
Xcode调试 / 112
分析与优化 / 114
Playground技巧 / 117
第4章 系统框架 / 119
4.1 UI相关知识 / 119
UIKit / 119
UI控件和基本布局 / 119
动画 / 124
多任务开发 / 127
4.2 UIScrollView及其子类 / 131
UIScrollView及其子类理论面试题 / 131
拓展知识 / 134
优化进阶 / 138
4.3 网络、推送与数据处理 / 141
网络、推送与数据处理相关理论 / 142
iOS网络请求 / 144
信息推送 / 148
数据处理 / 150
4.4 并发编程 / 152
4.5 设计模式 / 168
第5章 经验之谈 / 175
5.1 架构的选择 / 175
5.2 面向协议的编程 / 184
POP VS OOP / 184
POP面试实战题 / 189
5.3 App的测试和上架 / 195
测试相关知识 / 195
App Store相关知识 / 201
结束语 / 204
题目目录
给出一个字符串,要求将其按照单词顺序进行反转33
类(class)和结构体(struct)有什么区别81
Swift是面向对象还是函数式的编程语言83
在Swift中,什么是可选型(Optional)84
在Swift中,什么是泛型(Generics)84
说明并比较关键词:Open,Public,Internal,File-private和Private85
说明并比较关键词:Strong,Weak和Unowned86
在Swift中,如何理解copy-on-write87
什么是属性观察(Property Observer)87
在结构体中如何修改成员变量的方法88
如何用Swift实现或(II)操作89
实现一个函数:输入是任意一个整数,输出为输入的整数 289
实现一个函数:求0~100(包括0和100)中为偶数并且恰好是其他数字平方的
数字90
什么是ARC91
什么情况下会出现循环引用92
说明并比较关键词:strong,weak,assign和copy93
说明并比较关键词:atomatic和nonatomic94
atomic是百分之百线程安全的吗94
说明并比较关键词:_ _weak和_ _block95
什么是block?它和代理的区别是什么95
属性声明代码风格考查96
架构解耦代码考查97
内存管理语法考查98
多线程语法考查99
以scheduledTimerWithTimeInterval的方式触发的timer,在滑动页面上的列表时,
timer会暂停,为什么?该如何解决100
Swift为什么将String,Array和Dictionary设计成值类型101
如何用Swift将协议(protocol)中的部分方法设计成可选(optional)102
协议的代码实战103
在Swift和Objective-C的混合编程项目中,如何在Swift文件中调用
Objective-C文件中定义的方法?如何在Objective-C文件中调用Swift
文件中定义的方法104
比较Swift和Objective-C中的初始化方法(init)有什么异同105
比较Swift和Objective-C中的协议(protocol)有什么异同105
谈谈对Objective-C和Swift动态特性的理解105
语言特性的代码实战107
message send如果找不到对象,则会如何进行后续处理108
什么是method swizzling108
Swift和Objective-C的自省(Introspection)有什么不同109
能否通过Category给已有的类添加属性(property)110
LLDB中p和po有什么区别112
Xcode中的Buildtime issues和Runtime issues指什么113
App启动时间过长,该怎样优化114
如何用Xcode检测代码中的循环引用115
怎样解决EXC_BAD_ACCESS116
如何在Playground中执行异步操作117
在playground中实现一个10行的列表,每行随机显示一个0~100的整数118
要在UIView上定义一个Label有哪几种方式119
storyboard/xib和纯代码构建UI相比,有哪些优点和缺点120
Auto Layout和Frame在UI布局和渲染上有什么区别121
UIView和CALayer有什么区别121
说明并比较关键词:frame,bounds和center122
说明并比较方法:layoutIfNeeded,layoutSubviews和setNeedsLayout123
说明并比较关键词:Safe Area,SafeAreaLayoutGuide和SafeAreaInsets123
在iOS中实现动画的方式有几种124
控制屏幕上的圆形小球,使其水平向右滑动200个point125
在iOS开发中,如何保证App的UI在iPhone、iPad及iPad分屏情况下
依然适用127
如何用drag & drop实现图片拖动功能129
说明并比较关键词:contentView,contentInset,contentSize和contentOffset131
说明UITableViewCell的重用机制133
说明并比较协议:UITableViewDataSource和UITableViewDelegate133
请说明并比较协议:UICollectionViewDataSource,UICollection- ViewDelegate
和UICollectionViewDelegateFlowLayout133
实现一个10行的列表,每行随机显示一个0~100的整数。用户可以删除、
移动任何一行,下拉列表中的数字重新刷新134
UICollectionView中的Supplementary Views和Decoration Views分别指什么137
如果一个列表视图滑动很慢,那么该怎样优化138
说一说实现预加载的方法139
如何用UICollectionView实现瀑布流界面140
说一说HTTP中GET与POST的区别142
说一说Session和Cookie的概念142
说明并比较网络通信协议:Ajax Polling,Long Polling,WebSockets和
Sever-Sent Event143
在一个HTTPS连接的网站中,输入账号和密码并单击登录按钮后,
到服务器返回这个请求前,这期间经历了什么143
说明并比较类:URLSessionTask,URLSessionDataTask,
URLSessionUploadTask和URLSessionDownloadTask144
什么是Completion Handler145
设计一个方法,在给定API的网址的条件下,返回用户数据146
在iOS开发中,本地消息通知的流程是怎样的148
说一说在iOS开发中,远程消息推送的原理149
在iOS开发中,如何实现编码和解码150
说一说在iOS开发中数据持久化的方案151
在iOS开发中,对于并发操作有哪3种方式153
比较关键词:Serial,Concurrent,Sync和Async153
串行队列的代码实战154
并行队列的代码实战156
举例说明iOS并发编程中的三大问题157
竞态条件的代码实战160
试比较GCD中的方法:dispatch_async,dispatch_after,dispatch_ once
和dispatch_group162
GCD中全局(global)队列有哪几种优先级164
试比较Operations中的关键词:Operation,BlockOperation和OperationQueue164
如何在OperationQueue中取消某个Operation166
在实际开发中,主线程和其他线程有哪些使用场景168
说说你平常开发中用到的设计模式169
什么是MVC170
Objective-C和Swift在单例模式的创建上有什么区别171
什么是装饰模式(Decorator)171
什么是观察者模式(Observer)172
什么是备忘录模式(Memento)174
比较苹果官方的MVC架构的优点和缺点176
MVC架构的代码实战177
MVCS中的S为什么要单独拆分出来179
MVP和MVC有什么异同179
MVVM中的ViewModel的作用是什么180
比较MVC、MVP和MVVM这三种架构181
VIPER之间的各个组件是如何交互的182
什么是OOP?它在iOS开发中有哪些优点184
OOP在iOS开发中有哪些缺点185
POP相比OOP有哪些优势187
要给一个UIButton增加一个点击后抖动的效果,该怎样实现189
POP的代码实战190
试用Swift实现二分搜索算法192
一个App崩溃了,可能是什么原因造成的195
在模拟机上完成所有测试之后,就不需要在真机上再进行测试了吗196
为什么在单元测试中引入代码模块要用@testable关键词197
单元测试的代码实战197
说一说iOS中的性能测试(performance test)199
说一说iOS开发中的UI测试200
如何检查测试覆盖率200
什么是iOS中的App ID201
什么是iOS中的Code Signing202
什么是iOS中的App Thinning202
向App Store提交App时有哪些原因可能被拒203
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价