Skills assessment platform to identify qualified developers accurately using an intelligent chatbot with in-built code editor
Remote pair programming tool with shared code editor, compiler and audio/video call
Logical Reasoning, Numerical Reasoning, Verbal Reasoning, Data Interpretation, Critical Thinking, Data Analysis and 20+ other aptitude tests
Spring, NodeJS, Django, ReactJS, HTML/CSS, Android and 25+ other popular frameworks
SQL, MySQL, MSSQL, PostgreSQL and 15+ other database skills
English, Excel, Business Analyst and Accounting
Get started for free
"With Adaface, we were able to optimise our initial screening process by upwards of 75%, freeing up precious time for both hiring managers and our talent acquisition team alike!"
- Brandon Lee, Head of People, Love, Bonito
Customized by subject matter experts to cater to job roles for all experience levels (fresh grads to 8-10 years) within your organization.
Adaface assessments have an average test taking rate of 86% as compared to an industry standard of 50%.
Adaface assessments have relevant questions that test for on-the-job skills. We do not expect candidates to solve puzzles/ trick questions.
Sample Coding Conversation with Ada
"The hiring managers felt that through the technical questions that they asked during the panel interviews, they were able to tell which candidates had better scores, and differentiated with those who did not score as well. They are highly satisfied with the quality of candidates shortlisted with the Adaface screening."
- Human Resources Manager, Singapore Government
Adaface Android Online Test will be customized to accurately evaluate on-the-job skills required for your role.
This assessment test is useful when you are hiring candidates for roles like - Android Programmer, Android Developer, Junior Android Developer, Mobile Developer, Java Developer, Backend Developer.
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:
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.
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
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
The assessment will have 20 multiple choice questions (MCQ) and will take ~45 minutes. We can also combine multiple skills into one assessment.
We use multiple factors to customize the assessment to your role:
(100% free to get started, no credit card required)
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- tandardized 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.
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 5000+ 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).
Yes, absolutely. Custom assessments are set up based on your job description, and will include questions on all must-have skills you specify.
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 what we do differently at Adaface here.
We have the following anti-cheating features in place:
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 developer 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.
Each Adaface assessment is customized to your job description/ ideal developer persona (our subject matter experts will pick the right questions for your assessment from our library of 5000+ questions). This assessment can be customized for Java developer roles for any experience level (unless the role is primarily a leadership/ non-programming role, we do not recommend you a use any automated assessments in that case).
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.
No. Unfortunately, we do not support practice tests at the moment.
Please get in touch, we'll create a custom plan for you based on the number of assessments you need.
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.
Check out our quick guide on requesting a custom assessment here.
You request a custom assessment via the dashboard.
Our subject matter experts review your assessment request and select the right questions to evaluate candidates for that role from our library of 5000+ questions.
You get an email when the assessment is ready for use (within a maximum 48 hours of creating the request).
Voila! You can start inviting candidates. You can read more about custom assessments here.
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:
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:
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().
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.
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.
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.
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.
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.
There are a number of methods, but the ones that tend to have the most impact are:
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.
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.
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:
These are a few steps that we need to follow while troubleshooting the crashing issue:
Activities in Android are containers/windows to the UI. The lifecycle of an activity is as follows:
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.
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.
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.
Tired of traditional assessments with trick questions and low completion rates?
Adaface conversational assessments are reflective of on-the-job skills and see an 86% completion rate as compared to ~50% for traditional assessment platforms.
Everything you need to know to implement a coding test in your hiring process.
(100% free to get started, no credit card required)
32 Carpenter Street, Singapore 059911
Contact: +65 9447 0488
Innov8 Coworking, 20th Main Rd, 7th Block, Koramangala, Bangalore, Karnataka, India 560095
Contact: +91 6305713227