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
Consider the following mode. How would you prevent a user that does not have "viewbook" permission from viewing books? (Assume the app name is library)
A: Invalid class definition: permissions can only be 'addbook', 'changebook' and 'deletebook'B: Performing a change in the view that displays available book: if user.hasperm('library.viewbook');C: Since permissions are defined in the model's Meta, Django's permission system takes care of this automatically.D: None of the above
"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 Django 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 - Django Developer, Python Developer.
Django online test is designed and validated by industry experts to help tech recruiters and hiring managers assess Django programming skills of the candidate. Top tech companies are using our Django programming test to reduce candidate screening time by 85%
The test is designed to filter out candidates for roles like
The test ensures candidates have following traits:
The Django test will consist of ~15 MCQs, 1 coding challenge and 1 debugging challenge crafted by experts in the Python/ Django and will cover a broad spectrum of topics within Django.
The exact number of questions and the topics will be chosen based on your job description and developer persona. Here are list of topics for reference:
(100% free to get started, no credit card required)
You can combine multiple skills relevant to your Job description into a single custom Adaface test. Here are some popular combinations for backend roles.
You can combine multiple skills relevant to your Job description into a single custom Adaface Django test. Here are some popular combinations for fullstack roles. Read more about how we design custom tests.
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.
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).
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 10000+ 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.
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
1. Get a custom assessment from
our library of 700+ skills within 48 hours
2. Start inviting candidates to
complete the assesment
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Django’s primary goal is to ease the creation of complex database-driven websites. Some well known sites that use Django include PBS, Instagram, Disqus, Washington Times, Bitbucket and Mozilla.
Django developers and programmers are often highly skilled independent professionals with expertise in a wide variety of projects. Good Django developers and programmers are capable of creating dynamic and secure websites for nearly any purpose.
A typical Django developer's responsibilities include:
Candidates who pass Adaface Django Online test can be taken for second round interviews directly. Here are some interview questions for intermediate and experienced candidates:
Django follows the MVT or Model View Template architecture whcih is based on the MVC or Model View Controller architecture. The main difference between these two is that Django itself takes care of the controller part.
According to Django, the 'view’ basically describes the data presented to the user. It does not deal with how the data looks but rather what the data actually is. Views are basically callback functions for the specified URL’s and these callback functions describe which data is presented.
The 'templates’ on the other hand deal with the presentation of data, thereby, separating the content from its presentation. In Django, views delegate to the templates to present the data.
The 'controller’ here is Django itself which sends the request to the appropriate view in accordance with the specified URL. This is why Django is referred to as MTV rather than MVC architecture.
Mixin is a type of multiple inheritance wherein you can combine behaviors and attributes of more than one parent class. Mixins provide an excellent way to reuse code from multiple classes. For example, generic class-based views consist of a mixin called TemplateResponseMixin whose purpose is to define render_to_response() method. When this is combined with a class present in the View, the result will be a TemplateView class.
One drawback of using these mixins is that it becomes difficult to analyze what a child class is doing and which methods to override in case of its code being too scattered between multiple classes.
A cookie is a small piece of information which is stored in the client browser. It is used to store user's data in a file permanently (or for the specified time). Cookie has its expiry date and time and removes automatically when gets expire. Django provides built-in methods to set and fetch cookie.
The set_cookie() method is used to set a cookie and get() method is used to get the cookie. The request.COOKIES['key'] array can also be used to get cookie values.
Django is called a loosely coupled framework because of its MVT architecture, which is a variant of the MVC architecture. It helps in separating the server code from the client-related code. Django’s models and views take care of the code that needs to be run on the server like getting records from database, etc., and the templates are mostly HTML and CSS that just need data from models passed in by the views to render them. Since these components are independent of each other, Django is called a loosely coupled framework.
We should do that whenever we create or make changes to the models of one of the apps in our project. This is because a migration is used to make changes to the database schema, and it is generated based on our models.
We inherit from django.test.LiveServerTestCase. It launches a live Django server in the background on setup and shuts it down on teardown. This allows the use of automated test clients, e.g., the Selenium client, to execute a series of functional tests inside a browser and simulate a real user’s actions.
In case some user requests a page from some Django powered site, the system follows an algorithm that determines which Python code needs to be executed. Here are the steps that sum up the algorithm:
Session framework in django will store data on server side and interact with end-users. Session is generally used with a middle-ware. It also helps in receiving and sending cookies for authentication of a user.
Yes, method calls are possible in templates itself. it’s the same thing as accessing an attribute from an object or dictionary.
Signals are messages for applications. The signals are present to transmit the occurring of an event. They can notify other apps that a particular event has occurred. These are pretty useful when the applications exist which are interested in a mutual event.
There are events like saving data in the database like deleting something from the database. There are various backend actions that are performed. Signals are core functionality and may not be used in every project. Still, it’s nice to have an application that can help us use it.
Unlike the MVT, the MVC frameworks comprise a Model, View, and Controller. In MVT, Django processes the user requests on the model and then creates the template for responses. Here there are no external controllers required. The Django framework itself becomes the controller.
Django allows you to design your own URLs however you like. The aim is to maintain a clean URL scheme without any framework limitations. In order to create URLs for your app, you will need to create a Python module informally called the URLconf or URL configuration which is pure Python code and is also a mapping between the URL path expressions to the Python methods. The length of this mapping can be as long or short as required and can also reference other mappings. When processing a request, the requested URL is matched with the URLs present in the urls.py file and the corresponding view is retrieved.
It is true that the template system shall not be given access to some methods. Methods that can change data in the database are one of them. To prevent the execution of the method, we can keep a lock on the method definition itself.
DTL also checks for some variables in methods automatically. The variable we want to put in our method is alters_data = True. If we keep that variable in our method, the template system won’t render it. Instead, it will treat the context variable as an invalid variable.
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