我是靠谱客的博主 忐忑黄蜂,最近开发中收集的这篇文章主要介绍iOS面试题5(答案),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、 写一个递归方法:计算N的阶乘,然后将计算结果进行存储。以便应用退出后下次启动课直接获取该值。
double fun(int n)

{

if(n==0||n==1)

return 1;

else

return n*fun(n-1);

}

2、 NSArray和NSMutableArray的区别,多线程操作哪个更安全?
NSArray不可变数组,NSMutableArray可变数组,NSArray更安全,多线程操作的时候记得加锁。

3、 isKindOfClass、isMemberOfClass作用分别是什么?
-(BOOL) isKindOfClass: classObj判断是否是这个类或者是这个类子类的实例
-(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例

4、 请写出以下代码的执行结果

NSString  * name = [ [ NSString alloc] init ];

name = @Habb;

[ name  release];
第一行:[ [ NSString alloc] init ]在堆区开辟一块内存,name指向堆区的这快内存,第二行:name指向常量区,这个时候堆区的内存没有释放也没有指针指向,会造成内存泄露

5、 iPhone上,不能被应用程序直接调用的系统程序是什么?
时钟、视频、指南针、天气、计算器、备忘录、提醒事件、股市
http://blog.sina.com.cn/s/blog_7dc11a2e01016qve.html

 http://blog.csdn.net/yhawaii/article/details/7587355

6、以.mm为拓展名的文件里,可以包含的代码有哪些?cobj-c如何混用
obj-c的编译器处理后缀为m的文件时,可以识别obj-cc的代码, 处理mm文件可以识别obj-c,c,c++代码,但cpp文件必须只能用c/c++代码,而且cpp文件include的头文件中,也不能出现obj- c的代码,因为cpp只是cpp

2) mm文件中混用cpp直接使用即可,所以obj-ccpp不是问题

3)在cpp中混用obj- c其实就是使用obj-c编写的模块是我们想要的。

如果模块以类实现,那么要按照cpp class的标准写类的定义,头文件中不能出现obj-c的东西,包括#import cocoa的。实现文件中,即类的实现代码中可以使用obj-c的东西,可以import,只是后缀是mm

如果模块以函数实现,那么头文件要按 c的格式声明函数,实现文件中,c++函数内部可以用obj-c,但后缀还是mmm

7、说说如何进行后台运行程序?
(1)检查设备是否支持多任务

(2)applicationDidEnterBackgroundapplicationWillEnterForegroundUIApplicationDidEnterBackgroundNotificationUIApplicationWillEnterForegroundNotification

(3)声明你需要的后台任务(在Info.plist中添加UIBackgroundModes键值:audiolocationvoip

8、sizeof和strlen的区别和联系
    sizeof是运算符,strlen是函数
     char str[20]="0123456789"; 
     int a=strlen(str); //a=10; >>>> strlen 计算字符串的长度,以结束符 0x00 为字符串结束。 
     int b=sizeof(str); //而b=20; >>>> sizeof 计算的则是分配的数组 str[20] 所占的内存空间的大小,不受里面存储的内容改变。

9、sprintf,strcpy,memcpy的功能?使用上要有哪些要注意的地方
char*strcpy(char *dest, const char *src);

其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出现段错误。

int sprintf(char*str, const char *format, ...)

函数操作的源对象不限于字符串:源对象可以是字符串、也可以是任意基本类型的数据。主要是实现将其他数据类型转换为字符串

void *memcpy(void*dest, const void *src, size_t n)

实现内存的拷贝,实现将一块内存拷贝到另一块内存。该函数对源对象与目的对象没有类型现在,只是对内存的拷贝

10、 用变量a写出以下定义

      a、一个整型数   int a;

      b、一个指向整型数的指针 int *a;

      c、一个指向指针的指针,它指向的指针是指向一个整型数  int **a;

      d、一个有10个整型数的数组  int a[10];

      e、一个有10个指针的数组,该指针是指向一个整型数的  int *a[10];

      f、一个指向有10个整型数数组的指针  int (*a)[10];

      g、一个指向函数的指针,该函数有一个整型参数,并返回一个整型数 int(*a)(int);




最后

以上就是忐忑黄蜂为你收集整理的iOS面试题5(答案)的全部内容,希望文章能够帮你解决iOS面试题5(答案)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部