IOS面试题(精华篇)

1.        Object-C有多继承吗?没有的话用什么代替??

1>  OC是单继承,没有多继承

2>  有时可以用分类和协议来代替多继承

2.        Object-C有私有方法吗?私有变量呢??

1>  OC没有类似@private的修饰词来修饰方法,只要写在.h文件中,就是公共方法

2>  可以直接在.m文件中(比如类扩展)声明和实现方法,对编译器来说是私有的

3.        关键字const什么含义?

const int a;

int const a;

const int *a;

int const *a;

int * const a;

int const * const a;

1> 前两个的作用是一样:a 是一个常整型数

2> 第三、四个意味着 a 是一个指向常整型数的指针(整型数是不可修改的,但指针可以)

3> 第五个的意思:a 是一个指向整型数的常指针(指针指向的整型数是可以修改的,但指针是不可修改的)

4> 最后一个意味着:a 是一个指向常整型数的常指针(指针指向的整型数是不可修改的,同时指针也是不可修改的)

4.        static的作用?

1>  static修饰的函数是一个内部函数,只能在本文件中调用,其他文件不能调用

2>  static修饰的全部变量是一个内部变量,只能在本文件中使用,其他文件不能使用

3>  static修饰的局部变量只会初始化一次,并且在程序退出时才会回收内存

5.        线程和进程的区别?

1>   一个应用程序对应一个进程,一个进程帮助程序占据一块存储空间

2>   要想在进程中执行任务,就必须开启线程,一条线程就代表一个任务

3>   一个进程中允许开启多条线程,也就是同时执行多个任务

6.        堆和栈的区别??

1>   堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存

2>   栈空间的内存由系统自动分配,一般存放局部变量等,不需要手动管理内存

7.        为什么很多内置的类,如TableView的delegate的属性是assign不是retain??

1>  tableView的代理一般都是它所属的控制器,控制器会对它内部的view做一次retain操作

2>  假设tableView也对代理(控制器)做一次retain操作,那么就出现循环retain问题

8.        定义属性时,什么情况使用copy、assign、retain??

1>  copy:NSString、Block等类型

2>  assign:基本数据类型

3>  retain:OC对象类型

9.        对象是什么时候被释放的??

每个对象都有一个引用计数器,每个新对象的计数器是1,当对象的计数器减为0时,就会被销毁

10.     tableView的重用机制??

这里只是简述:将离开屏幕的cell放到缓存池,重新拿来显示到屏幕的其他位置(其他自己详细描述)

11.     ViewController 的loadView、viewDidLoad、viewDidUnload分别是什么时候调用的,在自定义ViewCointroller时在这几个函数中应该做什么工作?

1>  loadView

  • 当第一次使用控制器的view时,会调用loadView方法创建view
  • 一般在这里自定义view

2>  viewDidLoad

  • 当控制器的view创建完毕时会调用,也就是在loadView后调用
  • 一般在这里添加子控件、初始化数据

3>  viewDidUnload

  • 当控制器的view因为内存警告被销毁时调用
  • 一般在这里回收跟界面相关的资源(界面都会销毁了,跟界面相关的资源肯定不要了)

12.     ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是什么??

  • 当应用程序接收到系统的内容警告时,就有可能调用控制器的didReceiveMemoryWarning方法
  • 它的默认做法是:

l   当控制器的view不在窗口上显示时,就会直接销毁,并且调用viewDidUnload方法

13.     怎么理解MVC,在Cocoa中MVC是怎么实现的??

1>  M:Model,模型,封装数据

2>  V:View,视图界面,负责展示数据

3>  C:Controller,控制器,负责提供数据(Model)给界面(View)

14.     self.跟self->什么区别??

1>  self.是调用get方法或者set方法

2>  self是当前本身,是一个指向当前对象的指针

3>  self->是直接访问成员变量

15.     id、nil代表什么?

1>  id类型的指针可以指向任何OC对象

2>  nil代表空值(空指针的值)

16.     如何对iOS设备进行性能测试?

Timer Profile

时间: 2024-12-11 00:08:10

IOS面试题(精华篇)的相关文章

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

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

原 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 面试题总结

史上最全的iOS面试题及答案 1.strong,weak,retain,assign,copy nomatic 等的区别. 解答:iOS开发——OC篇&常用关键字的使用与区别 iOS有用的面试题大集合 https://github.com/icepy/iOS-usefulinformation-zh_CN/tree/master/iOS-usefulInterviewquestions-zh_CN <招聘一个靠谱的 iOS> 问题解答 https://github.com/ChenYi

IOS面试题&lt;转&gt;

前言 写这篇文章的目的是因为前两天同学想应聘iOS开发,从网上找了iOS面试题和答案让我帮忙看看.我扫了一眼,倒吸了一口冷气,仔细一看,气的发抖.整篇题目30多个没有一个答案是对的,总结这篇面试题的作者对iOS机制根本就是一知半解就敢发到网上,不管有心还是无心都是坑害新人.所以在这里总结一下这几年面试别人和被别人面试遇到的一些我认为比较好的基础题目分享给大家,进阶题目在后续补充.我的理解如果有错漏请一定指出,非常感谢! 从12年开始做面试官到现在已经三个年头了,这期面过很多形形色色的开发,有腾讯

iOS 笔试题-1

ios笔试题 有一篇面试题总结文章:http://www.onmoso.com/ios/356.html 原文地址:http://www.cnblogs.com/jiangshiyong/archive/2012/08/27/2657862.html 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控件,使用类别扩展系统控件功能; 擅长通讯技术,熟悉各种通信协议,精通xml, json, 二进制或其他形式的自定义解析,能架设服务器实现客户端与服务

国内搜索大哥iOS面试题

每一次面试之后都会对问到的面试题进行总结. 这篇总结的是我面试某大型搜索公司的iOS面试题.一面(15min)+二面(30min).并拿到实习offer.当然在今天这个特殊的节日,祝大家新年快乐.希望大家都能拿到合适的offer. 一面电面:15min: 1.算法:数组中(无序的正整数数)怎样找到第n大的数: 2.算法:数组中1-100的无序数字怎样找到第n大的数:(遍历计数) 3.讲一讲OC中的执行时,动态性: 4.OC中是怎样找到一个方法的,通过函数名key的方式找到的,每个函数名肯定是不一

iOS面试题及答案2015.6.7

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

iOS面试题,希望给面试的同学一点帮助。

iOS基础面试题 1.用objective-c写一个插入法排序 2.写一个NSString类的实现 + (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding{ NSString *

利弗莫尔的操盘精华篇

[转载]利弗莫尔的操盘精华篇 (2017-02-01 17:27:47) 转载▼ 标签: 转载 分类: 经济 原文地址:利弗莫尔的操盘精华篇作者:   1.先看大盘,大盘不好,不要买入任何股票,只在大盘趋势向上时才操作. 2.先做最强势板块,跟踪观察. 3.在强势板块中选龙头股. 4.做好资金管控,先用小资金试仓,涨时加仓.          一位统帅打伏,他总是要先侦察,并出动小部队试探虚实,确定值不值得打,赢的机率大不大,只有赢面大的时候才会把后续部队压上,精明的统帅总是时常储备有后备军的和