程序员挑战高薪,你必须会的十大面试题《一》

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

程序员挑战高薪,你必须会的十大面试题《一》相关推荐

  1. Android程序员如何高薪接私活?十年老炮告诉你,看这一篇就够了

    随着互联网的发展 各大公司接二连三的裁员 前一秒工作安排,后一秒优化通知 搞副业接私活+提升主业技能 该是安卓人该有的觉悟了 都应该要有自己的plan b 尤其是程序员这种远程岗位 一部电脑+技术 就 ...

  2. 知乎热议:国家何时整治程序员的高薪现象?网友:用命和头发换的钱都被人眼红!...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨木木 来源丨机器学习算法工程师 编辑丨极市平台 导读 本文就知 ...

  3. 知乎热问:国家何时整治程序员的高薪现象?

    "国家何时整治程序员的高薪现象?" 看到这个标题,可能大多数人的第一反应都是:????提出这种问题的人,非蠢即坏! 本身知乎上有不少程序员活跃,马上就吸引来了很多人参与回答. 其中 ...

  4. 知乎热问:国家何时整治程序员的高薪现象?太可怕了!

    今日推荐 21 款 yyds 的 IDEA插件这 56 个代码注释让我笑吐了注解+反射优雅的实现Excel导入导出(通用版)Fluent Mybatis 牛逼!Nginx 常用配置清单这玩意比Thre ...

  5. 谈谈程序员的高薪现象是不是该整治一下了?

    用头发和命换来钱的程序员惹谁了?程序员工资高吗? 高赞回答一 作者:沈世钧 链接:https://www.zhihu.com/question/323701444/answer/1758304595 ...

  6. 知乎:国家何时整治程序员的高薪现象?

    转自/程序员乔戈里 大家好,最近刷知乎看到这个话题,给我看蒙圈了. "国家何时整治程序员的高薪现象?" 看到这个标题,可能大多数人的第一反应都是:????提出这种问题的人,非蠢即坏 ...

  7. 程序员薪资怎么论高级还是初级_和程序员一样高薪,却过着清闲生活,测试员什么人都可做吗?...

    答案是:可以. 大家好,我是热搜通,一名新媒体运营转软件测试的96年妹子. 生活中很多人都羡慕程序员的高薪工资,却害怕繁乱的代码. 其实,在软件这个行业,还有一个工种和程序员享受着一样的高薪,工作的压 ...

  8. 知乎热议“国家何时整治程序员的高薪现象”?太可怕了!

    综合整理:程序员的那些事 参考:51CTO技术栈.知乎.微博 国家何时整治程序员的高薪现象? 或许是因为最近教育和培训行业被大力整顿,于是有人在知乎提了一个这样的问题:国家何时整治程序员的高薪现象? ...

  9. 蜗牛学院:程序员这个高薪职业只有科班的人才能做吗?

    很多人总以为,自己不是学计算机的,就不能从事编程工作了. 随着互联网行业的蓬勃发展,市场对于程序员的需求激增,这个职业也不再囿于计算机科学或软件工程等个别专业的毕业生. 非本专业出身的程序员越来越多, ...

最新文章

  1. linux如何更改服务器时间格式,Linux中date命令,格式化输出,时间设置
  2. redis关键字删除_微信公众号文章防删除
  3. linux-centos7环境搭建
  4. 9款WordPress视频插件
  5. RDD和DataFrame和Dataset比较
  6. Java如何替换switch顺序执行_java 多重switch中break的用法以及switch的查找顺序
  7. 计算机桌面常用图标,电脑常用软件图标 常用的电脑软件图标
  8. 网页背景音乐播放器html代码
  9. 存储珍贵的数据和资源的好选择,铁威马NAS F2-221折腾体验
  10. Bootstrap学习 - JavaScript插件
  11. element时间日期选择器组件设置默认时间
  12. C++封装zlib库
  13. 如何截取电影画面转换成gif动图做微信表情包
  14. Docker 基础 (一)
  15. dba招生_深圳DBA项目招生简介
  16. offsetof 详解
  17. 经验解答:计算机专业是什么?这个专业的大学生以后能干嘛?
  18. 自己写的粗糙的Excel数据驱动Http接口测试框架(一)
  19. mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0
  20. Javascript中的every()与some()的区别和应用

热门文章

  1. 制作U盘启动盘之Ubuntu
  2. LeetCode —— 面试题 08.12. 八皇后(Python)
  3. leetocde —— 114. 二叉树展开为链表
  4. leetcode - 303.区域和检索-数组不可变(动态规划)
  5. 去哪儿-03-index-swiper
  6. 子集和数问题——回溯法(C++)
  7. _Linux 系统挂载数据盘
  8. 作业帮电脑版在线使用_一起作业学生app 手机版免费在线下载
  9. sys python3 常用_python之sys模块【获取参数】
  10. mysql8.0.13可以用在生产环境_(13)生产环境出现大量DB死锁