网站颜色:

官方正版 iOS面试之道 故胤道长 ios开发教程书籍 iOS工程师面试技巧指南 面试准备算法知识iOS专业问答语言工具系统框架和经验书

  • 产品名称:iOS面试之道
  • 书名:iOS面试之道
  • 作者:故胤道长
  • 定价:59.00元
  • 书名:iOS面试之道
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:电子工业出版社


商品参数

117+面试题融入作者对问题本质的深刻理解和多年工作经验的沉淀,助你得到理想的Offer不仅是面试指南,也使建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和Private 85

说明并比较关键词:Strong,Weak和Unowned 86

在Swift中,如何理解copy-on-write 87

什么是属性观察(Property Observer) 87

在结构体中如何修改成员变量的方法 88

如何用Swift实现或(II)操作 89

实现一个函数:输入是任意一个整数,输出为输入的整数+2 89

实现一个函数:求0~100(包括0和100)中为偶数并且恰好是其他数字平方的

数字 90

什么是ARC 91

什么情况下会出现循环引用 92

说明并比较关键词:strong,weak,assign和copy 93

说明并比较关键词:atomatic和nonatomic 94

atomic是百分之百线程安全的吗 94

说明并比较关键词:_ _weak和_ _block 95

什么是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 swizzling 108

Swift和Objective-C的自省(Introspection)有什么不同 109

能否通过Category给已有的类添加属性(property) 110

LLDB中p和po有什么区别 112

Xcode中的Buildtime issues和Runtime issues指什么 113

App启动时间过长,该怎样优化 114

如何用Xcode检测代码中的循环引用 115

怎样解决EXC_BAD_ACCESS 116

如何在Playground中执行异步操作 117

在playground中实现一个10行的列表,每行随机显示一个0~100的整数 118

要在UIView上定义一个Label有哪几种方式 119

storyboard/xib和纯代码构建UI相比,有哪些优点和缺点 120

Auto Layout和Frame在UI布局和渲染上有什么区别 121

UIView和CALayer有什么区别 121

说明并比较关键词:frame,bounds和center 122

说明并比较方法:layoutIfNeeded,layoutSubviews和setNeedsLayout 123

说明并比较关键词:Safe Area,SafeAreaLayoutGuide和SafeAreaInsets 123

在iOS中实现动画的方式有几种 124

控制屏幕上的圆形小球,输水平向右滑动200个point 125

在iOS开发中,如何保证App的UI在iPhone、iPad及iPad分屏情况下

依然适用 127

如何用drag & drop实现图片拖动功能 129

说明并比较关键词:contentView,contentInset,contentSize和contentOffset 131

说明UITableViewCell的重用机制 133

说明并比较协议:UITableViewDataSource和UITableViewDelegate 133

请说明并比较协议:UICollectionViewDataSource,UICollection- ViewDelegate

和UICollectionViewDelegateFlowLayout 133

实现一个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 Event 143

在一个HTTPS连接的网站中,输入账号和密码并单击登录按钮后,

到服务器返回这个请求前,这期间经历了什么 143

说明并比较类:URLSessionTask,URLSessionDataTask,

URLSessionUploadTask和URLSessionDownloadTask 144

什么是Completion Handler 145

设计一个方法,在给定API的网址的条件下,返回用户数据 146

在iOS开发中,本地消息通知的流程是怎样的 148

说一说在iOS开发中,远程消息推送的原理 149

在iOS开发中,如何实现编码和解码 150

说一说在iOS开发中数据持久化的方案 151

在iOS开发中,对于并发操作有哪3种方式 153

比较关键词:Serial,Concurrent,Sync和Async 153

串行队列的代码实战 154

并行队列的代码实战 156

举例说明iOS并发编程中的三大问题 157

竞态条件的代码实战 160

试比较GCD中的方法:dispatch_async,dispatch_after,dispatch_ once

和dispatch_group 162

GCD中全局(global)队列有哪几种优先级 164

试比较Operations中的关键词:Operation,BlockOperation和OperationQueue 164

如何在OperationQueue中取消某个Operation 166

在实际开发中,主线程和其他线程有哪些使用场景 168

说说你平常开发中用到的设计模式 169

什么是MVC 170

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 ID 201

什么是iOS中的Code Signing 202

什么是iOS中的App Thinning 202

向App Store提交App时有哪些原因可能被拒 203



内容介绍

    

    《iOS面试之道》是作者将多年的工作经验和积累,结合具体面试内容总结而成的。《iOS面试之道》共分为3部分。第1部分为面试准备,详细介绍求职中遇到的基本问题,作者根据其多年的经验,在面试流程、简历投递、复习准备方面给出了完善的参考意见和建议。第2部分为算法知识。算法几乎是各种水平的程序员都要面对的考查内容。该部分采用Swift语言重新审视了多种数据结构和算法原理,可以说是为iOS开发者量身打造的算法解答。第3部分为iOS专业问答,分为语言工具、系统框架和经验之谈,采用问答的形式来详细介绍。如果你是一名iOS开发者,并且正准备跳槽,那么本书是一本不错的复习参考书;如果你没有面试计划,那么本书也可以帮助你对iOS知识进行提纲挈领的整理;如果你是面试官,那么希望本书能为你提供考查应聘者的依据和源泉;对于具有其他背景的软件工程师,若想一窥iOS世界的知识框架,本书也是不错的切入点。


作者介绍

故胤道长

卡内基梅隆大学硕士毕业,常年居住于美国的iOS开发者。

Github全美前20的Swift开源作者。

前Uber核心架构组成员,现Amazon软件工程师。


唐巧

资深 iOS 开发

拥有超过 10 万的公众号和微博粉丝,一直努力分享 iOS 相关知识

著有《iOS 开发进阶》 一书

现任猿辅导公司,小猿搜题产品技术负责人 



关联推荐

如果你是一名iOS开发者,并且正准备跳槽,那么本书是一本不错的复习参考书;如果你没有面试计划,那么本书也可以帮助你对iOS知识进行提纲挈领的整理;如果你是面试官,那么希望本书能为你提供考查应聘者的依据和源泉;对于具有其他背景的软件工程师,若想一窥iOS世界的知识框架,本书也是不错的切入点。
热门设计服务