一些iOS面试题

最近不安于现状,想换个高大上的岗位,于是投了一些简历,获得了一些面试机会。

整理一下面试中的一些问题,只是为了提醒自己,还有很多东西要学,学原理,而不仅是学应用。

当然也并不希望这些面试题,成为别人找工作的“小抄”。况且只是网上找找面试题,就指望获得一份好工作,也是不现实的。

  1. OC有哪些多线程方法(都会问,但不止于此,会继续深入提问,在这里不一一列出了。)
  2. 在UITablView的cell中,如果用NSTimer去更新视图的显示,在滚动过程中,更新能够生效吗,为什么。(我简单回答了不能,也说了Runloop相关的问题,但其实还是应该说的更全面一点,包括NSTimer用什么RunloopMode)
  3. 如何使用performSelector传递3个或以上个参数,用结构体吗。(到现在我也不懂这个梗在哪,也在网上搜了一下,都是自己实现performSelector方法,或是用NSArray之类的集合打包参数。这是这道题的本意吗?求能人给我解答)
  4. Delegate和Block的区别。(其实在我看来,Delegate是一种设计模式,Block是一种类似函数指针的实现。所以我就从回调方式和资源使用的角度回答了这个问题,不知道是否在点子上)
  5. 有1,2,3,4四个任务,全部执行完成后,执行任务5,怎么实现。(可以用GCD的group)
  6. 接上面的问题,如果1,2,3,4的任务的结果是异步的,如何保证执行顺序,比如异步网络请求。(这题我不知道gcd有没有什么方式能够直接支持,期待解答)
  7. block在需要修改外部的变量时,需要使用__block,那么__block的作用是什么,使用了__block有什么影响。如果修改的是基本数据类型,比如int,__block做了什么处理,如果是对象呢。(对基本类型用__block修饰,我没有回答得出来,后来学习了一下,但也未能理解透彻,还需要继续深入)
  8. 如何优化UITableView,使其更流畅。(cell复用就不用多说了,应该还有很多优化方法,比如:优化height计算方法,在数据组装时就计算并保存height;如果每个cell的布局都可能变化,则在数据组装时就计算出各个子视图的frame;优化图片加载时机;尽量使UIView的opaque为YES;等等其他一些方法)
  9. 如何做启动时间优化
  10. 性能优化有哪些点需要考虑
  11. 如何减少安装大小
  12. 如何定位异常Crash问题(现网Crash问题)。(Crash日志的分析?如何分析,请高人们指条路)
  13. UIView和CALayer的区别和联系(UIView接受事件响应;CALayer不接受事件,主要负责显示;UIView时CALayer的代理)。
  14. 线程间通信有哪些方式

未完待续

以上很多问题,我并没有能很好很完整的解答,惭愧。

时间: 2025-01-17 20:09:55

一些iOS面试题的相关文章

最全的iOS面试题及答案-转载

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现多个接口可以完成C++的多重继承:Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?

iOS面试题之加载单张图片到底会不会崩溃?

今天,一哥们去某公司面试iOS职位.其中一道题目问,加载一张图片,到底会不会崩溃呢? 我拿到这个问题,当时以为是获取网络图片,那还是可能崩溃的,但实际问题,还有半句,图片是本地的... 这问题,加载本地的怎么会崩溃呢?写这么久加载图片也没遇到如此问题. =================================================== 原来,iPhone毕竟是手持设备,它所占有的内存是有限的,当图片过大的时候会引起内存导致的崩溃现象. 后来,我又查了下,发现,原来还有这么大学

iOS面试题 第一天

今天上午,下午分别面试了两家公司.上午是一家互联网公司,气氛还比较好,是我比较喜欢的.技术这块是直接机试,主要是给了些BUG让我修复,整个过程还算顺利.下午去了一家大型的证券公司.整理技术问题如下: 1. UIView的生命周期是什么样的,执行顺序是怎么样的?init -- loadView -- viewDidLoad -- viewWillAppear -- viewWillDisappear -- viewDidUnload -- dealloc. 2. UIViewController在

iOS 面试题 总结

#include <iostream> using namespace std; int main () { char p[]={'a','b','c'}, q[]="abc"; printf("%d %d\n",sizeof(p),sizeof(q)); //getch(); } //结果 3,4 sizeof有什么作用呢? sizeof是C语言的关键字不并不是函数,这个很容易被忽略 sizeof(a)表示a在内存中所占的字节数 以下是windows

iOS 面试题:OC基本概念题

1.什么是类和对象? 类是一组具有同样特征和功能的事物的抽象 对象描写叙述了一个物体的特征和行为实现 类是对象的抽象 对象是类的实例 2.OC中定义类,创建对象,使用对象. OC中定义类分为接口部分,实现部分 接口部分:对外声明类的特征和行为 实现部分:实现方法,即类的行为实现 创建对象须要进行分配内存空间和初始 3.声明方法,依据需求.区分:方法声明,方法实现,方法运行 4.继承.继承的全部特点 子类能够继承父类全部的声明的方法和除私有的以外实例变量 父类不能使用子类所创建的方法和实例变量 5

一些iOS面试题及简要回答

1. #import 跟#include.@class有什么区别?#import<> 跟 #import""又什么区别? 1> #import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次 2> @class仅仅是声明一个类名,并不会包含类的完整声明;@class还能解决循环包含的问题 3> #import <> 用来包含系统自带的文件,#import ""用来包含自定义的文件 2.

原 iOS面试题收集

原 iOS面试题收集 发表于2年前(2013-07-22 13:47)   阅读(369) | 评论(0) 4人收藏此文章, 我要收藏 赞0 听云性能监测产品App.Server.CDN免费试用,绑定账号送京东卡 iOS 面试题 Objective-C 1.ARC 是什么? ARC 是 iOS 5 推出的新功能,全称叫 ARC(Automatic Reference Counting).简单 地说,就是代码中自动加入了 retain/release,原先需要手动添加的用来处理内存管 理的引用计数

[转载]iOS面试题总

转载自:http://blog.sina.com.cn/s/blog_67eb608b0101r6xb.html (2014-06-13 20:23:33) 转载▼ 标签: 转载   crash 原文地址:iOS面试题总作者:唯一的弟子 1.简述OC中内存管理机制.与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonato

iOS面试题系列之Objective-C相关

1.简述你项目中常用的设计模式.它们有什么优缺点? 常用的设计模式有:代理.观察者.单例. (1)单例:它是用来限制一个类只能创建一个对象.这个对象中的属性可以存储全局共享的数据.所有的类都能访问.设置此单例中的属性数据. 优点:是它只会创建一个对象容易供外界访问,节约性能. 缺点:是一个类只有一个对象,可能造成责任过重,在一定程度上违背了"单一职责原则".单例模式中没有抽象层,所以单例类的扩展有很大的困难.不能过多创建单例,因为单例从创建到程序关闭前会一直存在,过多的单例会影响性能,

超全!iOS 面试题汇总

超全!iOS 面试题汇总 2015-10-20 CocoaChina 作者:Job_Yang 之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好