今天给大家把我压箱底的一些BATJ等一线大厂面试资料献出来,主要为Android 基础与底层原理技术点要求。先声明这些都是我在一个安卓高级技术社群里收集的,也整理了相应的答案方便大家有个参考,如果有侵犯泄露等问题请私我解决谢谢。
请看面试题;
- 数据库的操作类型有哪些,如何导入外部数据库?(腾讯)
读懂题目。如果碰到问题比较模糊的时候可以适当问问面试官。配合面试官来面试:面试是一个相互了解的过程,要充分利用面试的题目和时间把自己的能力和技术展现出来,面试官能够看到你的真实技术。
1) 使用数据库的方式有哪些?
- openOrCreateDatabase(String path);
- 继承SqliteOpenHelper类对数据库及其版本进行管理(onCreate,onUpgrade)
当在程序当中调用这个类的方法getWritableDatabase()或者getReadableDatabase();的时候才会打开数据库。如果当时没有数据库文件的时候,系统就会自动生成一个数据库。
2) 操作的类型:增删改查CRUD
-
直接操作SQL语句:SQliteDatabase.execSQL(sql);
-
面向对象的操作方式:SQLiteDatabase.insert(table, nullColumnHack, ContentValues);
如何导入外部数据库?
-
一般外部数据库文件可能放在SD卡或者res/raw或者assets目录下面