Adaface is the most candidate friendly skills assessment tool on the market. Learn more.

Android Online Assessment Test

Android Online Assessment Test

Evaluate aptitude, technical and coding skills with Adaface skills assessment platform powered with an intelligent chatbot

Evaluate aptitude, technical and coding skills with Adaface skills assessment platform powered with an intelligent chatbot
Morgan Stanley
SG Government
Ernst and Young
Optimum Solutions
United Nations
Love Bonito


- ブランドン・リー、人々の頭、愛、ボニート

Start using conversational Android Online Assessment Test for the most accurate and candidate friendly screening today
Start using conversational Android Online Assessment Test for the most accurate and candidate friendly screening today
Customized assessments for every experience level
Customized assessments for every experience level

Customized by subject matter experts to cater to job roles for all experience levels (fresh grads to 8-10 years) within your organization.

Higher test taking rate compared to traditional tests
Higher test taking rate compared to traditional tests

Adaface assessments have an average test taking rate of 86% as compared to an industry standard of 50%.

Accurate evaluation using on-the-job, non-tricky questions
Accurate evaluation using on-the-job, non-tricky questions

Adaface assessments have relevant questions that test for on-the-job skills. We do not expect candidates to solve puzzles/ trick questions.

Java JavaScript C++ C C# PHP Python React Angular Django Android iOS SQL MySQL HTML/CSS NodeJS Excel Data Interpretation Logical Reasoning Quantitative Aptitude Check out 700+ skills

Sample Android Online Test Question

Defined below is a single Activity (Assume that the orientation changes are not restricted on the device). The user opens the Activity and then rotates the device. Which of these entries will be written to the log after the device is rotated?

Sample Android Online Test Question

Sample Android Online Test Question

A: value: Earth staticValue: Table savedValue: null

B: value: Earth staticValue: Chair savedValue: 2

C: value: Earth staticValue: Chair savedValue: 1

D: value: Moon staticValue: Table savedValue: 1

E: value: Moon staticValue: Chair savedValue: 2

F: value: Earth staticValue: Table savedValue: 2

Get a detailed scorecard with section wise breakdown and a pass/ fail recommendation

Get a detailed scorecard with section wise breakdown and a pass/ fail recommendation

Trusted by companies worldwide

Trusted by companies worldwide


- 人事部長、シンガポール政府

Everything you need to know about Android Online Assessment Test 👇

Everything you need to know about Android Online Assessment Test 👇

Adaface Android Online will be customized to accurately evaluate on-the-job skills required for your role.

Data Types Threads Servlets General Aptitude OOPs classes multithreading responsiveness configuration battery life optimization views layouts Core Java services API lifecycle

Sample topics for Android proficiency and skills test

  • Home Automation System using Arduino Uno
  • IoT-based Notification System
  • Android Bluetooth-based Chatting App
  • Smart Travel Guide Application
  • Android-based Function Generator
  • Software-defined Radio
  • Surveillance Camera
  • Android Controlled Robot

How Adaface can help you reinvent the hiring process

  • Anti-cheating hiring assessment test
  • Detailed reports of the assessment
  • Candidate friendly hiring assessment test
  • Reduces administrative oversight required for hiring 

(100% free to get started, no credit card required)

Why You Should Use This Android Test

The Android Online test helps recruiters and hiring managers to identify qualified candidates from a pool of resumes, and helps in taking objective hiring decisions. It reduces the administrative overhead of interviewing too many candidates and saves expensive engineering time by filtering out unqualified Android programmer candidates.

The Adaface Android Online test screens candidates for the typical skills recruiters look for in an Android programmer:

  • Experience of designing, building, and maintaining high performance, reusable, and reliable Java/ Kotlin code
  • Experience with bug fixing and improving application performance
  • OOPs fundamentals
  • Familiarity with Android UI design principles and patterns
  • Experience with unit testing and UI testing tools
  • Experience with SQL
  • Familiarity with asynchronous programming 

The insights generated from this assessment can be used by recruiters and hiring managers to identify the best candidates for the role. Anti-cheating features enable you to comfortably conduct assessments online. The Android developer test is ideal for helping recruiters identify which candidates have the technical skills to do well on the job.

About This Test

How long will the assessment be?

The assessment will have 20 multiple choice questions (MCQ) and will take ~45 minutes. We can also combine multiple skills into one assessment.

How is the assessment customized?

We use multiple factors to customize the assessment to your role:

  • Seniority level of the role: The seniority level of the role decides which concepts are more important to test. Simply increasing the difficulty level of the test does not necessarily make it more suited for a more senior role.
  • Combining multiple skills into one test: If you're looking for a Full Stack Engineer who knows ReactJS on the frontend, and NodeJS on the backend and can work with CSS, we'll set up an assessment with questions on JavaScript, NodeJS, ReactJS, HTML and CSS.
  • Ideal candidate persona: We try and understand what is the ideal candidate that you are looking for. For e.g. For a tech role- is there a focus on algorithms? That decides what type of coding challenges we use.

(100% free to get started, no credit card required)

Score Distribution

You should expect ~20% of the candidates to do well on Adaface assessments.

The score distribution for our assessments follow the normal curve. This is a good sign- standardized tests like SAT and GRE follow the normal distribution (bell curve).

Status quo assessments typically have the exact opposite of the bell curve (too many candidates getting close to 0, too many candidates getting close to 100 and too few candidates in the middle). This is typically because they focus on theoretical questions or trick questions, which are very binary in nature- either you know the trick/ theory or you don’t.


What is a custom assessment?

Every role is different and requires a custom assessment to identify top candidates efficiently. Adaface subject matter experts understand your job description/ role requirements and pick the most relevant questions from our library of 10000+ questions to create a technical assessment that helps you find the qualified candidates in your candidate pipeline quickly. All custom assessments are set up based on the job description, role requirements, must-have skills, experience level and salary range within a maximum of 48 hours and you will get an email notification once it goes live.

Check out a sample assessment here (no credit card required).

Can I combine multiple skills into one custom assessment?

Yes, absolutely. Custom assessments are set up based on your job description, and will include questions on all must-have skills you specify.

How is Adaface different from other assessment tools?

We believe that status quo tech assessment platforms are not a fair way for companies to evaluate engineers because they focus on trick questions/ puzzles/ niche algorithms. We started Adaface to help companies find great engineers by assessing on-the-job skills required for a role. Read more about why we started Adaface.

Here's what's different with Adaface:

  1. High quality non-googleable questions that test for on-the-job skills as opposed to theoretical knowledge.
  2. A friendly conversational assessment with a chatbot, instead of sending a "test" to a candidate. This translates to a higher completion rate. Adaface assessments (86% candidate completion rate), as opposed to traditional tests (40-50% candidate completion rate)
  3. Customized assessments for 700+ skills at different experience levels.
Do you have any anti-cheating features in place?

We have the following anti-cheating features in place:

  1. Web proctoring
  2. Webcam proctoring
  3. Plagairism detection
  4. Non-googleable questions
  5. Secure browser

How do I interpret test scores?

The primary thing to keep in mind is that an assessment is an elimination tool, not a selection tool. As in an assessment is optimizing to help you eliminate candidates who are not technically qualified for the role, it is not optimized to help you find the best candidate for the role. So the ideal way to use an assessment is to decide a threshold score (typically 60%, we help you benchmark) and invite all candidates who score above the threshold for the next rounds of interview.

What experience level can I use this test for?

Each Adaface assessment is customized to your job description/ ideal candidate persona (our subject matter experts will pick the right questions for your assessment from our library of 10000+ questions). This assessment can be customized for any experience level.

Does every candidate get the same questions?

Yes, it makes it much easier for you to compare candidates. Options for MCQ questions and the order of questions are randomized. We have anti-cheating features in place. In our enterprise plan, we also have the option to create multiple versions of the same assessment with questions of similar difficulty levels.

I'm a candidate. Can I try a practice test?

No. Unfortunately, we do not support practice tests at the moment.

What is the cost for using the Android Online?

You can check out our pricing plans here.

Can I get a free trial?

You can sign up for free and check out the platform here. The dashboard has a sample assessment for you to review the quality of questions and check out the candidate experience of a chat based assessment. Since our questions are premium, we are unable to share sample questions for a particular skill/ technology. You can also review our sample public questions here.

I just moved to a paid plan. How can I request a custom assessment?

Check out our quick guide on requesting a custom assessment here.

About The Android Job Roles

Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets.

An Android Developer is a Software Developer who specializes in designing applications for the Android marketplace. The Android marketplace is the direct competitor to Apple’s app store. Most of an Android programmer's job revolves around creating the apps we use on our smartphones and tablets. Android Developers can either work in-house for a large organization, or they can be employed by an App Development agency.

Typical responsibilities of an Android programmer include:

  • Translate designs and wireframes into high quality code
  • Ensure the best possible performance, quality, and responsiveness of the application
  • Unit-testing code for robustness, including edge cases, usability, and general reliability
  • Work with outside data sources and API's.
  • Work on bug fixing and improving application performance.
  • Work with product managers and UI/UX designers to create a secure, seamless mobile experience.

The test is designed to filter out candidates for roles like:

  • Android Programmer
  • Android Developer
  • Junior Android Developer
  • Mobile Developer
  • Java Developer
  • Backend Developer

Interview Questions

Once a candidate passes Adaface Android test, they can be taken directly to second round interviews. Here are some interview questions for Android to be asked in in-person rounds:

What’s the difference between onCreate() and onStart()?

The onCreate() method is called once during the Activity lifecycle, either when the application starts, or when the Activity has been destroyed and then recreated, for example during a configuration change.

The onStart() method is called whenever the Activity becomes visible to the user, typically after onCreate() or onRestart().

What is a ThreadPool? And is it more effective than using several separate Threads?

ThreadPool consists of a task queue and a group of worker threads, which allows it to run multiple parallel instances of a task.

Using ThreadPool is more efficient than having multiple operations waiting to run on a single thread, but it also helps you avoid the considerable overhead of creating and destroying a thread every time you require a worker thread.

How to prevent the data from reloading and resetting when the screen is rotated?

The most basic approach would be to use a combination of ViewModels and onSaveInstanceState() . So how we do we that?

Basics of ViewModel: A ViewModel is LifeCycle-Aware. In other words, a ViewModel will not be destroyed if its owner is destroyed for a configuration change (e.g. rotation). The new instance of the owner will just re-connected to the existing ViewModel. So if you rotate an Activity three times, you have just created three different Activity instances, but you only have one ViewModel.

So the common practice is to store data in the ViewModel class (since it persists data during configuration changes) and use OnSaveInstanceState to store small amounts of UI data.

For instance, let’s say we have a search screen and the user has entered a query in the Edittext. This results in a list of items being displayed in the RecyclerView. Now if the screen is rotated, the ideal way to prevent resetting of data would be to store the list of search items in the ViewModel and the query text user has entered in the OnSaveInstanceState method of the activity.

What is the difference between AsyncTasks & Threads?

Thread should be used to separate long running operations from main thread so that performance is improved. But it can’t be cancelled elegantly and it can’t handle configuration changes of Android. You can’t update UI from Thread.

AsyncTask can be used to handle work items shorter than 5ms in duration. With AsyncTask, you can update UI unlike java Thread. But many long running tasks will choke the performance.

When is the best time to kill a foreground activity?

The foreground activity, being the most important among the other states, is only killed or terminated as a last resort, especially if it is already consuming too much memory. When a memory paging state has been reach by a foreground activity, then it is killed so that the user interface can retain its responsiveness to the user.

What is the relationship between the life cycle of an AsyncTask and an Activity? What problems can this result in? How can these problems be avoided?

An AsyncTask is not tied to the life cycle of the Activity that contains it. So, for example, if you start an AsyncTask inside an Activity and the user rotates the device, the Activity will be destroyed (and a new Activity instance will be created) but the AsyncTask will not die but instead goes on living until it completes.

Then, when the AsyncTask does complete, rather than updating the UI of the new Activity, it updates the former instance of the Activity (i.e., the one in which it was created but that is not displayed anymore!). This can lead to an Exception (of the type java.lang.IllegalArgumentException: View not attached to window manager if you use, for instance, findViewById to retrieve a view inside the Activity).

There’s also the potential for this to result in a memory leak since the AsyncTask maintains a reference to the Activty, which prevents the Activity from being garbage collected as long as the AsyncTask remains alive.

For these reasons, using AsyncTasks for long-running background tasks is generally a bad idea . Rather, for long-running background tasks, a different mechanism (such as a service) should be employed.

Briefly describe some ways that you can optimize View usage.

There are a number of methods, but the ones that tend to have the most impact are:

  • Checking for excessive overdraw: install your app on an Android device, and then enable the "Debug GPU Overview" option.
  • Flattening your view hierarchy: inspect your view hierarchy using Android Studio’s ‘Hierarchy Viewer’ tool.
  • Measuring how long it takes each View to complete the measure, layout, and draw phases. You can also use Hierarchy Viewer to identify any parts of the rendering pipeline that you need to optimize.
How do you supply construction arguments into a Fragment?

Construction arguments for a Fragment are passed via Bundle using the Fragment#setArgument(Bundle) method. The passed-in Bundle can then be retrieved through the Fragment#getArguments() method in the appropriate Fragment lifecycle method.

It is a common mistake to pass in data through a custom constructor. Non-default constructors on a Fragment are not advisable because the Fragment may be destroyed and recreated due to a configuration change (e.g. orientation change). Using #setArguments()/getArguments() ensures that when the Fragment needs to be recreated, the Bundle will be appropriately serialized/deserialized so that construction data is restored.

How will you pass data to sub-activities?

We can use bundles to pass data to sub-activities. There are HashMaps that take trivial data types. These bundles transport information from one activity to another.

When should you use a Fragment, rather than an Activity?

This is still a much-debated topic, but the code used to create an Activity is fundamentally more involved than the code used to create a Fragment. The old Activity has to be destroyed, paused or stopped, and a new Activity has to be created. The developer should acknowledge that the best practice is to only use Activities when you need to swap the entire screen, and use fragments everywhere else. In the following use case you should almost always use a Fragment, rather than an Activity:

  • When you’re working with UI components or behavior that you’re going to use across multiple Activities.
  • When you’re using one of the navigational methods that are closely linked to fragments, such as swipe views.
  • When your users would benefit from seeing two different layouts side-by-side.
  • When you have data that needs to persist across Activity restarts (i.e you need to use retained fragments).
How do you troubleshoot the android application which is crashing frequently?

These are a few steps that we need to follow while troubleshooting the crashing issue:

  • Free up memory space: There is only limited space available on mobile devices for mobile apps. To avoid crashing issues or memory-related issues, you need to first check the memory space.
  • Clear app data usage: You can clear the app data using the Application Manager under “Settings”. This will clear the cache memory and allow some free space to install another app or it will boost up your current app.
  • Memory Management: Some apps run perfectly on one type of mobile device but the same app may not work on another type of device as for such devices the processing power, memory management, and CPU speed is different. For any app to run properly on any type of mobile device, you should manage the memory on the device.
  • Compatibility issue: It is always not possible to test mobile apps on all mobile devices, browsers, operating systems, etc. So you need to test your mobile app on as many mobile devices as you can in order to avoid any compatibility issue.
What are activities? Describe the lifecycle of an activity.

Activities in Android are containers/windows to the UI. The lifecycle of an activity is as follows:

  • OnCreate(): Here, the views are created and data is collected from bundles.
  • OnStart(): It is called if the activity is visible to the user. It may be succeeded by onResume() if the activity reaches the foreground and onStop() if it converts into hidden.
  • OnResume(): It is called when the activity starts an interaction with the user.
  • OnPause(): This is called when the activity is going to the background but hasn’t been killed yet.
  • OnStop(): This is called when you are no longer visible to the user.
  • OnDestroy(): Called when the activity is finishing
  • OnRestart(): Called after the activity has been stopped, prior to it being started again
How do you find memory leaks in an application on the Android platform?

To find memory leaks in an application on Android, the Android Device Manager (ADM) is used by the Android Studio. When you open ADM in Android Studio, you can see parameters such as heap size and memory analysis along with many others while you run an application.

What’s the difference between an implicit and an explicit intent?

An explicit intent is where you tell the system which Activity or system component it should use to respond to this intent. Implicit intents allow you to declare the action you want to perform; the Android system will then check which components are registered to handle that action.


(100% free to get started, no credit card required)

How do I use this?
How do I use this?

Start screening within minutes with Adaface ready-to-go tests

Start screening within minutes with Adaface ready-to-go tests

1. Choose the most appropriate test for your role

2. Start inviting candidates to complete the assessment

3. Receive real time notifications and shortlist the best candidates


Customize the test with multiple skills/ seniority levels according to your job description

Customize the test with multiple skills/ seniority levels according to your job description

1. Get a custom assessment from our library of 700+ skills within 48 hours

2. Start inviting candidates to complete the assesment

3. Receive real time notifications and shortlist the best candidates

What Are Conversational Assessments
What Are Conversational Assessments

Conversational assessments are the most candidate friendly way to get insights into a candidate's on-the-job skills and suitability for a role, while providing for a delightful candidate experience. Candidates love conversational assessments because they are fast, intuitive and feel like an interview rather than a test.

traditional assessments cons

Tired of traditional assessments with trick questions and low completion rates?

conversational assessments pros

Adaface conversational assessments are reflective of on-the-job skills and see an 86% completion rate as compared to ~50% for traditional assessment platforms.

Test multiple skills in a single assessment customized for your job description
Test multiple skills in a single assessment customized for your job description

We evaluated several of their competitors and found Adaface to be the most compelling. Great default library of questions that are designed to test for fit rather than memorization of algorithms.

swayam profile image
CTO, Affable
Use the most candidate friendly assessment tool


The most candidate friendly assessment tool on the market
条項 プライバシー Trust Guide