iOS-100道面试题

100道面试题 (希望老师整理一下,在我们毕业前能讲一讲)
1.__weak什么时候用?
2.是否使用过coreImage和coreText?如果使用过,说说你的体验
3.数据结构、写一个顺序排列
4.什么是TCP、DUP等协议?他们分别属于第几层?
5.写一个单项链表逆序
6.在iPhone中怎么写入C++程序,详细写下来
7.写一个快速排序
8.autorelease的对象是在什么时候被release的?
9.什么是Notification?
10.这段代码有什么问题,如何修改
(以下代码有没有内存问题?有没有内存泄露问题?)

 for( int i = 0; i < someLargeNumber; i++)
{
NSString  *string = @“Abc”;
string = [ string lowercaseString];
string = [ string stringByAppendingString:@“xyz”];
NSLog(@“%@“, string);
}

11.什么是OpenGL?具体使用
12.开发过程中应用程序内存泄露了该怎么办
13.ios开发中有什么方式支持多继承?(obj-c有多重继承么?不是的话有什么替代方法?)

  1. 从1-n个五序列的数字中排序的算法有哪些,简单代码实现一个并写出时间复杂度
    15.开启一个其他线程来计算1+1 并且把结果用主线程显示在label上更新UI
    16.ios7中navigationBar的背景如何设置成透明的吗?需求是这样的:viewController的背景是蓝色的,然后让navigationbar的背景是透明的,就 这样navigationbar也变成蓝色的了
    17.ViewController的didReceiveMemoryWarning怎么被调用
    18.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
    19.写一个委托的 interface
    20.写一个NSString类的实现
    21.obj-c有私有方法么?私有变量呢
    22.关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有extern c的作用
    23.为什么标准头文件都有类似以下的结构?
   #ifndef __INCvxWorksh  
   #define __INCvxWorksh  
   #ifdef __cplusplus  
   extern "C" {  
   #endif  
   /*...*/  
   #ifdef __cplusplus  
   }  
   #endif  
   #endif /* __INCvxWorksh */ 

24.MVC模式的理解
25.列举几种进程的同步机制,并比较其优缺点。
26.什么是键-值,键路径是什么
27.c和obj-c如何混用
28.cocoa touch框架
29.自动释放池是什么,如何工作
30.objc优点和objc缺点?
31.sprintf,strcpy,memcpy使用上有什么要注意的地方
32..http和scoket通信的区别。
33.mvc设计模式是什么? 你还熟悉什么设计模式?
34.你了解svn,cvs等版本控制工具么?
35.什么是push。
36.静态链接库
37.fmmpeg框架
38.fmdb框架
39.320框架
40.什么是沙箱模型?哪些操作是属于私有api范畴?
41.你在开发项目中时,用到了哪些数据存储方式,iphone中常见的方式有哪些,各有什么区别?
42.线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?
43..init和initwithobject区别(语法)?
44.你连接服务器用的是什么方法,如果请求过程中,网络出了问题这么办?
45.你使用过json解析方式么,他们的底层是如何处理的你了解么?
46.xml解析的原理是什么,你还用过其他解析方式么?
47.协议是什么,有什么作用.?
48.类别有什么作用?
49.分线程回调主线程方法是什么,有什么作用?
50.iphone阅读器,如果要读取一个文本文件,请问你是如何处理编码问题的?另外像pdf格式的文件,你如何读取。?
51.你在开发大型项目的时候,如何进行内存泄露检测的?
52.你做iphone开发时候,有哪些传值方式,view和view之间是如何传值的?
53.让一个物体从界面中的一点运动到另外一点,有哪些方法?
54.你了解哪些加密方式?
55.地图定位
56.http网络通信
57.图片浏览
58.对像序列化
59.线程 ?
a. 线程的创建和使用规则?
b. 主分线程
c.线程锁
60.各种 排序算法?
61.通信底层原理
62.为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?

  1. 以下每行代码执行后,person对象的retain count分别是多少?
      Person *person = [[Person alloc] init]; count 1
      [person retain]; 
      [person release];
      [person release];

64.在一个对象的方法里面:self.name = “object”;和name =”object”有什么不同吗?
65.以下代码的输出结果是?为什么?

.main()
 {
   int a[5]={1,2,3,4,5};
   int *ptr=(int *)(&a+1); 
   printf("%d,%d",*(a+1),*(ptr-1));
}

65.什么是目标-动作机制
66.请列举你熟悉cocoatouch框架(至少三个)
67.请写出obj-c的内存管理代码
68.什么是OOP?
69.类变量的@protected, @private,@public, @package声明各有什么含义
70.写一个单例
71.什么是序列化或者Archiving?可以用来作什么?怎么跟copy结合?
72.类工厂方法是什么?
73.什么动态绑定?
74.KVO是同步还是异步?notification是同步还是异步?
75.ios对象的生命周期?

  1. NSObject 中description属性的意义,它可以重写吗?
  2. 写一个Objective C实现单例模式的简单例子(注意多线程访问的问题),简述@synchronized(self){}的作用
  3. 为NSString扩展一个方法,方法能判断字符串是否是Url地址(即判断字符串是否以“http://”),放回BOOL值类型
  4. Object C中多线程有几种实现方式?简单写出其中一种实现方式。
  5. Objective-C内存管理机制是怎样的,简述release和autorelease的用法区别
  6. 写一个Objective C中定义及使用委托的例子
  7. 定义一个Block并写一个应用例子,如果对变量加上_block的表示,有什么意义。
    83.Objective C中UIView属性的frame和bounds的区别
    84.Xcode5.0中的新特性有哪些
    85.写一个简单的Objective C中的类的继承示例
    86.这段代码的意义,有没有问题
-(void) setName : (NSString*)name{
[myname release];
[name retain];
myname = name;
}

87.上机题

  1. 写一个iphone程序,有2屏,可以通过滑动切换,第二屏有一个webview,读取本地的html文件,Html文件中会加载一个本地xml文件,获取xml文件中的数据内容并显示。(可选:html中加载的js文件)
    88.协议?
    89.TCP、HTTP、UDP
    90.什么是协议?分几层?
    91.UIView从出现到销毁的过程
    92.认证
    93.drawRect方法什么时候调用
    94.js和webview如何交互、
    95.框架phonegap
    96.地图中怎么计算两点间的曲线距离
    97.定位不准如何优化
    98.TCP和DUP的区别
    这两包的字节内容有啥不同
    答 :TCP多了一些纠错码包装,DUP纠错和校验码
    99.简单的顺序列表
    100.如何避免json解析出现内存泄露,内存泄露后怎么解决

你可能感兴趣的:(iOS-100道面试题)