iOS面试一战到底

iOS面试一战到底

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书8章涵盖iOS面试准备、设计模式、基础知识、UI、网络、上架指南等方面,适合有基础开发者。

内容简介

本书分为8个章节,第1章讲解面试前需要进行准备的事项。第2章讲解开发中常用的设计模式,第3章进行Foundation库中核心数据结构的讲解。第4章对结合一些简单的算法,对面试常见算法问题进行讲解。第5章为iOS开发的语言基础知识,包括Obejctive-C与Swift两种语言的讲解。第6章介绍核心的UI开发技术。第7章对网络和数据解析的内容进行讲解。第8章是iOS应用的上架指南。本书主要面向有一定iOS开发基础想要应聘iOS开发岗位的iOS开发工程师使用。

章节目录

封面页

书名页

版权页

作者介绍

内容简介

前言

目录

第1章 面试前的准备

1.1 精致你的简历

1.1.1 求职简历的基本格式

1.1.2 投其所好——精准投递你的简历

1.2 筛选面试机会

1.2.1 从眼前着眼,也考虑未来

1.2.2 在面试过程中分析公司

1.3 笔试与面试

1.3.1 关于笔试需要注意的事

1.3.2 关于面试需要注意的事

1.4 面试中的交流与提问

1.4.1 尽量使单向的陈述变成双向的交流

1.4.2 把握提问的机会

1.5 Offer的选择与职业规划

1.5.1 选择Offer时的几点建议

1.5.2 关于职业规划

1.6 回顾、思考与练习

1.6.1 回顾

1.6.2 思考与练习

第2章 常用设计模式应用解析

2.1 设计模式概述

2.1.1 初识设计模式

2.1.2 设计模式的分类

2.2 关于UML建模语言

2.2.1 UML简介

2.2.2 使用UML描述类之间的关系

2.3 软件设计的7条原则

2.3.1 开闭原则

2.3.2 里式替换原则

2.3.3 单一职责原则

2.3.4 接口隔离原则

2.3.5 依赖倒置原则

2.3.6 迪米特原则

2.3.7 合成复用原则

2.4 创建型设计模式

2.4.1 单例设计模式

2.4.2 原型设计模式

2.4.3 工厂方法设计模式

2.4.4 抽象工厂设计模式

2.4.5 建造者设计模式

2.5 结构型设计模式

2.5.1 代理设计模式

2.5.2 适配器设计模式

2.5.3 桥接设计模式

2.5.4 装饰设计模式

2.5.5 外观设计模式

2.5.6 享元设计模式

2.5.7 组合设计模式

2.6 行为型设计模式

2.6.1 模板方法设计模式

2.6.2 策略设计模式

2.6.3 命令设计模式

2.6.4 责任链设计模式

2.6.5 状态设计模式

2.6.6 观察者设计模式

2.6.7 中介者设计模式

2.6.8 迭代器设计模式

2.6.9 访问者设计模式

2.6.10 备忘录设计模式

2.6.11 解释器设计模式

2.7 回顾、思考与练习

2.7.1 回顾

2.7.2 思考与练习

第3章 核心数据类型你不知道的真相

3.1 多变的NSString类

3.1.1 从NSString对象的引用计数说起

3.1.2 iOS程序的内存分布

3.1.3 NSString类簇

3.1.4 NSString复制相关的方法

3.2 深入理解NSArray类

3.2.1 NSArray相关类簇

3.2.2 NSArray数组的内存分布

3.3 NSDictionary的相关内容

3.3.1 NSDictionary类簇

3.3.2 了解哈希表

3.3.3 处理哈希碰撞

3.3.4 NSDictionary的实现原理

3.4 Swift语言中的字符串、数组与字典类型

3.4.1 值类型与引用类型

3.4.2 在Swift中使用指针

3.4.3 指针与内存管理

3.4.4 Swift中的String类型

3.4.5 Swift中的Array类型

3.4.6 Swift中的Dictionary类型

3.5 回顾、思考与练习

3.5.1 回顾

3.5.2 思考与练习

第4章 常用算法解析

4.1 关于算法的复杂度

4.1.1 时间复杂度概述

4.1.2 常见的几种时间复杂度

4.1.3 空间复杂度概述

4.2 常用查找算法

4.2.1 顺序查找算法

4.2.2 二分查找算法

4.2.3 插值查找算法

4.2.4 斐波那契查找算法

4.2.5 二叉查找树查找算法

4.2.6 分块查找算法

4.2.7 哈希查找算法

4.3 常用排序算法

4.3.1 冒泡排序算法

4.3.2 选择排序算法

4.3.3 快速排序算法

4.3.4 插入排序算法

4.3.5 希尔排序算法

4.3.6 桶排序算法

4.3.7 归并排序算法

4.3.8 堆排序算法

4.4 树相关算法

4.4.1 树的概念

4.4.2 二叉树

4.4.3 二叉树的遍历

4.4.4 二叉查找树

4.4.5 平衡二叉查找树

4.4.6 构建平衡二叉查找树

4.5 回顾、思考与练习

4.5.1 回顾

4.5.2 思考与练习

第5章 容易被忽略的语法雷区

5.1 Objective-C中的属性

5.1.1 @property语法做了什么

5.1.2 属性修饰符

5.1.3 Setter方法语义类修饰符

5.1.4 访问器名称相关的修饰符

5.1.5 可写性相关的修饰符

5.1.6 原子性相关的修饰符

5.1.7 为空性相关的修饰符

5.2 深入理解引用计数技术

5.2.1 手动引用计数

5.2.2 初步了解自动引用计数的原理

5.2.3 自动释放池

5.3 Objective-C中的Block

5.3.1 Block的类型

5.3.2 Block中变量的捕获

5.3.3 __block关键字

5.4 iOS程序开发中的RunLoop

5.4.1 线程与RunLoop的关系

5.4.2 RunLoop的运行机制

5.4.3 RunLoop的模式

5.5 Objective-C语言的消息机制与运行时

5.5.1 使用消息发送代替函数调用

5.5.2 消息传递的过程

5.5.3 关于super关键字

5.5.4 Objective-C的运行时技术

5.6 Swift中的“?”与“!”

5.6.1 关于可选类型

5.6.2 隐式解析与可选链

5.6.3 可选类型的本质

5.7 Swift中的权限控制

5.7.1 关于private

5.7.2 关于fileprivate

5.7.3 关于internal

5.7.4 public与open

5.8 Swift中的泛型

5.8.1 泛型使用示例

5.8.2 对泛型进行约束

5.9 Swift中的协议与扩展

5.9.1 Swift中协议的用法

5.9.2 协议与扩展的结合使用

5.10 回顾、思考与练习

5.10.1 回顾

5.10.2 思考与练习

第6章 界面开发核心技术

6.1 自动布局技术

6.1.1 自动布局的基本原理

6.1.2 NSLayoutConstraint对象的使用

6.1.3 使用VFL创建约束对象

6.1.4 布局锚点NSLayoutAnchor的应用

6.2 iOS开发中的动画系统

6.2.1 动画的本质

6.2.2 关于CALayer

6.2.3 CALayer的隐式动画

6.2.4 隐式动画的原理

6.2.5 各种常用的CALayer子类

6.2.6 Core Animation核心动画技术

6.3 iOS中的绘图技术

6.3.1 屏幕渲染原理

6.3.2 iOS页面渲染的过程

6.3.3 图层的绘制

6.3.4 使用CGContext手动绘制图层

6.4 页面的性能优化

6.4.1 控制图层数量

6.4.2 合理使用离屏渲染

6.4.3 更多提高页面性能的方式

6.5 回顾、思考与练习

6.5.1 回顾

6.5.2 思考与练习

第7章 多线程核心知识

7.1 pthread多线程技术的应用

7.1.1 pthread的简单使用

7.1.2 可配置的线程属性

7.1.3 pthread中的常用函数

7.1.4 pthread进行线程间通信

7.2 NSThread多线程编程技术

7.2.1 使用NSThread开启新线程的几种方式

7.2.2 NSThread中的相关属性与方法解析

7.2.3 NSThread相关的几个通知

7.3 GCD多线程编程技术

7.3.1 GCD调度机制

7.3.2 添加任务到GCD队列

7.3.3 使用调度组

7.3.4 使用GCD进行快速迭代

7.3.5 使用GCD监听事件源

7.3.6 GCD中信号的使用

7.3.7 执行延时任务

7.3.8 GCD中的单例

7.3.9 GCD中的栅栏函数

7.4 NSOperationQueue多线程编程

7.4.1 理解NSOperation

7.4.2 NSOperationQueue操作队列

7.5 关于线程死锁

7.6 回顾、思考与练习

7.6.1 回顾

7.6.2 思考与练习

第8章 应用上架指南

8.1 应用程序推送

8.1.1 UserNotification框架概览

8.1.2 推送普通的本地通知

8.1.3 通知触发器

8.1.4 为通知内容添加附件

8.1.5 自定义通知模板

8.1.6 远程推送

8.2 应用程序上架流程

8.2.1 关于应用程序测试

8.2.2 提交应用程序到AppStore

8.2.3 应用审核拒绝后的处理方案

8.3 回顾、思考与练习

8.3.1 回顾

8.3.2 思考与练习

iOS面试一战到底是2020年由清华大学出版社出版,作者张益珲。

得书感谢您对《iOS面试一战到底》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
iOS 9开发指南 电子书
全书共39章,循序渐进地讲解了iOS9应用开发的基本知识。本书从搭建开发环境讲起,依次讲解了Objective-C语言基础,Swift语言基础,CocoaTouch,XcodeInterfaceBuilder界面开发,使用Xcode编写MVC程序,文本框和文本视图,按钮和标签,滑块、步进和图像,开关控件和分段控件,Web视图控件、可滚动视图控件和翻页控件,提醒和操作表,工具栏、日期选择器,表视图,
iOS应用逆向与安全之道 电子书
适读人群 :iOS爱好者。 逆向工程师。 iOS软件开发工程师。 App通信协议工程师。 App安全审计工程师。 IoT客户端安全工程师。 高校计算机相关专业的师生 飘云阁安全论坛创始人倾情编写,iOS逆向开发工程师的必看学习宝典
iOS9开发快速入门 电子书
本书全面、系统地介绍了iOS9开发技术。本书提供了大量实例,供读者实战演练。本书内容讲解详细,示例丰富,书中每一个知识点都配备了对应的实例和运行结果图,可以使读者在学习时轻松上手。本书共分3篇。第1篇介绍iOS9的新功能、iOS9的开发工具Xcode7.0、第一个iOS9应用程序的开发以及Swift语言基础;第2篇介绍自定义视图和视图控制器、文字显示视图、图形图像、网页操作、表视图、导航控制器以及
iOS开发项目化经典教程 电子书
本书系统全面地讲解了iOS开发的中、知识,主要内容包括多线程编程、网络编程、iPad开发、多媒体硬件、AddressBook、使用Mapkit开发地图服务、推送机制、内购、广告、指纹识别、屏幕适配及国际化等。本书采用项目驱动的方式来讲授理论。全书共有60余个经典的真实项目,这些项目可以帮助读者更好地理解各个知识点在实际开发中的应用,也可以供读者开发时作为参考。本书附有配套视频、源代码、习题、教学课
iOS开发项目化入门教程 电子书
本书讲解了iOS开发中的基础理论及其界面编程技术,包括iOS平台、iOS设备、iOS8新特性、常用控件的开发、表视图、多视图控制器、五种数据存储方式、常用设计模式、手势识别及动画等。