Economic Times in daily news displayed the current statistics on job openings:
“Over the last two years, job postings for mobile developers have doubled, yet the number of registered mobile developers is expected to grow by 13% annually till 2015 and a shortage of mobile developer talent is predicted.”
Android, the open source platform allows the developers to write apt codes for maintaining the look and functionality of mobile devices. Product companies, mobile R & D centers, gaming companies and media firms are companies hiring android developers and few of our current openings are, SignEasy, Streamoid, syncusUp, and Giftbig. These are our hiring partners whose sample interview queries have been given below for your better preparation.
There have been numerous posts on android application development and as to why it is important. But the beginners might have numerous queries and get troubled traversing through innumerable tabs for their answers. This post is meant for those readers who are novice to Android technology and want to have an idea about it.
Latest Interview Question and Answer for Android Jobs
1. What is Android? Describe the features it offers.[subscribelocker] Android is an open source operating system based on Linux. It is an innovative and useful platform to design, browse, download and update apps by the help of its extensive features.
The various features which Android supports are:
- Memory management: The power consumption is kept at a minimal. It suspends the activities inactive for a time when there is an indication of low memory thereby increasing its receptiveness.
- Connection: Offers technologies like EDGE, IDEN, CDMA, UMTS, Bluetooth, Wi-Fi and NFC.
- Storage: A light weight operating system which can store large amount of data.
- Language support: It offers a platform for multiple languages.
- Media: It is designed to support audio, video, still media in different formats like WebM, H.263, H.264, AAC, HE-AAC MPEG-4 SP, AMR, MP3, MIDI, FLAC, WAV, JPEG and PNG.
2. What are the different versions of Android available in the market?
Android is available in the market with many versions such as:
- Android Donut
- Android Eclair
- Android Froyo
- Android Gingerbread
- Android Honeycomb
- Android Icecream Sandwich
- Android Jellybean
- Android Key lime pie
All the names of these versions have been developed in an alphabetical order.
3. Why use Android over other technologies?
Android has dominated the app market due to the following reasons:
- Low price: Being open source Android doesn’t have any development fee and is free to deploy without any licensing fee.
- Easy accessibility: The supporting platforms being Linux, Mac Os, Windows provide easy access and core functionality for exquisite app development.
- Easy Import to third party: It has a simple Software development kit and imports easily to the third party Java.
- Re-usability of components: Components can be reused by the application framework.
- Range of mobile apps: Befitting technology giving a large number of options to the users and a variety of resources.
4. Describe the components of Android.
The various components of Android under its architecture are:
- SERVICES: Service is an application component running in background even on switching to different applications and not interacting with the user.
- INTENT: Intents performs operation on an activity or service and provides notification messages for the information of a particular state that has occurred to create awareness among the users of the present scenario.
- RESOURCE EXTERNALIZATION: such as strings or graphs.
- NOTIFICATIONS: Messages to alert the users regarding some activities or services using light, sound, dialog box or icons.
- CONTENT PROVIDERS: Sharing of data among various applications to access data uniformly.
5. What do you understand by Sticky Intent?
Stick Intent is a type of intent that enables communication between a function and a service. It is a broadcast from sendStickyBroadcast() method such that the intent is around even after the broadcast, allowing to collect data from it.
6. Which language is generally supported by Android for app development?
Java is the language most commonly used by the developers which is even ideal for the beginners having a Java background. We can program such apps using C/C++ using NDK and compiled using Android SDK.
7. Give the storage methods of Android or How is data stored in Android?
There are various ways to store data according to our needs:
- 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.
- Network Connection: Store data on the web with your own network server.
8. Give an overview of Android architecture
Android Architecture comprises of 4 key components:
- Linux Kernel
- Android Framework
- Android Applications
The Android Framework is an important aspect of the Android Architecture. Here one can find all the classes and methods that developers would need in order to write applications on the Android environment.
9. Describe the ANR status
ANR (Application Not Responding) is a dialog that appears to the user when an application has been unresponsive for quite an interval of time.
- Ø No response to an input with a time gap of 5 seconds.
- Ø Broadcast receiver doesn’t execute with a time gap of 10 seconds.
By creating a child thread where most of the actual working of the codes can be placed, results in the running of main threads with minimal interval of unresponsive times.
10. What is an activity? Differentiate Activities from Services
Activities refer to the opening to user-interface to facilitate interaction with the application and take a requisite action.
Activities can be closed or terminated anytime according to the user’s wishes. On the other hand, services are designed to run in the background and act independently. Most of the services run continuously, regardless of the execution of activities.
11. What are the three keys required while monitoring an activity?
- Entire lifetime – activity between onCreate and onDestroy.
- Visible lifetime – activity between onStart and onStop.
- Foreground lifetime – activity between onResume and onPause.
12. What are the four essential states of an activity?
- Active – foreground activity
- Paused – background activity and still visible
- Stopped – hidden or obscured activity which is not visible
- Destroyed – killed or completely terminated activity
13. What are the different states on which a process is based?
- Foreground activity: Activity which is the most important compared to the others and terminated at last only if it is consuming too much of memory.
- Visible activity: A visible activity is one that sits behind a foreground dialog. It is actually visible to the user, but not necessarily being in the foreground itself.
- Background activity: Activity that goes on behind the scenes i.e. the background.
- Empty process: Process that doesn’t hold any active application components responsible for caching purposes.
14. How will you launch an Activity within you application?
A. To launch an application, we need to create an intent that explicitly defines the activity that we wish to start.
Intent intent = new Intent(this, MyTestActivity.class);
– Copyright GeekInterview.co
15. Name the dialog boxes that you can use in Android application
- AlertDialog: 0-3 buttons to select elements including check boxes and radio buttons.
- ProgressDialog: Extension of the former to display the progress of a running application. Addition of buttons is also an option.
- DatePickerDialog: Allows the user to select the date.
- TimePickerDialog: Allows the user to the current time.
16. What are the different data types used by Android?
The data can interconnect between services and activities using the following data types:
- PRIMITIVE DATA TYPE: Data which isn’t treated as an object is of primitive type. It is inbuilt within the program and is named by a reserved keyword. They are used to share the activities and services of an application and provide simple implementation of the type.
- NON-PERSISTENT OBJECTS: User defined data types used to share complex and non-persistent object having a limited access. They have a unique identity but the complexity increases the delay time.
- Determination of the memory storage
- Determination of the literals stored
- Possibility of the operations on a variable type
17. What are the approaches required to share persistent user-defined objects?
Persistent objects is said to be existing when we encounter a running process and the system is allowed to perform any action like restart or kill. If any data persists and is required from another data then it is first necessary to save it and then share it so one activity which is down doesn’t hinder another activity. To share the complex persistent user-defined objects, the steps to be followed are:
- Application preferences: Allows the user to change the setting of preferences and make it accessible by some other objects.
- Files: Sets permissions on a file to use and share the objects.
- Content providers: Allows easy to follow patterns to permitting the user to select the object and share it with other functions.
- Database: Stores the user data and easily links between the user and the entity that are present in it.
18. What is an action?
An action is a description of what the intent sender desires to do or expects to get as a response. Most of the application functionality is based on the intended action.
19. What is a fragment? Can we use or add a fragment without using a user interface?
A fragment is a part or portion of user-interface in an activity. It is modular where we can combine multiple fragments to build a multi-pane UI and a fragment can be reused in multiple activities.
Yes, you can add or use a fragment such as when you want to create a background behavior for a particular activity you can do this by using add (Fragment, string) method to add a fragment from the activity.
20. What are containers?
Containers as the name signifies hold components (objects and widgets) together to design your application depending on the requirement of the items and their arrangement. They may accommodate labels, buttons, fields etc. In every layout, few components have a parent called containers.
21. Define APK format
APK file is compacted AndroidManifest.xml file that has .apk extension. Resource files, Application code and many other files are present in this format and are compressed to single file which has .apk extension. The APK file is compressed the AndroidManifest.xml file, application code (.dex files), resource files, and other files. A project is compiled into a single .apk file.
22. What are the steps to check status of an activity in Android?
The status of an activity can take two states: START or STOP. The start signifies an activity running. It means the execution of a process and an action being performed. Whereas the stop state signifies the dismissal of a process and no action is performed during this time. To see or check the status of an activity,
- NEW_TASK_LAUNCH flag : Tracks the activities in running state
- StartActivity() call: Command under which the flag resides and to bring back the activity in front of a running process.
The activity can be started remotely by using the remote services. These services permit easy interaction with the client and have a sample provided to show the local server.
23. How does Android system track the applications?
Each application is assigned a specific ID by the Android system called a Linux user ID. This ID helps us to track these applications. The assigning of these unique IDs run each application in isolation to the others providing each of them with different virtual machines. Each application is enforced at the process level through the kernel providing them only limited access to the operating system. The system runs an app when its components have to be executed and closes them when no longer in use.
24. What are the security measures that are followed to make Android secure?
Android follows many measures to secure its system. Android’s key security features are:
1. Security at the Operating System level through the Linux kernel
2. Mandatory application sandbox
3. Secure inter-process communication
4. Application signing
5. Application-defined and user granted permissions
- Doesn’t allow other applications to run on their system
- Ability to remove unnecessary or insecure parts of the kernel.
- Encryption of messages ensuring the security of phone.
- Doesn’t allow multiple users to access each other’s resources and uses sandbox giving limited access to sensitive information.
- Grants the operating system a secure mechanism, process isolation and application security scans which proves to be effective.
- User defined terms and agreement.[/subscribelocker]
25. Mention few disadvantages of Android
- An all-time GPRS connection to run the Android system.
- Being open source it’s always vulnerable.
- Release of different Android OS for different mobile devices doesn’t allow apps to adapt with all its versions.
- Apps are specific i.e. app running in one version may/may not run on another version.
- Trouble to develop apps to accommodate various screen size and forms.
- Wastage of memory due to a lot of background activities.
- Display of ads in an application though obtained for free.
Hope this post is upto the mark in respect of all your queries and I could give you an overview of the latest trend. If you are a mere beginner and aspiring for greater knowledge or planning to enroll into learning android development, we have Android Training Course.