24 必须阅读的 Android 面试问题和答案 [适合应届生和有经验者]

已发表: 2021-01-28

目录

概述

随着过去十年移动应用程序开发的惊人增长,Android 和 iOS 已成为两个领先的操作系统。 Android 提供了急需的灵活性,并且已经增长到占据 86.1% 的市场份额。 截至 2020 年,Google Playstore 拥有约287 万个应用程序,可供全球20 亿安卓用户使用。

这些惊人的数字导致整个行业的崛起充满机遇,据估计,当今全球590 万 Android 开发人员作为一名 Android 开发人员的职业是具有挑战性的,并且在财务上也很充实。

在本文中,我们回答了世界各地领先组织提出的一些常见的 Android 面试问题。 如果您希望找到一份 Android 开发人员的工作,本文将帮助您做好更好的准备,以便您可以自信地参加面试并找到您梦寐以求的工作。

现在让我们看一下 Android 开发人员面试中被问到最多的一些问题以及预期的答案。

热门Android面试问题和答案

1.什么是安卓?

Android 是基于 Linux 内核的移动操作系统。 它主要设计用于智能手机、平板电脑和智能电视等触摸屏移动设备。

2. Android 可以与 Java 以外的语言一起使用吗?

可以使用 C/C++ 使用 Android Native Development Kit 执行 Android 应用程序开发。 最近,谷歌还推出了一种名为 Kotlin 的编程语言,它与 Java 非常相似,可用于在 Android 上构建。

3. Android 应用程序的架构如何?

Android 应用程序开发通常遵循 Model-View-Presenter (MVP) 架构。 在这里,Model 是数据层,View 是 UI 层,Presenter 响应 UI 层执行的操作。

Android 应用组件包括:

a) 用于启动后台任务的服务

b)意图是在活动和数据传递之间建立联系的原因。

c) 以灯光、声音、对话框等形式通知

d) 内容提供者在应用程序之间共享数据

e) 字符串和图形的资源外部化

4. Android 的基本构建块是什么?

Android 的一些核心构建块包括:

- 服务

– 片段

- 内容提供商

- 活动

- 看法

– 意图

5. 什么是应用程序资源文件?

应用程序资源文件是包含您的代码可以使用的静态内容的文件。 这包括布局定义、位图、动画指令、用户界面字符串等。

6. 解释Android Activity 中涉及的生命周期方法?

当您打开您的 Android 应用程序时,它会经历一系列活动,如下所示:

a) onCreate()

Activity 就是在这种状态下创建的。

b) onStart()

当活动对用户可见时调用。

c) onResume()

活动在前台,用户可以与之交互。

d) onPause()

活动被另一活动部分停止。

e) onStop()

活动对用户完全隐藏

f) onRestart()

从暂停状态开始,活动要么恢复并变得对用户可见,要么被销毁。

g) onDestroy()

活动从内存中删除。

7. 定义意图。

Intent 用于向 Android 系统发出某些事件发生的信号。 Android 操作系统中有两种类型的意图:

a) 隐含意图

b) 明确意图

8. 如何识别 Android 程序中的视图元素?

关键字 findViewById 用于标识视图元素。

9、Android程序中Bundles有什么用?

Android 程序中的捆绑包通常用于在活动之间传递数据。

10、Android提供的各种存储有哪些?

a) 共享偏好

b) 内部存储

c) 外部存储

d) SQLite 数据库

e) 网络连接

11. Android 如何放置布局?

Android布局可以通过两种方式放置:

a) 在 XML 中声明 UI 元素。

b) 在运行时实例化布局元素。

12.命名Android支持的对话框。

a) 警报对话框

它可用于中断并询问用户是继续还是停止进程。

b) 进度对话框

这是为了通知用户特定任务的进度。

c) 日期选择器对话框

日期选择器是用于帮助用户选择日期的小部件。

d) 时间选择器对话框

时间选择器是用于帮助用户选择时间的小部件。

13. 什么是 Android 中的单例类?

Android中的单例类是一个只能实例化一个对象的类。 然后这个对象可以被所有类共享。 一个例子可以是控制并发并为应用程序创建一个访问其数据存储的中心访问点。

14. 什么是 DDMS?

DDMS 代表 Dalvik 调试监视器服务。 它是Android自带的调试工具。 它提供了一系列服务,例如端口转发、屏幕捕获、logcat 进程、设备上的线程和堆信息、无线电状态信息、来电、SMS 欺骗等等。

15. 什么是 Android 中的睡眠模式?

在睡眠模式下,CPU 转换为停用模式,不接受来自 Android 设备的任何命令。 只有无线电接口层和警报在睡眠模式下保持活动状态。

16. 定义 Android 架构。

Android 架构由 4 个组件组成

a) Linux 内核

Android 操作系统的核心是基于 Linux 内核构建的。 它负责电源管理、内存管理、设备驱动程序和资源访问。

b) 原生库

本机库构建在 Linux 内核之上,为系统提供功能。 WebKit、OpenGL、SQLite、Media 等是其中一些本机库。

c) Android 运行时

Android 运行时中存在 DVM 等核心库。

d) 安卓框架

在 Android 运行时之上是 Android 框架。 它包括几个 API,例如 UI(用户界面)、电话、位置、资源等。

e) 应用程序

家庭、联系人、拨号器、游戏等应用程序是 Android 框架之上的最后一层。

17.命名Android中的一些异常

以下是 Android 中的一些异常示例:

a) SurfaceHolder.BadSurfaceTypeException

b) WindowManager.BadTokenException

c) 膨胀例外

d) Surface.OutOfResourceException

18. 开发Android App 使用的基本工具有哪些?

一)JDK

Java 开发工具包允许开发人员创建 Java 程序,然后可以由 JVM(Java 虚拟机)和 JRE(Java 运行时环境)运行。

b) Eclipse + ADT 插件

Eclipse 是用于开发程序的集成开发环境。 ADT 插件(Android 开发工具)是 Eclipse 的一个插件,它为您提供了一个强大的集成环境来构建 Android 应用程序。

c) SDK 工具

软件开发工具包工具是一组可用于为特定操作系统和设备开发应用程序的工具。

19. Android 中的可绘制文件夹是什么意思?

Android 中的 drawable 文件夹是可绘制资源的集合,用于存放可绘制的图形。 每个drawable都作为独立文件存储在drawable文件夹中。 它可以用作背景、横幅、图标、启动画面等。

20.Android中的Adapter是什么?

适配器,顾名思义,是基于继承的概念。 使用适配器,您可以在 Android 上创建子视图以在父视图中呈现项目。

21. 什么是 Android 中的服务?

服务是在后台运行的应用程序组件。 这些后台操作可能是播放音乐、处理网络事务、加载浏览器选项卡等。这些操作不提供用户可以与之交互的 UI。 即使应用程序被销毁,这样的服务也可以在后台运行。

22. 什么是安卓吐司?

Android toast 是显示在 UI 顶部的一条小消息。 它是一个临时消息,类似于工具提示。 它有助于向用户提供有关他们正在执行的操作的反馈。

23. 什么是 AAPT?

AAPT 代表 Android 资产打包工具。 它包含在 SDK 的工具/目录中。 AAPT 允许您查看、创建和更新与 Zip 兼容的档案。 它负责处理包装过程。

24. 什么是片段?

Android 中的 Fragment 封装了视图和逻辑,因此更容易在活动中重用。 因此,使用片段我们可以在一个活动上显示多个屏幕。 片段是 XML 布局文件和 java 类的组合,使它们与活动非常相似。

准备 Android 面试的技巧

既然我们已经看到了 Android 开发者面试中最常见的一些问题,那么让我们尝试研究一些可以用来留下最佳印象的技巧。

1. 打好基础

通常,开发人员拥有丰富的表面知识,但无法建立坚实的基础。 通常将您与其他人区分开来的是您坚实的基础。 学习 Java 和 Kotlin 的核心概念。 强大的基本面将使您比所有其他候选人更具优势。

2. 研究数据结构和算法问题

这是建立强有力的概念并为通常可以决定面试结果的棘手问题做好准备的另一种方法。

3. 保持更新

阅读科技杂志、博客和论文,了解最新的 Android 和移动技术世界。

考虑到这些提示和我们的问题目录,我们相信您将完全有能力找到一份出色的 Android 开发人员工作。

另请阅读: Android 项目理念和主题

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

如果您想提高您的 android 技能,您需要掌握这些 android 项目。 如果您有兴趣了解有关全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为在职专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目,和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

什么是安卓编程?

Android 是基于 Linux 和 Unix 平台的操作系统。 它正在由谷歌开发。 开发android的主要目的是为移动设备提供一个操作系统。 该操作系统可用于智能手机以及平板电脑。 该操作系统被设计为轻量级和模块化的。 该操作系统使用 Java 语言。 Java 是一种编程语言,可以在不同的操作系统中使用。 Android是世界领先的移动操作系统。 它由 Google 创建,基于 Linux 内核。 Android应用程序基本上是为手机编写的应用程序,可用于玩游戏或拨打电话。

Android 可以使用哪些编程语言?

Android 有许多可用的编程语言,但 Android 最常用的两种编程语言是 Java 和 C。Java 是一种复杂的编程语言,它非常健壮且流行的编程语言,但 C 是快速、简单和容易上手的编程语言学习。 两者各有优缺点,但都可以用来开发 Android 应用程序。 由于许多原因,Java 是最流行的 Android 编程。 (1) Android 是基于 Java 的,所以它是最合乎逻辑的选择。 (2) 它是开源的,所以任何人都可以免费使用。 (3)它是面向对象的,动态类型的,所以任何人都容易理解。

什么是科特林?

Kotlin 是一种在 JVM 上运行的静态类型编程语言,也可以编译为 JavaScript 源代码或使用 LLVM 后端生成本机代码。 它的主要开发来自位于俄罗斯圣彼得堡的 JetBrains 程序员团队。 它于 2011 年 6 月 4 日 Devoxx 大会的第一天宣布,并于 2016 年 2 月 15 日正式发布。Kotlin 与 Java 完全互操作,这也是 JetBrains 创建它的主要原因。 Kotlin 可以编译 Java 源代码,它可以在 Java 工作的所有平台以及更多平台上运行。