2018 iOS知识点复习与总结

又临近过年,不管是准备即将找工作,还是这一年的工作总结。我认为都有必要把之前摘录收藏的知识点进行逐条复习、记忆与拓展。

Objective-C Basics
  1. 请说明并比较以下关键词:strong,weak,assign,copy
  2. 请说明并比较以下关键词:__weak,__block
  3. 请说明并比较以下关键词:atomatic, nonatomic
  4. 什么是ARC?
  5. 什么情况下会出现循环引用?
  6. 下面代码中有什么bug?
* - (void)viewDidLoad {
*   UILabel *alertLabel = [[UILabel alloc] initWithFrame:CGRectMake(100,100,100,100)];
*   alertLabel.text = @"Wait 4 seconds...";
*   [self.view addSubview:alertLabel];
* 
*   NSOperationQueue *backgroundQueue = [[NSOperationQueue alloc] init];
*   [backgroundQueue addOperationWithBlock:^{
*     [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:4]];
*     alertLabel.text = @"Ready to go!”
*   }];
* }
  1. 以scheduledTimerWithTimeInterval的方式触发的timer,在滑动页面上的列表时,timer会暂停,为什么?该如何解决?
Swift Basics
  1. 类(class)和结构体(struct)有什么区别?
  2. Swift 是面向对象还是函数式的编程语言?
  3. 请说明并比较以下关键词:Open, Public, Internal, File-private, Private
  4. 请说明并比较以下关键词:strong, weak, unowned
  5. 用 Swift 实现或(||)操作
  6. 实现一个函数。求一个整型二维数组中所有元素之和
Swift vs. Objective-C
  1. 说说Swift为什么将String,Array,Dictionary设计成值类型?
  2. 在Swift和Objective-C的混编项目中,如何在Swift文件中调用Objective-C文件中已经定义的方法?如何在Objective-C文件中调用Swift文件中定义的方法?
  3. 用Swift 将协议(protocol)中的部分方法设计成可选(optional),该怎样实现?
  4. 要给一个UIButton增加一个点击后抖动的效果,该怎样实现?
  5. 试比较Swift和Objective-C中的初始化方法(init)有什么异同?
  6. 谈谈对Objective-C和Swift 动态特性的理解

原文

工程师必看的 20 道 iOS 面试题

你可能感兴趣的:(2018 iOS知识点复习与总结)