Android is not only the modified version of Linux Kernel and other open-source software but technology on which a large number of people depend worldwide.
Picking a great craze among the community, students are developing a keen interest to study. If you are pursuing a career in Android development, then these are the Interview Questions that should be a part of your bucket list.
Different versions of Android OS
It has been over 10 years of Android OS in the market and the language has not only upgraded over a course of time but has shown significant variants with dynamic features. The upgrades are as follows.
What are the important core components of Android?
The core components of Android operating systems include the following:
- Content Provider
Define Activity and which method is implemented by all subclasses of an Activity?
An activity represents the screen representation of an application in it which serves as the primary entry point for the user interaction. Each activity has a structured layout in which you UI can be stationed wherein an application can have multiple activities.
Below are the two methods in which all the subclasses of Activity will implement:
- nCreate(Bundle): This method is the stage of initialization in which you will callsetContentView(int) with a layout resource which defines your UI. findViewById(Int) will enable you to retrieve the widgets in that UI which is required to interact programmatically.
- onPause(): This method involves dealing with the user whenever it leaves the activity. Therefore, any changes made by the user should be committed as done by the Content Provider that holds the data.
Can you elaborate on the lifecycle of Activity?
In this, the user paves its way between multiple screens or apps which is called undergoing different states in their lifecycle. The activity of the lifecycle consists of seven different methods of android.app. Activity as mentioned below:
- onCreate(): This is the state where the activity is created
- onStart(): This callback method is called when the activity becomes visible to the user
- onResume(): In this state, the foreground and the user can interact with it
- onPause(): In this state, the Activity is partially obscured by another activity. On the other side, other activity in the foreground is semi-transparent
- onStop(): In this state, the activity is completely hidden and remains invisible to the user
- onDestroy(): In this state, the Activity is destroyed and removed from the memory
Difference between File, Class & Activity
The difference between the three includes the following:
- File: It is a block of arbitrary information or resources for storing information and can be any file type.
- Class: It is a compiled form of Java file that it uses to produce an executable apk.
- Activity: It is the equivalent of a Frame or a Window in GUI toolkits. It is neither a file or nor a file type, but only a class that can be extended in it to load UI elements on view.
Google Android SDK & its tools
It is a toolset that offers the API libraries and tools required to build, test and debug to a developer for Android in Windows, Mac or Linux. The tools placed in Android SDk includes:
- Android Emulator
- Dalvik Debug Monitoring Services (DDMS)
- Android Asset Packaging tool (AAPT)
- Android debug bridge (ADB)
Which are the dialog boxes supported by the platform?
It typically supports four types of dialog boxes which include:
- AlertDialog: It has three buttons and sometimes AlertDialog includes checkboxes and Radio buttons to select the element
- ProgressDialog: It displays the progress bar or wheels
- TimePickerDialog: Using this dialog box, a user selects the Time
- DatePickerDialog: Using this dialog box, a user selects the Date
Data types supported by AIDL
Data Types supported by AIDL includes the following:
- Java data types such as INT, Long, Char, Boolean
What are the advantages of Android?
- Open-source: It means no license, distribution and development fee
- Platform-Independent: It supports Windows, Mac and Linux platforms
- Supports various technologies: It supports camera, Bluetooth, wifi, speech, EDGE
- Highly optimised Virtual Machine: It uses a highly optimised virtual machine (VM) for mobile devices, called DVM (Dalvik Virtual Machine)
List the three key loops when monitoring an activity
- Entire lifetime: Activity happens between onCreate and onDestroy
- Visible lifetime: Activity happens between onStart and onStop
- Foreground lifetime: Activity happens between onResume and onPause
Storage methods in Android
The different types of storage methods in it includes:
- Shared Preferences: Store private primitive data in key-value pairs
- Internal Storage: Store private data on the device memory
- External Storage: Store public data on the shared external storage
- SQLite Databases: Store structured data in a private database
What database is used in Android and how does it differ from client-server database management systems?
It uses SQLite which is the open-source relational database. The engine in SQLite is server less, transactional and self-contained. The SQLite engine is integrally linked with the application instead of the traditional client-server relationship of most database management systems.
The library can also be called dynamically and makes use of simple function calls that reduce latency in database access.
To get enrolled in our Android Development course, click here.
What is an Android Runtime?
Android Runtime can be described as follows:
- It consists of Dalvik Virtual Machine (DVM) and Core Java libraries
- DVM is optimised for low processing power and low memory environments
- Unlike JVM, the DVM doesn’t run .class files, instead it runs .dex files
Explain the Sensors
Android-based devices have built-in sensors in them, which measure certain parameters such as motion, orientation and more. The sensors help in the monitoring of positioning and movement of the device through their high accuracy and can be both software and hardware-based in nature.
The three prominent categories of sensors in its devices are:
- Position Sensor: It is used to measure the physical position of the Android device. This includes orientation sensors and magnetometers
- Motion Sensors: These sensors include gravity, rotational activity and acceleration sensors which measure the rotation of the device or the acceleration and much more
- Environmental Sensor: It includes sensors that measure temperature, pressure, humidity and other environmental factors
Do all mobile phones support the latest Android operating system?
This question is generally asked to play a trick on the candidate. However, we suggest you answer this question on the basis of your knowledge and research. Because of some Android-powered phone enables you to upgrade to the higher Android operating system version. However, not all upgrades would allow you to get the latest version.
What is the significance of Android Interface Definition Language?
The Android Interface Definition Language, popularly known as AIDL facilitates the communication between the client and service. Data is often relayed between processes, for carrying out these transmissions, the data is split into small portions which can be easily recognised by the Android platform.
What do you mean by a Context?
A Context in Android, as its name indicates, refers to the context of the current state of your application or object. The context comes with a wide range of services including giving access to databases and preferences, resolving resources and many more. There are two types of context:
Activity Context: This context comes with the lifecycle of an activity. It should be used only when you are passing the context with respect to the scope of an activity or you require any context whose lifecycle is attached to the current context.
Application Context: This context also comes with the lifecycle of an application. The application context is used whenever you require a context whose lifecycle is distinct from the current context or at instances, when you need to pass a context beyond the scope of any activity.
How can you detect memory leaks in an application running on the Android platform?
Android Studio uses the Android Device Manager (ADM) to detect memory leaks in an application running on the Android platform. On opening the ADM in the Android Studio, you will find a set of parameters including heap size and memory analysis, and numerous other tools needed for running an application.
How to troubleshoot an application which crashes frequently?
If any Android application is crashing frequently, check the following aspects:
- Free Memory: Usually there is a restricted amount of space on mobile devices, you can free up some memory space so that the application functions properly.
- Compatibility Check: It might not be a hardware problem, rather it can be a software issue. It is not feasible to test an Android application on all hardware devices and OS systems. There might be a high probability that the application is not compatible with your OS. To resolve this, you can check the compatibility on the application’s Google Play Store page.
- Memory Management: A few applications run smoothly on one mobile device and crash on other devices. This is the sector where processing power, memory management and CPU speed comes into action. You need to check the application memory requirements if the application is frequently crashing.
- App Data Usage: In case an application is crashing frequently, you must delete the application’s data. This clears up its cache memory, also some free space on your device and will eventually enhance the app’s performance.
Name the four different launch modes in Android.
- Standard: This launch mode generates a new instance of the activity in the task from which it has originated. Developers are allowed to create multiple instances of the same activity, that can be added to the same or different tasks.
- SingleTop: This launch mode is analogous to the Standard launch mode, except for one restriction. Such that if there exists a previous instance of the activity on the top of the stack, the creation of a new instance will be inhibited.
- SingleTask: This launch mode always creates a new task and pushes a new instance to the task, marked as the root.
- SingleInstance: This launch mode is analogous to the SingleTask launch mode but the system cannot launch any new activities in the same task. Even if a new activity is launched, it is launched in a separate task.
What do you need to set up permissions in Android application development?
To maintain security and restrict plagiarism, the code is not made accessible to anyone, there are some restrictions imposed. The main objective is to avoid code compromise and defect leakage. Once you set the permissions, the code becomes accessible only to a handful of authorised users.
What does the term ANR in Android signify?
The term ANR is the abbreviation for Application Not Responding. Each time the application stops responding to the user’s action for a considerable time period, it is displayed as a notification by the Android OS.
What are the necessary components for creating a new Android Project?
For creating a new Android project, the below-mentioned components are required:
- Manifest: Contains the xml file.
- Build/: Contains build output, after each successful build.
- Res/: Contains the non-code resources such as bitmap images, vector assets, UI strings, colours and more.
- Src/: Contains the source code and resources.
- Assets/: Contains any file which can be converted into an .apk file
Which are the main components of the Android Architecture?
The Android architecture consists of four main components. These are:
- Linux Kernel
- Android applications
- Android Framework
What are the different states in an activity?
There are four different states in an activity.
- Active state: In this state, the activity is present in the foreground.
- Paused state: In this state, the activity is present in the background but is visible.
- Stopped state: In this state, the activity is in the background but is not visible or even hidden or obscures other activities.
- Destroyed state: In this state, the activity is completely terminated or killed or removed from the stack.
Frequently Asked Questions
You can check out the blog once again to understand what kind of questions are asked. In a nutshell, they’re essentially to test your problem solving and development skills.
Most of the mobile devices use Android as their operating system and hence, the demand of skilled Android engineers are only increasing.
An Android developer needs a stronghold over a programming language such as Java. He should also know his way around Android SDK and Android Studio. In addition to this, he should know how databases function with the application, how to make it secure and how to improvise the design.
An android developer should know Java, the programming language for android, understand XML, APIs and databases.
It depends largely on the capability and technical features of the phone, whether it can support the newer features available under the latest Android version.
Android Development is very easy to learn a skill, yet it promises a fruitful career opportunity. The average salary of an Android Developer in India is approximately Rs 8,00,000. The amount depends on several other factors including experience, location, job role, and skill set of the developer.
For getting a job as an Android Developer, make sure that you mention all the projects and skills you have worked on in your resume. Getting a job through an internship is also a good approach, as you will already be familiar with the working paradigm of the company. For the core Android part, you need to answer some theoretical questions, we have already covered most of them for you, so that you can easily get your job as Android Developer.
If you liked reading this article, then read more about Android here.