IOS面试题详解(一)

转载 2012年03月29日 11:03:51

这套题目来自cocoachina的yoyokko版主大大招人时候的题目,论坛各路大神都觉得偏难。自己看了一下,发现很多是自己知道,但又说不上来的感觉。所以觉得有必要梳理完善一下,题很多,反正写到哪算哪吧!另外,因为我不是C/C++ 或写 mac “发家” 所以还是有解答不上来的,但是关于IOS方面,一定尽量解答,如果回答得有不尽入人意的地方,欢迎高手纠正。 下面先看看题目:

1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?

2.#import 跟#include 又什么区别 #import<> 跟 #import""又什么区别?

3.类变量的@protected ,@private,@public,@package声明各有什么含义?

4.id 声明的对象有什么特性?

5.MVC是什么?有什么特性?为什么在iPhone上被广泛运用?

6.对于语句NSString* testObject = [[NSData alloc] init];testObject 在编译时和运行时分别时什么类型的对象?

7.什么是安全释放?

8.为什么有些4.0独有的objective-c 函数在3.1上运行时会报错.而4.0独有的类在3.1上分配内存时不会报错?分配的结果是什么?

9.为什么4.0独有的c函数在3.1的机器上运行不会报错(在没有调用的情况下?)而4.0独有的类名在3.1的机器上一运行就报错?

10.异常exception 怎么捕获?不同的CPU结构上开销怎样?C中又什么类似的方法?

11.property中属性retain,copy,assgin的含义分别是什么?有什么区别?将其转换成get/set方法怎么做?有什么注意事项?

12.委托是什么?委托的property声明用什么属性?为什么?

13.浅拷贝和深拷贝区别是什么?...

14.Cocoa中与虚基类的概念么?怎么简洁的实现?

15.自动释放池跟GC有什么区别?iPhone上有GC么?[pool release] 和[pool drain]有什么区别?

16.

for(int index = 0; index < 20; index ++){
    NSString *tempStr = @”tempStr”;
    NSLog(tempStr);
    NSNumber *tempNumber = [NSNumber numberWithInt:2];
    NSLog(tempNumber);
}

这段代码有什么问题.?会不会造成内存泄露(多线程)?在内存紧张的设备上做大循环时自动释放池是写在循环内好还是循环外好?为什么?

17.内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和property结合的时候怎样有效的避免内存泄露?

18.在一个对象释放前.如果他被加到了notificationCenter 中.不在notificationcenter中remove这个对象可能会出现什么问题?

19.怎样实现一个 singleton的类.给出思路。

20.什么是序列化或者Acrchiving,可以用来做什么,怎样与copy结合,原理是什么?.

21.线程是什么? 有哪些注意事项.?

22.在iphone上有两件事情要做,请问是在一个线程里按顺序做效率高还是两个线程里做效率高?为什么?

23.runloop是什么?在主线程中的某个函数里调用了异步函数,怎么样block当前线程,且还能响应当前线程的timer事件,touch事件等.

24.ios平台怎么做数据的持久化?coredata和sqlite有无必然联系?coredata是一个关系型数据库吗?

25.阐述一个nil对象从interface bulider产生,到载入程序运行空间,最后被释放时所经历的生命周期.

26.notification是同步还是异步? kvo是同步还是异步?notification是全进程空间的通知吗?kvo呢?

27.kvc是什么?kvo是什么?有什么特性?

28.响应者链是什么?

29.unix上进程怎么通信?

30.timer的间隔周期准吗?为什么?怎样实现一个精准的timer?

31.UIscrollVew用到了什么设计模式?还能再foundation库中找到类似的吗?

32如果要开发一个类似eclipse的软件,支持插件结构。且开放给第三方开发。你会怎样去设计它?(大概思路)

 

这篇文章先记录一下题目,下一篇开始从第一题解答.


iOS基础面试题之RunLoop篇

RunLoop是什么,有什么作用,如何获取? 定义 RunLoop的实质是一个死循环,用于保证程序的持续运行,只有当程序退出的时候才会结束(由main函数开启主线程的RunLoop) 作...
  • qq_30513483
  • qq_30513483
  • 2016年11月28日 09:33
  • 1640

iOS开发——响应链(Responder Chain)的深入理解和代码示例

我在之前一篇博客《iOS响应者链Responder Chain浅析》中对iOS开发中遇到的响应者链概念有了基本的了解。但是仅仅停留在理解概念的基础上还是远远不够的。该博客我们会通过代码案例来深入理解响...
  • super_man_ww
  • super_man_ww
  • 2016年05月18日 09:13
  • 1187

iOS进阶面试题----Block部分

1 什么是block 对于闭包(block),有很多定义,其中闭包就是能够读取其它函数内部变量的函数,这个定义即接近本质又较好理解。对于刚接触Block的同学,会觉得有些绕,因为我们习惯写这样的程序m...
  • xunyn
  • xunyn
  • 2013年09月17日 11:00
  • 67809

《招一个靠谱的移动开发》iOS面试题及详解(上篇)

多线程、特别是NSOperation 和 GCD 的内部原理。 运行时机制的原理和运用场景。 SDWebImage的原理。实现机制。如何解决TableView卡的问题。 block和代理的,通知...
  • Kryptons
  • Kryptons
  • 2016年05月20日 13:09
  • 4282

IOS面试题详解(二)

下面从第一题开始解答: 题目:1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 关于多继承: 首先 objec...
  • longzs
  • longzs
  • 2012年03月29日 11:16
  • 6120

IOS面试题详解(二)..

下面从第一题开始解答: 题目:1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 关于多继承: 首先 objec...
  • tianyaxingge
  • tianyaxingge
  • 2012年08月28日 12:25
  • 1129

IOS面试题详解

这段时间参加个几个面试,发现现在大多数的面试都有笔试环节了,给出个十几道题,然后让你来解答,下面我整理了一下一些笔试中常见的题,并且附上答案,(答案都是我在网上整理的,内容可能有欠缺,欢迎高手指正)....
  • jiang417500972
  • jiang417500972
  • 2013年01月25日 22:26
  • 863

《招一个靠谱的移动开发》iOS面试题及详解(下篇)

iOS面试知识点 现在进入本篇的正题。本篇的面试题是我认为比较好的iOS开发基础知识点,希望大家看过这后在理解的基础上掌握而不是死记硬背。死记硬背很快也会忘记的。 1 iOS基础 1.1 父类实...
  • Kryptons
  • Kryptons
  • 2016年05月20日 13:55
  • 1675

iOS面试题汇总

  • 2015年04月28日 21:56
  • 5KB
  • 下载

ios面试题题库

  • 2014年04月16日 16:25
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS面试题详解(一)
举报原因:
原因补充:

(最多只允许输入30个字)