100家公司近年面试题整理,打造最受企业

中科白癜风医院康复经历分享 http://m.39.net/baidianfeng/a_6745010.html

打造最受企业欢迎的iOS开发者:

一直都存在的问题,什么样的员工最受企业欢迎?

一直也有人在努力提升自己,成为受企业欢迎的员工

然而,我们应该往方向去提升自己呢?

家知名企业今年来iOS面试题合集:

你要的这里都有;

企业要的这里也有;

从基础开始到进阶、深入底层

整理出个大纲,干货太足

大纲展示:

1、swift和oc的区别

2、编译链接

3、synthesizedenamic

4、在项目开发中常用的开发工具有哪些?

5、UITableViewUICollection

6、NSProxyNSObject

7、ObjectSwift

8、传值通知推送通知(本地远程)

9、第三方库第三方平台

10、NSCacheNSDcitionary

11、UIView的setNeedsDisplay和setNeedsLayout方法

12、UILayerUIView

13、layoutSubViewsdrawRects

14、UDIDUUID

15、CPUGPU

16、点(pt)像素(px)

17、属性与成员变量

18、int和NSInteger的区别

(1)import和include

(2)

class

(3)全局静态变量

19、类和对象

(1)分类拓展协议中哪些可以声明属性?

(2)继承和类别的区别

(3)分类的作用

(4)分类的局限性

20、categoryextension

21、Foundation

(1)字符串

(2)字符串截取

(3)格式

22、NSArray和NSDictionary

(1)iOS遍历数组/字典的方法

(2)NSValueNSNumber

(3)其它

(4)如何避免循环引用

23、CFSocket使用有哪几个步骤

24、CoreFoundation中提供了哪几种操作Socket的方法?

25、解析XML文件有哪几种方式?

26、什么是沙盒模型?哪些操作是属于私有api范畴?

27、在一个对象的方法里面:self.name=“object”;和name=”object”有什么不同吗?

28、请简要说明viewDidLoad和viewDidUnload何时调用

29、创建控制器、视图的方式

30、简述内存分区情况

31、队列和栈有什么区别

32、iOS的系统架构

33、控件主要响应3种事件

34、xib文件的构成分为哪3个图标?都具有什么功能

35、简述视图控件器的生命周期

36、app项目的生命周期

(1)应用的生命周期

(2)简要说明一下APP的启动过程,main文件说起,main函数中有什么函数?作用是什么?

(3)UIApplicationMain函数作用

(4)main函数作用

37、动画有基本类型有哪几种;表视图有哪几种基本样式。

38、实现简单的表格显示需要设置UITableView的什么属性、实现什么协议?

39、CocoaTouch提供了哪几种CoreAnimation过渡类型?

40、UIView与CLayer有什么区别?

41、Quatrz2D的绘图功能的三个核心概念是什么并简述其作用

42、iPhoneOS主要提供了几种播放音频的方法?

43、使用AVAudioPlayer类调用哪个框架、使用步骤?

44、有哪几种手势通知方法、写清楚方法名?

45、ViewController的didReceiveMemoryWarning怎么被调用

46、什么时候用delegate,什么时候用Notification?

47、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

48、写一个”标准宏MIN,这个宏输入两个参数并返回较小的一个。

49、关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有externc的作用

50、关键字volatile有什么含意?并给出三个不同的例子

51、一个参数既可以是const还可以是volatile吗?一个指针可以是volatile吗?解释为什么。

52、static关键字的作用

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

54、进程之间通信的途径

55、进程死锁的原因

56、死锁的4个必要条件

57、死锁的处理

58、cocoatouch框架

59、自动释放池是什么,如何工作

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

61、你了解svn,cvs等版本控制工具么?

62、什么是push

63、静态链接库

64、OC三大特性

(1)封装_点语法

(2)继承

(3)多态

65、OC中如何实现多态

66、Objective-C的优缺点

67、对于OC,你认为最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以话,有没有考虑或者实现过重新实现OC的功能,如果有,具体怎么做?

68、oc中可修改和不可以修改类型

69、我们说的oc是动态运行时语言是什么意思?

70、通知和协议的不同之处?

71、什么是推送消息?

72、关于多态性

73、什么是谓词?

74、做过的项目是否涉及网络访问功能,使用什么对象完成网络功能?

75、简单介绍下NSURLConnection类及+sendSynchronousRequest:returningResponse:error:与–initWithRequest:delegate:两个方法的区别?

76、谈谈Object-C的内存管理方式及过程?

77、Object-C有私有方法吗?私有变量呢?

78、说说响应链

79、时间传递响应者链

80、frame和bounds有什么不同?

81、方法和选择器有何不同?

82、OC的垃圾回收机制?

83、什么是延迟加载?

84、是否在一个视图控制器中嵌入两个tableview控制器?

85、一个tableView是否可以关联两个不同的数据源?你会怎么处理?

86、什么时候使用NSMutableArray,什么时候使用NSArray?

87、给出委托方法的实例,并且说出UITableVIew的DataSource方法

88、在应用中可以创建多少autorelease对象,是否有限制?

89、如果我们不创建内存池,是否有内存池提供给我们?

90、什么时候需要在程序中创建内存池?

91、类NSObject的那些方法经常被使用?

92、什么是简便构造方法?

93、如何使用Xcode设计通用应用?

94、UIView的动画效果有那些?

95、Object-C有多继承吗?没有的话用什么代替?cocoa中所有的类都是NSObject的子类

96、内存管理Autorelease、retain、copy、assign的set方法和含义?

97、C和obj-c如何混用

98、类别的作用?继承和类别在实现中有何区别?

99、类别和类扩展的区别。

、oc中的协议和java中的接口概念有何不同?

、深拷贝与前拷贝区别

(1)什么是深拷贝浅拷贝

(2)字符串什么时候使用copy,strong

(3)字符串所在内存区域

(4)mutablecopy和copy

property(copy)NSMutableArray*arr;这样写有什么问题

(5)如何让自定义类可以使用copy修饰符

、对于语句NSString*obj=[[NSDataalloc]init];obj在编译时和运行时分别时什么类型的对象?

、#import跟#include又什么区别,

class呢,#import跟#import”又什么区别?

、Objective-C的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方法用继承好还是分类好?为什么?

、#import跟#include又什么区别,

class呢,#import跟#import””又什么区别?

、写一个setter方法用于完成

property(nonatomic,retain)NSString*name,写一个setter方法用于完成

property(nonatomic,copy)NSString*name

、常见的Objective-C的数据类型有那些,和C的基本数据类型有什么区别?如:NSInteger和int

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

、Objective-C如何对内存管理的,说说你的看法和解决方法?

、原子(atomic)跟非原子(non-atomic)属性有什么区别?

、看下面的程序,第一个NSLog会输出什么?这时str的retainCount是多少?第二个和第三个呢?为什么?

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

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

、设计模式

(1)mvc模式

(2)单例模式

(3)mvvm模式

(4)观察者模式

(5)工厂模式

(6)代理模式

(7)策略模式

(8)适配器模式

(9)模版模式

(10)外观模式

(11)创建模式

(12)MVP模式

、MVVM模式原理分析

、说说常用的几种传值方式

、什么时候用delegate,什么时候用Notification

、对于单例的理解

、从设计模式角度分析代理,通知和KVO区别?iosSDK提供的framework使用了哪些设计模式,为什么使用?有哪些好处和坏处?

、KVO,NSNotification,delegate及block区别

、运行时(runTime)

、runtime/消息转发机制

(1)runtime

1.1、什么是runtime

1.2、runtime干什么用,使用场景

(2)消息机制

2.1、消息转发的原理

2.2、SELisasupercmd是什么

(3)动态绑定

、使用bugly进行崩溃分析

、jenkens持续打包

、KVOKVC

(1)底层实现

(2)KVO概述

(3)KVC概述

、什么是KVO和KVC?

KVO和KVC

(1)如何调用私有变量,如何修改系统的只读属性,KVC的查找顺序

(2)什么是键-值,键路径是什么

(3)kvo的实现机制

(4)KVO计算属性,设置依赖键

(5)KVO集合属性

(6)kvo使用场景

、SDWebImage(SDWebImage的实现机制)

(1)主要功能

(2)缓存

(3)内存缓存与磁盘缓存

、框架SDWebimage的缓存机制

、网络安全

密码的安全原则

、多线程

(1)多线程概念

(2)多线程的作用

(3)使用场景

、NSOperationQueue和GCD的区别是什么

、GCD与NSThread的区别

、进程和线程的区别与联系是什么?

、别异步执行两个耗时操作,等两次耗时操作都执行完毕后,再回到主线程执行操作.使用队列组(`dispatch_group_t`)快速,高效的实现上述需求

、在项目什么时候选择使用GCD,什么时候选择NSOperation?

、对比iOS中的多线程技术

、多线程优缺点

、iOS中的延迟操作

、串行队列同步执行和异步主队列

、资源抢夺解决方案

、`dispatch_barrier_async`的作用是什么?

、在多线程CoreData中,NSC,MOC,NSObjectModel哪些需要在线程中创建或者传递?你是用什么策越来实现的?

、+(void)load与+(void)initialize区别load和initialize方法的区别




转载请注明:http://www.aierlanlan.com/rzdk/1671.html