Search test library by skills or roles
⌘ K

About the test:

The Solidity Coding Online Test is designed to assess candidates' proficiency in the Solidity programming language, which is used to write smart contracts on the Ethereum blockchain. The test uses scenario-based MCQs to evaluate candidates' knowledge of key Solidity concepts, including data types, control structures, and function and event handling, their understanding of contract deployment, debugging, and security considerations. The test aims to assess a candidate's ability to write efficient and secure smart contracts using Solidity.

Covered skills:

  • Solidity programming language
  • Smart contracts
  • Cryptocurrency
  • Tokenomics
  • Solidity data types
  • Contract deployment
  • Blockchain
  • Ethereum
  • Decentralized applications
  • Blockchain security
  • Error handling in Solidity
  • Solidity testing

Try practice test
9 reasons why
9 reasons why

Adaface Solidity Assessment Test is the most accurate way to shortlist Blockchain Developers



Reason #1

Tests for on-the-job skills

The Solidity Test helps recruiters and hiring managers 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 time by filtering out unqualified candidates at the first step of the hiring process.

The test screens for the following skills that hiring managers look for in candidates:

  • Proficient in Solidity programming language
  • Knowledge of Blockchain technology and its applications
  • Understanding of smart contracts and their implementation in Solidity
  • Familiarity with Ethereum and its ecosystem
  • Understanding of cryptocurrency concepts and their implications in Solidity
  • Knowledge of developing decentralized applications (DApps)
  • Understanding of tokenomics and token creation in Solidity
  • Awareness of blockchain security best practices
  • Ability to work with Solidity data types effectively
  • Experience in error handling and exception management in Solidity
  • Understanding of contract deployment process
  • Proficient in Solidity testing techniques
Reason #2

No trick questions

no trick questions

Traditional assessment tools use trick questions and puzzles for the screening, which creates a lot of frustration among candidates about having to go through irrelevant screening assessments.

View sample questions

The main reason we started Adaface is that traditional pre-employment assessment platforms are not a fair way for companies to evaluate candidates. At Adaface, our mission is to help companies find great candidates by assessing on-the-job skills required for a role.

Why we started Adaface
Try practice test
Reason #3

Non-googleable questions

We have a very high focus on the quality of questions that test for on-the-job skills. Every question is non-googleable and we have a very high bar for the level of subject matter experts we onboard to create these questions. We have crawlers to check if any of the questions are leaked online. If/ when a question gets leaked, we get an alert. We change the question for you & let you know.

How we design questions

These are just a small sample from our library of 10,000+ questions. The actual questions on this Solidity Test will be non-googleable.

🧐 Question

Medium

Delegated Contract Execution
Delegatecall
Modifiers
Contract Security
Try practice test
In the Solidity code provided, there are two contracts: MainContract and HelperContract. MainContract uses delegatecall to execute a function in HelperContract. Carefully analyze the code and determine the outcome of specific operations.
 image
After deploying both contracts and setting the HelperContract address in MainContract, what will be the result of calling setHelperVars(100) from an EOA (Externally Owned Account)?
A: Only HelperContract's state is modified.
B: Only MainContract's state is modified.
C: States of both MainContract and HelperContract are modified.
D: Transaction fails due to the onlyOwner modifier in MainContract.
E: MainContract's sender and value are modified, but num remains unchanged.
F: HelperContract's sender and value are modified, but num remains unchanged.

Medium

Functions and arguments
Fallback functions
Try practice test
Review the following Solidity code:
 image
We want to add a fallback function to the contract. Pick the correct fallback function and correct statements:
 image
E: Fallback function is executed if contract receives plain Ether without any data
F: Fallback function is executed if caller calls a function that is not available
G: If multiple unnamed functions are defined for a contract, the cheapest function is used as fallback function

Easy

Private and Internal
Smart Contracts
Contract Inheritance
Try practice test
Review the following Solidity code:
 image
Pick the correct statements:

A: private increment function defined in contract_e is accessible in derived contract d_c but not accessible outside the derived contracts.
B: private increment function defined in contract_e is accessible only inside contract_e and not accessible to derived contracts as well.
C: internal variable str defined in contract_e is accessible in derived contract d_b but not outside the derived contracts.
D: internal variable str defined in contract_e is accessible only inside contract_e and not accessible to derived contracts as well.

Medium

Smart Contract Interaction
Contract Interaction
Gas Usage
Error Handling
Try practice test
You are reviewing a set of two interacting Solidity smart contracts, `ContractA` and `ContractB`. `ContractA` calls a function in `ContractB`, which in turn updates state variables in both contracts. Your task is to determine the correct behavior and gas usage implications based on the pseudo code provided:
 image
The contracts are deployed correctly, and `ContractB` is initialized with the address of `ContractA`. Consider what happens when `incrementBoth` function of `ContractB` is called.
A: Only `ContractB`'s count is incremented; `ContractA`'s count remains unchanged.
B: Both `ContractA` and `ContractB`'s counts are incremented, with higher gas costs due to inter-contract calls.
C: Transaction fails due to lack of error handling in `ContractB`.
D: Gas optimization is achieved due to internal transaction handling.
E: `ContractA`'s count is incremented twice due to recursive call.
F: `ContractA`'s count is not incremented due to `external` keyword restriction.

Medium

51% Attacks
Try practice test
A 51% attack is perhaps the most discussed threat to any public Blockchain asset. A 51% attack happens when a certain miner or mining pool, that owns more than 50% of all the network’s hashing power, acts maliciously to disturb the network’s operation.
For example: Two Bitcoin Cash mining pools, carried out a 51% attack on the Bitcoin Cash blockchain in order to stop an unknown miner from taking coins that they weren’t supposed to have access to, while the network forked.
Which of the following CAN be done by a miner employing a 51% attack?

A: Double spend their coins
B: Reverse confirmed transactions
C: Steal funds from a certain address
D: Prevent transactions from being confirmed
E: Create false transactions that never happened

Easy

Evidence
Try practice test
Breed Chasing, solo engineer is planning to create new cryptocurrency, NEWCRAIGLIST and build a blockchain that facilitates buying and selling second-hand items with NEWCRAIGLIST from each other. Breed expects the platform to be used for international transactions and devised the following process:

- Before a transaction is considered complete, the purchaser must put the funds in an escrow service
- The sender must enter the courier tracking number into that same escrow
Palmart, toy store giant in US is asked by lawmakers to provide evidence that proves the store’s toys are not produced through child labour. Palmart’s toys are transferred between 7 parties between creation and placement at the store. Palmart is considering using blockchain to solve this problem. Discretion in the reading and writing of transactions is highly important to the store chain to protect its proprietary interests. Review the following possible solutions and pick the best approach that solves Palmart’s problem:
Option A:
Use a public blockchain that supports assets.
Then create a new toy asset for each item created. 
When the toy is transferred to the next party, mandate that the associated blockchain asset to be transferred to the next party's blockchain account with required metadata.
Lawmakers can now view transactions and transfers at any time.

Option B: 
Use a permissioned blockchain.
Require that every party involved in the process to host a node on the Palmart's network. 
Create a new toy asset for each item created. 
When the toy is transferred to the next party in the process, have the previous party use a web portal to initialize a chain code Smart Contract to transfer control of the asset. 
When the next party receives the asset have them use a web portal to initialize a chain code Smart Contracts to acknowledge receipt of the asset. 
Provide read-only permissions to the lawmakers so they can receive the evidence they are looking for.

Medium

Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications
Try practice test
Consider a blockchain ecosystem where a decentralized application (dApp) is designed to operate across two different blockchains: Blockchain A, which uses a unique smart contract language and execution environment, and Blockchain B, which supports Ethereum Virtual Machine (EVM) compatible smart contracts. The dApp includes a cross-chain functionality where certain actions triggered in Blockchain A's smart contract result in specific operations in a smart contract on Blockchain B. The interoperability is facilitated through a decentralized oracle that verifies and relays information between the two blockchains. Given this setup, which of the following statements most accurately reflects the challenges and considerations in implementing this dApp's cross-chain functionality?
A: Cross-chain functionality cannot be achieved due to the different smart contract languages and execution environments.
B: The decentralized oracle introduces a single point of failure, compromising the security of the dApp.
C: Synchronizing state between the two blockchains is seamless and does not introduce any additional latency.
D: The dApp can maintain consistency and atomicity in transactions across the blockchains, but it faces challenges in data validation and oracle reliability.
E: Smart contract execution on Blockchain B is entirely dependent on the state of the smart contract on Blockchain A.
F: The interoperability poses no significant challenges, as EVM compatibility ensures seamless cross-chain communication.

Medium

Strategic Tokenomics
Tokenomics
Cryptocurrency Economics
Try practice test
A new cryptocurrency, CryptoX, has a fixed total supply of 100 million tokens. Its initial release of 40 million tokens is distributed as follows: 10 million for development, 15 million for a decentralized autonomous organization (DAO) treasury, and 15 million for staking rewards. The remaining 60 million tokens are locked, with a scheduled release decreasing by 10% each year. CryptoX also has a deflationary mechanism where 0.1% of each transaction is burned.

During a market downturn, CryptoX's price drops by 30% in a month. Market analysis attributes this drop primarily to increased token selling by short-term holders, influenced by a broader market downturn in cryptocurrencies. CryptoX's community is considering responses to stabilize the price and reassure long-term investors. Two strategies are proposed:

1) Increase the transaction burn rate to 0.2%, hoping to reduce the circulating supply faster and create a deflationary pressure.
2) Maintain the current tokenomics, believing that the downturn is part of normal market fluctuations and that the existing mechanisms are robust enough for long-term stability.

Given the market analysis and the nature of the downturn, which strategy is more likely to effectively stabilize CryptoX’s price while maintaining long-term value?
A: Increase the transaction burn rate to 0.2%.
B: Maintain the current tokenomics without any changes.
C: Temporarily suspend the transaction burn mechanism.
D: Increase the release rate of the locked tokens.
E: Implement a dynamic burn rate that adjusts with market conditions.
F: Introduce a temporary buyback and burn program.
🧐 Question🔧 Skill

Medium

Delegated Contract Execution
Delegatecall
Modifiers
Contract Security

3 mins

Solidity
Try practice test

Medium

Functions and arguments
Fallback functions

3 mins

Solidity
Try practice test

Easy

Private and Internal
Smart Contracts
Contract Inheritance

2 mins

Solidity
Try practice test

Medium

Smart Contract Interaction
Contract Interaction
Gas Usage
Error Handling

2 mins

Solidity
Try practice test

Medium

51% Attacks

3 mins

Blockchain
Try practice test

Easy

Evidence

3 mins

Blockchain
Try practice test

Medium

Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications

3 mins

Blockchain
Try practice test

Medium

Strategic Tokenomics
Tokenomics
Cryptocurrency Economics

2 mins

Blockchain
Try practice test
🧐 Question🔧 Skill💪 Difficulty⌛ Time
Delegated Contract Execution
Delegatecall
Modifiers
Contract Security
Solidity
Medium3 mins
Try practice test
Functions and arguments
Fallback functions
Solidity
Medium3 mins
Try practice test
Private and Internal
Smart Contracts
Contract Inheritance
Solidity
Easy2 mins
Try practice test
Smart Contract Interaction
Contract Interaction
Gas Usage
Error Handling
Solidity
Medium2 mins
Try practice test
51% Attacks
Blockchain
Medium3 mins
Try practice test
Evidence
Blockchain
Easy3 mins
Try practice test
Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications
Blockchain
Medium3 mins
Try practice test
Strategic Tokenomics
Tokenomics
Cryptocurrency Economics
Blockchain
Medium2 mins
Try practice test
Reason #4

1200+ customers in 75 countries

customers in 75 countries
Brandon

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

Try practice test
Reason #5

Designed for elimination, not selection

The most important thing while implementing the pre-employment Solidity Test in your hiring process is that it is an elimination tool, not a selection tool. In other words: you want to use the test to eliminate the candidates who do poorly on the test, not to select the candidates who come out at the top. While they are super valuable, pre-employment tests do not paint the entire picture of a candidate’s abilities, knowledge, and motivations. Multiple easy questions are more predictive of a candidate's ability than fewer hard questions. Harder questions are often "trick" based questions, which do not provide any meaningful signal about the candidate's skillset.

Science behind Adaface tests
Reason #6

1 click candidate invites

Email invites: You can send candidates an email invite to the Solidity Test from your dashboard by entering their email address.

Public link: You can create a public link for each test that you can share with candidates.

API or integrations: You can invite candidates directly from your ATS by using our pre-built integrations with popular ATS systems or building a custom integration with your in-house ATS.

invite candidates
Reason #7

Detailed scorecards & benchmarks

View sample scorecard
Try practice test
Reason #8

High completion rate

Adaface tests are conversational, low-stress, and take just 25-40 mins to complete.

This is why Adaface has the highest test-completion rate (86%), which is more than 2x better than traditional assessments.

test completion rate
Reason #9

Advanced Proctoring


Learn more

About the Solidity Online Test

Why you should use Pre-employment Solidity Test?

The Solidity Test makes use of scenario-based questions to test for on-the-job skills as opposed to theoretical knowledge, ensuring that candidates who do well on this screening test have the relavant skills. The questions are designed to covered following on-the-job aspects:

  • Solidity programming language proficiency
  • Understanding of blockchain technology
  • Knowledge of smart contracts
  • Experience with Ethereum platform
  • Understanding of cryptocurrency concepts
  • Familiarity with decentralized applications (DApps)
  • Understanding of tokenomics
  • Knowledge of blockchain security principles
  • Solidity data types and their usage
  • Ability to handle exceptions in Solidity

Once the test is sent to a candidate, the candidate receives a link in email to take the test. For each candidate, you will receive a detailed report with skills breakdown and benchmarks to shortlist the top candidates from your pool.

What topics are covered in the Solidity Test?

  • Solidity programming language

    Solidity is a programming language specifically designed for writing smart contracts on the Ethereum blockchain. It enables developers to create complex decentralized applications by defining the rules and behaviors of their contracts.

  • Blockchain

    Blockchain is a decentralized and distributed digital ledger that records all transactions across multiple computers or nodes, making it transparent and tamper-proof. It provides the underlying technology for cryptocurrencies, smart contracts, and other decentralized applications.

  • Smart contracts

    Smart contracts are self-executing contracts with the terms of the agreement written directly into code. They automatically enforce the rules and conditions defined within them, enabling trustless and decentralized transactions without the need for intermediaries.

  • Ethereum

    Ethereum is a decentralized blockchain platform that allows developers to build and deploy smart contracts. It provides a secure and reliable infrastructure for creating decentralized applications and executing complex computations on the blockchain.

  • Cryptocurrency

    Cryptocurrency refers to digital or virtual currencies that use cryptography for security. They are decentralized and operate independently of any central authority, enabling secure and anonymous transactions.

  • Decentralized applications

    Decentralized applications, or dApps, are applications that run on a decentralized network, such as a blockchain. They are designed to be transparent, secure, and censorship-resistant, without relying on a central authority or intermediary for control.

  • Tokenomics

    Tokenomics refers to the economic models and principles behind the design and use of tokens in a blockchain ecosystem. It involves factors such as token distribution, utility, scarcity, and incentive structures that influence the value and behavior of tokens.

  • Blockchain security

    Blockchain security refers to the measures and techniques implemented to protect the integrity, confidentiality, and availability of data and transactions on a blockchain. It involves cryptography, consensus mechanisms, access controls, and auditing to ensure the secure operation of the blockchain network.

  • Solidity data types

    Solidity data types define the kind of values that can be stored and manipulated in Solidity smart contracts. They include basic data types such as integers, booleans, strings, and more complex types such as arrays and structs.

  • Error handling in Solidity

    Error handling in Solidity involves managing and responding to exceptions, errors, and unexpected conditions that may occur during the execution of a smart contract. Solidity provides mechanisms such as revert, require, and assert statements to handle errors and ensure the robustness of the contract.

  • Contract deployment

    Contract deployment refers to the process of deploying a smart contract onto the blockchain network, making it available for execution. It involves interactions with the Ethereum Virtual Machine (EVM) and requires the deployment of the contract's bytecode and initialization data.

  • Solidity testing

    Solidity testing involves writing and executing tests to ensure the correctness and functionality of smart contracts written in Solidity. It helps identify and prevent bugs, vulnerabilities, and errors in the contract code, ensuring the reliability and security of the deployed contracts.

  • Full list of covered topics

    The actual topics of the questions in the final test will depend on your job description and requirements. However, here's a list of topics you can expect the questions for Solidity Test to be based on.

    Solidity syntax
    Data types in Solidity
    Variables and constants
    Functions and modifiers
    Control structures (if-else, loops)
    Inheritance and interfaces in Solidity
    Events and event handling
    Structs and mappings
    Error handling in Solidity
    Exception management in Solidity
    Contract deployment process
    Ethereum Virtual Machine (EVM)
    Gas optimization in Solidity
    Smart contract security issues
    Solidity unit testing frameworks
    Token creation and management
    ERC-20 and ERC-721 standards
    Interacting with external contracts
    Decentralized application architecture
    Web3.js library for Ethereum interaction
    Solidity debugging techniques
    Blockchain consensus mechanisms
    Cryptographic hash functions in Solidity
    Proxy contracts and upgradeability
    Role-based access control in Solidity
    Handling time and timestamps
    Integration of oracles in Solidity
    Solidity code optimization
    Immutable data structures in Smart contracts
    Massive parallelization in Solidity
    Understanding gas fees and cost optimization
    Error handling patterns in Solidity
    Contract upgradability strategies
    Reentrancy attacks and prevention
    Fallback functions and self destruct
    Preventing integer overflow and underflow
    Address types and their usage
    Importing and using libraries
    Solidity code formatting conventions
    Encryption and decryption in Solidity
    Atomicity in Smart contracts
    Extending External Storage contracts
    Access controls and permissions
    Oracle integrations using Chainlink
    Optimizing gas usage in Solidity
    Using events for contract interaction
    Solidity development tools and IDEs
    Token distribution mechanisms
    Design patterns in Solidity
    Immutable contracts and immutability
    Deploying contracts on public and private networks
    Handling approval and allowance in ERC-20
    Solidity best practices and code standards
    Handling reversion in Solidity
    Error propagation and handling external calls
    Contract factory patterns
    Understanding Merkle Trees in Solidity
    Preventing DoS attacks in Solidity
    Gas price estimation and optimization
Try practice test

What roles can I use the Solidity Test for?

  • Blockchain Developer
  • Smart Contract Developer
  • Blockchain Engineer
  • Cryptocurrency Developer
  • DApp Developer
  • Blockchain Consultant

How is the Solidity Test customized for senior candidates?

For intermediate/ experienced candidates, we customize the assessment questions to include advanced topics and increase the difficulty level of the questions. This might include adding questions on topics like

  • Experience with contract deployment
  • Proficiency in Solidity testing frameworks
  • Advanced Solidity programming techniques
  • Expertise in blockchain consensus mechanisms
  • Understanding of decentralized finance (DeFi)
  • Knowledge of blockchain interoperability
  • Ability to optimize gas usage in Solidity
  • Experience with security audits of smart contracts
  • Proficiency in building scalable DApps
  • Expertise in Solidity code optimization
Singapore government logo

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.


85%
reduction in screening time

Solidity Hiring Test FAQs

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. Here's a quick guide on how you can request a custom test.

Do you have any anti-cheating or proctoring features in place?

We have the following anti-cheating features in place:

  • Non-googleable questions
  • IP proctoring
  • Screen proctoring
  • Web proctoring
  • Webcam proctoring
  • Plagiarism detection
  • Secure browser
  • Copy paste protection

Read more about the proctoring features.

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. A skills assessment is optimized 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 55%, 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/ proctoring 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. However, you can use our sample questions for practice.

What is the cost of using this test?

You can check out our pricing plans.

Can I get a free trial?

Yes, you can sign up for free and preview this test.

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

Here is a quick guide on how to request a custom assessment on Adaface.

customers across world
Join 1200+ companies in 75+ countries.
Try the most candidate friendly skills assessment tool today.
g2 badges
Ready to use the Adaface Solidity Test?
Ready to use the Adaface Solidity Test?
logo
40 min tests.
No trick questions.
Accurate shortlisting.
Terms Privacy Trust Guide

🌎 Pick your language

English Norsk Dansk Deutsche Nederlands Svenska Français Español Chinese (简体中文) Italiano Japanese (日本語) Polskie Português Russian (русский)
ada
Ada
● Online
✖️