欢迎访问华乐美文网

ios笔试题,选择题

试题2018-09-06 21:19书业网

篇一:ios工程师笔试题及答案,ios工程师面试题及答案

ios工程师笔试题及答案,ios工程师面试题及答案

不少小伙伴们对ios工程师这个职位都十分感兴趣,本期乔布简历小编就将为大家带来一些ios工程师笔试题及答案以及ios工程师面试题及答案方面的内容。

关键词:ios工程师笔试题及答案,ios工程师面试题及答案

1、#import和#include的区别?

参考答案:#import是Objective-C导入头文件的语法,可保证不会重复导入。#include是C/C++导入头文件的语法,如果是Objective-C与C/C++混编码,对于C/C++类型的文件,还是使用#include来引入,这种写法需要添加防重复导入的语法。

2、@class的作用

参考答案:@class一般用于头文件中通过前向声明,就可以声明了,但是在.m文件中还是需要使用#import进来的。它的作用只是前向声明。

3、用NSLog函数输出一个浮点类型,结果四舍五入,并保留一位小数

参考答案:float money = 1.011;NSLog(@"%.1f", money);使用%f来格式化,其中要保留一位小数,因此再用%.1f就是保留一位。

4、viewDidLoad、loadView和viewDidUnload何时调用

参考答案:viewDidLoad在view加载完成时调用,loadView在controller的view为nil时调用。对于viewDidUnload现在已经不能直接调用了。

5、objective-c中的可变与不可变词典

参考答案:可变字典就是可以增、删、改操作的字典,对应于NSMutableDictionary类型。不可变字典就是不能执行增、删、改操作的字典,对应于NSDictionary类型。

6、Objective-C的内存管理

参考答案:现在内存管理几乎都采用ARC,也就是Automatic Reference Counting,意思是自动引用计数。由编译器在编译时自动为添加retain、release等代码。如果问的MRC,也就是(转 载于:wWW.cSsYq.cOM 书业网:ios笔试题,选择题)Manual Reference Counting,意思是手动内存管理。

黄金法则:谁使对象的引用计数+1,不再使用该对象时,谁就应该使该对象的引用计数-1。

以上就是小编为大家精选的关于ios工程师笔试题及答案和ios工程师面试题及答案方面的内容,希望对于大家求职ios工程师有所帮助呀~

ios工程师笔试题及答案,ios工程师面试题及答案

http://cv.qiaobutang.com/knowledge/articles/57189e350cf2ad189d6150fd

篇二:iOS开发工程师笔试题目

iOS开发工程师笔试题目

1. __weak什么时候用?

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

Difference between shallow copy and deep copy?

简述一下Notification特点?(100字内即可) 2. 3. 4.

5. 你在项目中什么时候考虑用Block?你知道使用Block有那些优点?

你在项目中使用过的第三方库有那些?

你在项目中常用的设计模式有那些? 6. 7.

8. 说说你所知道的检查内存泄漏的方法有那些?

9. 你知道NSOperation queue有什么作用?

10. 可以在一个viewcontroller里面添加两个tableview controllers吗?如果可以,需要怎么操

作?如果不可以,原因是什么?

11. 如果项目要实现网络图片缓存,你知道那些第三方库可以实现?如果自己实现这样一

个库,你认为应该怎么实现?(简述思路或流程图)

篇三:iOS笔试题02

警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!!

1> 浅拷贝:指针(地址)拷贝,不会产生新对象

2> 深拷贝:内容拷贝,会产生新对象

1> 分类可以在不修改原来类模型的基础上拓充方法

2> 分类只能扩充方法、不能扩充成员变量;继承可以扩充方法和成员变量 3> 继承会产生新的类

1> 分类是有名称的,类扩展没有名称

2> 分类只能扩充方法、不能扩充成员变量;类扩展可以扩充方法和成员变量 3> 类扩展一般就写在.m文件中,用来扩充私有的方法和成员变量(属性)

1> Java的接口中声明的方法必须都实现

2> Oc的

protocol中声明的方法并不一定要实现

1> KVC是键值编码,可以通过一个字符串的key(属性名)修改对象的属性值 2> KVO是键值监听,可以监听一个对象属性值的改变

1> 两个对象之间传递数据和消息

2> 解耦,拆分业务逻辑

1> mutable是可变类型,比如NSMutableArray,可以动态往里面添加元素 2> immutable是不可变类型,比如NSArray,固定的存储空间,不能添加元素

1> 动态绑定:对象类型在运行时才真正确定

2> 多态性

3> 消息机制

1> 通过NSNotification可以给多个对象传递数据和消息

2> 通过protocol(代理模式)只能给一个对象传递数据和消息

1> 本地推送:程序内部弹出通知到用户设备

2> 远程推送:由推送服务器推送通知到用户设备

多态:父类指针指向子类对象

单粒:保证程序运行过程中,永远只有一个对象实例

目的是:全局共享一份资源、节省不必要的内存开销

响应者链:

? UIResponder有一个nextResponder属性,通过该属性可以组成一个响应

者链,事件或消息在其路径上进行传递

? 如果UIResponder没有处理传给它的事件,会将未处理的消息转发给自

己的nextResponder

1> frame以父控件的左上角为坐标原点

2> bounds以控件本身的左上角为坐标原点

通过一个selector可以找到方法地址,进而调用一个方法

1> OC 1.0没有垃圾回收

2> OC 2.0有垃圾回收,只能用在Mac上

3> iOS中有ARC机制,是编译器特性,垃圾回收是运行时特性

1> 用来存放NSOperation对象的队列,可以用来异步执行一些操作

2> 一般可以用在网络请求等耗时操作

延迟加载:比如控制器的view,在第一次用到view时才会调用loadView方法进行创建

从技术角度上分析,一个控制器内部添加2个表格控制器是没有问题的

从对象属性上分析,tableView只有一个dataSource属性。当然,真要使用2个不同的数据源,还是有其他办法解决的

Copyright @ 2012-2024华乐美文网 All Rights Reserved. 版权所有