面试题《三》

100道面试题

1.__weak什么时候用? 2.是否使用过coreImage和coreText?如果使用过,说说你的体验 3.数据结构、写一个顺序排列 4.什么是TCP、DUP等协议?他们分别属于第几层? 5.写一个单项链表逆序 6.在iPhone中怎么写入C++程序,详细写下来 7.写一个快速排序

8.autorelease的对象是在什么时候被release的? 11.什么是OpenGL?具体使用 12.开发过程中应用程序内存泄露了该怎么办 13.ios开发中有什么方式支持多继承?(obj-c有多重继承么?不是的话有什么替代方法?) 14.从1-n个五序列的数字中排序的算法有哪些,简单代码实现一个并写出时间复杂度 15.开启一个其他线程来计算1+1 并且把结果用主线程显示在label上更新UI 16.ios7中navigationBar的背景如何设置成透明的吗?需求是这样的:viewController的背景是蓝色的,然后让navigationbar的背景是透明的,就 这样navigationbar也变成蓝色的了 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 */ 
   
复制代码

25.列举几种进程的同步机制,并比较其优缺点。

26.什么是键-值,键路径是什么

27.c和obj-c如何混用

28.cocoa touch框架

29.自动释放池是什么,如何工作

30.objc优点和objc缺点?

31.sprintf,strcpy,memcpy使用上有什么要注意的地方

32..http和scoket通信的区别。

35.什么是push。

36.静态链接库

37.fmmpeg框架

38.fmdb框架

39.320框架

40.什么是沙箱模型?哪些操作是属于私有api范畴?

41.你在开发项目中时,用到了哪些数据存储方式,iphone中常见的方式有哪些,各有什么区别?

43..init和initwithobject区别(语法)?

44.你连接服务器用的是什么方法,如果请求过程中,网络出了问题这么办?

47.协议是什么,有什么作用.?

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的? 63. 以下每行代码执行后,person对象的retain count分别是多少?

 Person *person = [[Person alloc] init]; count 1
 [person retain]; 
 [person release];
 [person release];
复制代码

64.在一个对象的方法里面:self.name = “object”;和name =”object”有什么不同吗?
67.请写出obj-c的内存管理代码 68.什么是OOP? 69.类变量的@protected, @private,@public, @package声明各有什么含义 71.什么是序列化或者Archiving?可以用来作什么?怎么跟copy结合? 74.KVO是同步还是异步?notification是同步还是异步? 75.ios对象的生命周期? 78.为NSString扩展一个方法,方法能判断字符串是否是Url地址(即判断字符串是否以“http://”),放回BOOL值类型

85.写一个简单的Objective C中的类的继承示例 86.这段代码的意义,有没有问题

-(void) setName : (NSString*)name{
[myname release];
[name retain];
myname = name;
}
复制代码

87.上机题 写一个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性能优化技巧

通过静态 Analyze 工具,以及运行时 Profile 工具分析性能瓶颈,并进行性能优化。结合本人在开发中遇到的问题,可以从以下几个方面进行性能优化。

  • view优化

  • 透明,懒加载,不要使用layoutsubViews,尽量使用drawRect,不要直接调用,使用替代setneedsdisplayinrect,layoutifneeded,

  • UITableView优化

  • 重用cell,透明。复杂的cell使用drawrect, 不要使用cellforrowatinddexpatn,cache尽可能高的东西,包括行高。

  • 缓存优化

  • 缓存,尽量缓存使用率高。但改变比较少的,服务器的相应,图片,计算结果

  • 线程优化

  • 线程,耗时操作放到子线程中。同步使用串行队列,代替同步锁

  • 内存优化

  • 内存优化,使用autoreleasepoll 实现减少 内存峰值。

  • 代码细节优化

  • 图片优化

  • 对图片数据进行decode。在子线程中设置image的大小后,在imageview中使用缩放后的image。原因:由于UIImage的 imageWithData函数是每次画图的时候才将Data解压成ARGB的图像,所以在每次画图的时候,会有一个解压操作,UIImage初始化后仅 仅是把图片加载到内存中,而实际的解码和重采样是在图片需要显示时才进行。

    //图片重采样,在子线程中进行
    CGSize itemSize = CGSizeMake(width, height);//实际要缩放的大小
    UIGraphicsBeginImageContext(itemSize);
    CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
    [image drawInRect:imageRect];
    UIImage newImage = UIGraphicsGetImageFromCurrentImageContext(); //重采样后的图片
    UIGraphicsEndImageContext();
    复制代码

7、代码的优化,viewappear中不进行耗时操作,关键代码使用c效率更高。

转载于:https://juejin.im/post/5b8f786de51d450e3e16523e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值