71道经典Android面试题和答案.pdf

preview
需积分: 0 13 下载量 32 浏览量 更新于2024-01-25 1 收藏 290KB PDF 举报
Android面试题涵盖了许多核心概念和技术,以下是一些关键知识点的详细解释: 1. 内存管理:在Java和Android中,内存回收是由垃圾收集器自动完成的,它负责释放无用内存。程序员无需手动释放内存,因此选项B是正确的。 2. RuntimeException:ArithmeticException、IllegalArgumentException、NullPointerException和BufferUnderflowException都是运行时异常(Runtime Exception),因为它们继承自RuntimeException类,选项A、B、C和D都正确。 3. Math.round方法:Math.round会将浮点数四舍五入到最接近的整数。对于11.5,它会被四舍五入到12;对于-11.5,它会被四舍五入到-12,所以正确答案是C。 4. 条件判断:在给定的代码段中,`b`的值将为`false`,因为所有条件都是错误的。因此,输出结果是B。 5. Activity生命周期:保存资源和状态最好在onSaveInstanceState()或onPause()中进行,但题目提到的是最佳实践,通常建议在onPause()中保存,选项A。 6. Intent数据传递:Intent可以传递Serializable、CharSequence、Parcelable和Bundle类型的对象,所以选项A、B、C和D都正确。 7. Intent的作用:Intent用于启动新的Activity、Service,或者传递数据,是连接四大组件(Activity、Service、BroadcastReceiver、ContentProvider)的纽带,所以选项C正确。选项A通常指的是ContentProvider,选项B指的是Service,选项D指的是Application。 8. XML解析:SAX解析器是一种基于事件驱动的解析器,它不需要一次性加载整个XML文档到内存,因此资源占用少,选项B正确。而A和C描述的是DOM解析器的特点,D是SAX解析器的缺点。 9. 自定义Style:在XML资源文件中定义Style时,应包含在<style>标签内,并指定name属性,如选项A所示。 10. Menu的使用:在Android中,使用Menu时可能需要重写onCreateOptionsMenu()来创建菜单,以及onOptionsItemSelected()来处理菜单项的选择,所以选项A和C正确。 11. SQL Server Management Studio:@@IDENTITY返回最后由INSERT语句生成的ID,如果无记录插入,可能返回0,但不能确定是0,所以选项B正确。 12. SQL Server事务:根据给出的T-SQL语句,事务A和B都在更新SALES表,且在每个事务内部都有多个更新。由于事务B在事务A之后提交,所以最终的结果是SALES表中所有qty小于40的记录都被更新为40或以上,因此选项B正确。 13. SQLite数据库:在Android中,SQLite用于本地数据存储。SQLiteOpenHelper类用于创建和升级数据库,同时提供getWritableDatabase()和getReadableDatabase()方法来获取可读写或只读的数据库实例。 以上只是部分Android面试题涉及的知识点,包括内存管理、异常处理、Activity生命周期、Intent、XML解析、Style、Menu、SQL操作等。实际面试中,还会涉及到UI设计、多线程、网络编程、数据持久化、性能优化等方面的问题。在准备面试时,应全面了解并熟练掌握这些核心概念。