iOS面试题3【附部分答案】


问答题:

1.  nil,Null的区别?

Null是一个宏定义值为0,nil 表示无值,

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

动态数据类型。。。

任意的数据类型  .id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型

3.  什么是懒汉模式?

   懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用   内存小)。所谓懒加载,写的是其get方法.空间换时间

  注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化

   2.使用懒加载的好处:

  (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强

   ( 2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合

    

4.  C语言中有哪些数据类型,这些数据类型能直接存放到字典或数组中吗?如果不能怎么处理?例如int型数据

,int double float char  等  要转成oc的数据类型才能存放到字典或数组中        I  nt s=0;

    [myMutableArr addObject:[NSNumber numberWithInt:s]];

 

5.  frame 和 bounds 有什么不同?

frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)

  bounds:该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系 统,就相当于ViewB自己的坐标系统,以0,0点为起点)

 

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

Self.name=@”object”会调用对象的setName的方法。而name=@”object”则直接调用属性赋值,并且setname 计数会加一

论述题:

1.  UITableView如果滑动起来不够顺畅,会是什么问题?怎么解决?

  1.使用不透明视图

  2. 不要重复创建不必要的table cell

  3.减少视图的数目

  4 不要做多余的绘制工作预渲染图像

  5不要阻塞主线程.

2.  程序安装到设备上后会生成哪几个文件夹?作用分别是什么?

3.  ViewController 的 didReceiveMemoryWarning 的作用是什么?调用的时候默认会做什么操作?

程序运行时收到系统发出的内存不足警告时执行的方法,view被绘制在屏幕上的时候,是最费资源的,然后系统在内存警告的时候,会自动把这个资源给清理掉.

然后,就会剩下一小部分资源,通常这小部分资源可以不去处理他.

4.   描述堆和栈的区别

堆空间由程序员分配释放,栈由编译器自动分配释放

一般普通的变量放在栈中,变量的作用域结束了,那么变量在栈中占用的内存也释放了,用malloc开辟的空间放在堆中,如果不用free去释放,那么开辟的空间一直战胜堆的内存空间

5.   objective-c中是如何实现线程同步的

线程锁

编程题:

1.  用Objective-C 写一个插入法排序

2.  有一个 UIView 对象 aView,当前大小为全屏。请编写代码实现如下效果:将 aView 的宽和高各缩小为原来一半,中心点仍在屏幕中心, 并在缩小的同时实现渐隐。

3.   如何将产品进行多语言发布

 

人事题:

1. 工作低潮时如何调适?

2.  简单介绍一下自己

3.  你怎样看公司经常开会或加班的事情?

4.  如果明知“这样做不对”,你还是会依主管的指示去做吗?

5.  谈谈你的缺点

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值