iOS 面试技术点

iOS 面试技术点

iOS 面试技术点

问题 期望
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模式介绍及其优缺点
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×