北京信息科技大学论坛

 找回密码
 注册(开放注册)
搜索
查看: 67693|回复: 5
打印 上一主题 下一主题

[资料分享] 程序员挑战高薪,这些面试题你了解吗?

[复制链接]
跳转到指定楼层
1#
发表于 2015-12-4 17:33:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
(1):Android中五种数据存储方式分别是什么?他们的特点?

    (1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使用,生成XML的格式存放在设备中
    (2) SQLite数据库,存放各种数据,是一个轻量级的嵌入式数据库
    (3) File文件,通过读取写入方式生成文件存放数据
    (4) ContentProvider,主要用于让其他应用程序使用保存的数据
    (5) 通过网络获取数据和写入数据到网络存储空间
    答:Android提供了五种存取数据的方式



(2):说说 android 中 mvc 的具体体现

mvc是model,view,controller的缩写,mvc包含三个部分:
模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。
视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。
控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,响应用户出发的相关事件,交给m层处理。
android鼓励弱耦合和组件的重用,在android中mvc的具体体现如下:
1)视图(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入。
2)控制层(controller):android的控制层的重任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在acitivity 中写过多的代码,要通过activity交割model业务逻辑层处理,这样做的另外一个原因是android中的acitivity的响应时间是5s, 如果耗时的操作放在这里,程序就很容易被回收掉。
3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。



(3): 简述SharedPreferences存储方式以及SharedPreferences与SQLite数据库的区别

SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配 置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能读 取数据而不支持写入数据,存储修改是通过Editor对象实现。SharedPreferences对象与SQLite数据库相比,免去了创建数据库,创 建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储 boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论 SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方 式。



(4):描述handler 机制的原理

andriod提供了 Handler 和 Looper 来满足线程间的通信。
Handler 先进先出原则。
Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。
1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。
2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。
3) Message Queue(消息队列):用来存放线程放入的消息。
4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。



(5):显式intent和隐式intent的区别是什么(android)

答:Intent定义:Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要发送端,还需要接收端。
显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。
隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。
说明:Android系统使用IntentFilter 来寻找与隐式Intent相关的对象。



这两篇文章也很不错,感兴趣的朋友也可以看下,了解下,肯定对还是有的帮助的。

可以点击百度搜索:IT蓝豹,大家就可以看到,以为链接加不上,所以想看的朋友就自己麻烦搜索下

1.符合1-2年工作经验,开发中的难点及相关优化

2.Android十大常用技术揭秘-挑战
2#
发表于 2015-12-8 19:29:04 | 只看该作者
这里来找吧

论坛二维码.jpg (46.16 KB, 下载次数: 13)

论坛二维码.jpg
3#
发表于 2015-12-15 11:57:43 | 只看该作者
本帖最后由 路人66 于 2015-12-15 14:00 编辑

清华大学也有开发班,希望对大家有帮助!扣扣:二五四期久二一五四四
4#
 楼主| 发表于 2015-12-17 14:32:06 | 只看该作者
你们可以去IT蓝豹看看,技术源码
5#
发表于 2015-12-25 14:18:55 | 只看该作者
在清华学完技术,直接留本校做开发了,也不错!
您需要登录后才可以回帖 登录 | 注册(开放注册)

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

小黑屋|手机版|Archiver|北京信息科技大学论坛 ( 琼ICP备10001196号-2 )

GMT+8, 2024-4-20 19:58 , Processed in 0.079446 second(s), 17 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

快速回复 返回顶部 返回列表