App面试题目整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android面试题目:
1.Java基础知识:
(1)请列出java的基础数据类型。
(2)请分别说明Int和Integer、String 和StringBuffer的区别。
(3)请指出HashMap和Hashtable的区别。
(4)请指出final, finally, finalize的区别。
(5)垃圾回收的优点和原理,并简要说明你知道的几种回收机制。
(6)什么是泛型中的限定通配符和非限定通配符?并以List举例,说明其区别。
2.Android基础知识:
(1) 简要解释一下Android的几大基本组件。
(2) 简要解释一下Android的数据存储方式。
(3) 请描述下Activity的声明周期。
(4) 请描述一下Activity之间的数据传递方式。
(5) 简要介绍一下Activity、Fragment,及它们之间的关系。
3.进阶题:
(1)请描述android中Service的生命周期。
(2)请解释Message、Hander、MesageQueue、Looper之间的关系。
4.编程题:
(1)给定具体图片网络地址,在android4版本上实现图片下载。
(2)两个Activity:A,B。A传递参数给B,B处理完成后返回给A,并显示到A上。代码
实现全过程。
(3)请继承SQLiteOpenHelper实现:创建数据库“test.db”,并创建表tb(主键id 自动增
长,userName 字符长度100,telephone字符长度13,均不可为空),如果有新的数据则添加到tb中。
(4)实现BroadcostReceiver自定义接收器,以及广播的两种注册方式。
5.自由题:
(1)如何退出Activity?如果打开多个Activity,如何安全退出App?
(2)创建简单的Notification,并配置使用。
(3)谈谈平时开发环境及工具,源代码是如何管理的?
IOS面试题目:
1.基础知识:
(1)#import 跟#include 有什么区别,@class呢, #import<> 跟#import””有什么区
别?
(2)属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在
那种情况下用?
(3)描述数据保存的几种机制。
(4)描述你对IOS内存管理的理解,及Autorelease、retain、copy、assign的set方法
和含义。
(5)UIView的生命周期是什么样的,执行顺序是怎么样的?
2.进阶题:
(1)NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候
应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或
者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的
问题?如果不能,为什么?
(2)你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用
NSOperationQueue,实现了什么?请描述它和GCD的区别和类似的地方(提
示:可以从两者的实现机制和适用范围来描述)。
(3)描述实现Http网络通信过程。
3.编程题
(1)写一个setter方法用于完成@property (nonatomic,retain)NSString *name,写一
个setter方法用于完成@property(nonatomic,copy)NSString *name。
(2)委托实现两个UIIview视图(A、B)对象之间的数据传递。
(3)简单实现ASIHTTPRequest方式下的同步请求和异步请求。
(4)实现SQLite的数据库操作:创建数据库(catalog)、数据库表(Product:ID自动增长、
name产品名称、Price单价、Num数量,Image图片)、添加数据、导入数据。
4.自由题
(1)举例简述你对Block的理解,Block与GCD有何异同。
(2)IOS中有哪些数据持久化的方式,各有什么特点,IOS平台怎么做数据的持久化?
CoreData和sqlite有无必然联系?CoreData是一个关系型数据库吗?
(3)谈谈平时开发环境及工具,源代码是如何管理的?