NSDicationary 的本质 |
理解哈希表,知道其遍历不是顺序的 |
ARC下内存泄漏的原因,循环引用时如何发生以及如何避免 |
理解ARC的机制从而知道内存泄漏的产生,并知道循环引用是如何产生和避免 |
常见的导致程序崩溃的原因 |
知道崩溃的原因本质是僵尸内存或指向错误,能够在实际开发中避免 |
使用多线程的几种方式 |
知道NSThread、NSOperationQueue和GCD三种多线程实现方式并能简单介绍应用实例,尤其要熟悉GCD的使用 |
如何实现一个单例 |
能够大体说出单例的实现原理,实现方法多多益善,能讲出各个实现方法的优缺点最好 |
NSArray和NSSet的区别以及使用时机 |
能够理解顺序表和集合的概念 |
NSInteger和int的区别 |
能知道NSInteger的位长大于等于int,考察对基础数据类型的理解 |
NSDictionary的快速构建方法以及注意事项 |
能够知道NSDictionary的快速构建方法,尤其要知道不可传nil的指针 |
介绍一下Autolayout和Autoresizing |
考察对两种布局方法的理解,能够答题说出它们的原理 |
对象及ViewController的生命周期 |
对ViewController的生命周期有所了解 |
线程锁的几种使用方式 |
至少知道NSLock和synchronized,能够了解semaphore、递归锁、条件锁和分布锁可加分 |
block的使用以及注意事项 |
实际使用过block以及知道如何避免循环引用 |
strong、weak、retain、unsafe_unretain、assign、copy的区别以及使用场景 |
能够说出各个修饰符的作用 |
数据持久化的几种方式、应用场景和优缺点 |
至少知道NSUserDefault和Plist、文件三种保存方式,知道sqlite或CoreData可加分 |
如何进行一个http协议的网络请求 |
能够知道NSURLConnection或NSURLSession的使用方式 |
简介应用的生命周期 |
能够知道应用的生命周期,每个周期的回调是在什么时机 |
NSNotification的使用及注意事项 |
能够理解NSNotification的广播机制、传参以及避免key覆盖 |
NSUserDefault使用时应该注意什么 |
能够知道NSUserDefault本质是保存到plist文件,以及对象要实现NSCoder协议 |
OC Runtime介绍 |
对Objective-C的底层能够有自己的正确理解 |
OC Runloop介绍 |
对Objective-C的底层能够有自己的正确理解 |
Category的本质 |
对Objective-C的底层能够有自己的正确理解 |
函数式编程和ReactiveCocoa |
对Objective-C的底层能够有自己的正确理解 |
block的实现原理 |
对Objective-C的底层能够有自己的正确理解 |
对Cocoa中UITableView、UILabel等组件的实现原理有自己的理解 |
能够通过组件的表象看到本质,考察编程经验和推导能力 |
介绍UIView的组成 |
能够对UIView有深入理解 |
介绍CoreGraphics、CoreAnimation、CoreText的技术架构及简单使用 |
能够熟悉和理解iOS开发中常用的Core系列库,能熟练使用它们 |
介绍Xcode的Build Settings和Build Phases中常用的设置 |
能够基本知道iOS项目的编译过程 |
一个iOS项目的大体编译、链接以及运行过程 |
能够基本知道iOS项目的编译过程 |
介绍Cocoapods(或其它包管理工具)的实现思路 |
能够基本知道iOS项目的编译过程 |
如何使用Xcode进行调试和排错 |
知道如何调试和排错 |
介绍Instruments中常用的功能 |
能够使用工具进行性能分析和监控 |
MVVM模式介绍及其优缺点 |