本文主要是整理了中高级安卓需要的(或者说面试被频繁问到的内容),主要作为参考大纲,之后会陆续更新每个详细部分,供大家参考,互相学习。
记得前几年看到一档综艺节目“我就是从这里跳下去,也不吃这碗炒饭~~~真香”王境泽的一句随口的话成了所谓的真香定律。记得前几年看到身边很多人都在刷面试题,那个时候也没怎么刷,后来却加入了真香定律的一员
之前吧很多面试题目整理在了GitHub上了,短短几周就有554多个star.由于个别原因删了原来的那个库(俗称删库跑路~手动滑稽)现在创建了新的大家可以点一点https://github.com/xiangjiana/Android-MS
以上所有的加上GitHub上面面试题都整理成一份新的PDF~希望这些对大家有所帮助和突破
(VX:mm14525201314)
有好的面试内容欢迎投稿我
一丶数据库的操作类型有哪些,如何导入外部数据库?
读懂题目。如果碰到问题比较模糊的时候可以适当问问面试官。
配合面试官来面试: 面试是一个相互了解的过程,要充分利用面试的题目和时间把自己的能力和技术展现出来,面试官能够看到你的真实技术。
1) 使用数据库的方式有哪些?
①.openOrCreateDatabase(String path)
;
② .继 承 SqliteOpenHelper
类 对 数 据 库 及 其 版 本 进 行 管 理(onCreate
,onUpgrade
)
当 在 程 序 当 中 调 用 这 个 类 的 方 法 getWritableDatabase()
或者 getReadableDatabase()
;的时候才会打开数据库。如果当时没有数据库文件的时候,系统就会自动生成一个数据库。
2) 操作的类型:增删改查 CRUD
直接操作 SQL 语句: SQliteDatabase.execSQL(sql);
面 向 对 象 的 操 作 方 式:SQLiteDatabase.insert(table,nullColumnHack,ContentValues);
如何导入外部数据库?
一般外部数据库文件可能放在 SD 卡或者 res/raw 或者 assets 目录下面。写一个 DBManager
的类来管理,数据库文件搬家,先把数据库文件复制到”/data/data/包名/databases/”目录下面,然后通过db.openOrCreateDatabase(db 文件)
,打开数据库使用。我上一个项目就是这么做的,由于 app 上架之前就有一些初始数据需要内置,也会碰到数据的升级等问题,我是这么做的…… 同时我碰到最有意思的问题就是关于数据库并发操作的问题,
比如: 多线程操作数据库的时候,我采取的是封装使用互斥锁来解
决……
二丶是否使用过IntentService
作用是什么,AIDL 解决了什么问题?
如果有一个任务&#