程序员挑战高薪,你必须会的十大面试题《一》
IT蓝豹
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蓝豹,转发必须标明出处:http://www.itlanbao.com/news.aspx
转载于:https://www.cnblogs.com/yangguangcheng/p/4974963.html
程序员挑战高薪,你必须会的十大面试题《一》相关推荐
- Android程序员如何高薪接私活?十年老炮告诉你,看这一篇就够了
随着互联网的发展 各大公司接二连三的裁员 前一秒工作安排,后一秒优化通知 搞副业接私活+提升主业技能 该是安卓人该有的觉悟了 都应该要有自己的plan b 尤其是程序员这种远程岗位 一部电脑+技术 就 ...
- 知乎热议:国家何时整治程序员的高薪现象?网友:用命和头发换的钱都被人眼红!...
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨木木 来源丨机器学习算法工程师 编辑丨极市平台 导读 本文就知 ...
- 知乎热问:国家何时整治程序员的高薪现象?
"国家何时整治程序员的高薪现象?" 看到这个标题,可能大多数人的第一反应都是:????提出这种问题的人,非蠢即坏! 本身知乎上有不少程序员活跃,马上就吸引来了很多人参与回答. 其中 ...
- 知乎热问:国家何时整治程序员的高薪现象?太可怕了!
今日推荐 21 款 yyds 的 IDEA插件这 56 个代码注释让我笑吐了注解+反射优雅的实现Excel导入导出(通用版)Fluent Mybatis 牛逼!Nginx 常用配置清单这玩意比Thre ...
- 谈谈程序员的高薪现象是不是该整治一下了?
用头发和命换来钱的程序员惹谁了?程序员工资高吗? 高赞回答一 作者:沈世钧 链接:https://www.zhihu.com/question/323701444/answer/1758304595 ...
- 知乎:国家何时整治程序员的高薪现象?
转自/程序员乔戈里 大家好,最近刷知乎看到这个话题,给我看蒙圈了. "国家何时整治程序员的高薪现象?" 看到这个标题,可能大多数人的第一反应都是:????提出这种问题的人,非蠢即坏 ...
- 程序员薪资怎么论高级还是初级_和程序员一样高薪,却过着清闲生活,测试员什么人都可做吗?...
答案是:可以. 大家好,我是热搜通,一名新媒体运营转软件测试的96年妹子. 生活中很多人都羡慕程序员的高薪工资,却害怕繁乱的代码. 其实,在软件这个行业,还有一个工种和程序员享受着一样的高薪,工作的压 ...
- 知乎热议“国家何时整治程序员的高薪现象”?太可怕了!
综合整理:程序员的那些事 参考:51CTO技术栈.知乎.微博 国家何时整治程序员的高薪现象? 或许是因为最近教育和培训行业被大力整顿,于是有人在知乎提了一个这样的问题:国家何时整治程序员的高薪现象? ...
- 蜗牛学院:程序员这个高薪职业只有科班的人才能做吗?
很多人总以为,自己不是学计算机的,就不能从事编程工作了. 随着互联网行业的蓬勃发展,市场对于程序员的需求激增,这个职业也不再囿于计算机科学或软件工程等个别专业的毕业生. 非本专业出身的程序员越来越多, ...
最新文章
- linux如何更改服务器时间格式,Linux中date命令,格式化输出,时间设置
- redis关键字删除_微信公众号文章防删除
- linux-centos7环境搭建
- 9款WordPress视频插件
- RDD和DataFrame和Dataset比较
- Java如何替换switch顺序执行_java 多重switch中break的用法以及switch的查找顺序
- 计算机桌面常用图标,电脑常用软件图标 常用的电脑软件图标
- 网页背景音乐播放器html代码
- 存储珍贵的数据和资源的好选择,铁威马NAS F2-221折腾体验
- Bootstrap学习 - JavaScript插件
- element时间日期选择器组件设置默认时间
- C++封装zlib库
- 如何截取电影画面转换成gif动图做微信表情包
- Docker 基础 (一)
- dba招生_深圳DBA项目招生简介
- offsetof 详解
- 经验解答:计算机专业是什么?这个专业的大学生以后能干嘛?
- 自己写的粗糙的Excel数据驱动Http接口测试框架(一)
- mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0
- Javascript中的every()与some()的区别和应用
热门文章
- 制作U盘启动盘之Ubuntu
- LeetCode —— 面试题 08.12. 八皇后(Python)
- leetocde —— 114. 二叉树展开为链表
- leetcode - 303.区域和检索-数组不可变(动态规划)
- 去哪儿-03-index-swiper
- 子集和数问题——回溯法(C++)
- _Linux 系统挂载数据盘
- 作业帮电脑版在线使用_一起作业学生app 手机版免费在线下载
- sys python3 常用_python之sys模块【获取参数】
- mysql8.0.13可以用在生产环境_(13)生产环境出现大量DB死锁