Search test library by skills or roles
⌘ K

Solidity 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
  • Blockchain
  • Smart contracts
  • Ethereum
  • Cryptocurrency
  • Decentralized applications
  • Tokenomics
  • Blockchain security
  • Solidity data types
  • Error handling in Solidity
  • Contract deployment
  • Solidity testing
Get started for free
Preview questions

About the Solidity Assessment Test


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

1200+ customers in 80 countries


Use Adaface tests trusted by recruitment teams globally. Adaface skill assessments measure on-the-job skills of candidates, providing employers with an accurate tool for screening potential hires.

customers in 75 countries
Get started for free
Preview questions

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 15,000+ questions. The actual questions on this Solidity Test will be non-googleable.

🧐 Question

Medium

Delegated Contract Execution
Delegatecall
Modifiers
Contract Security
Solve
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
Solidity Programming
Smart Contracts
Solve
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
Solve
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
Solve
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
Security
Blockchain
Solve
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
Blockchain Architecture
Smart Contract Design
Supply Chain Management
Solve
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
Solve
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
Financial Analysis
Cryptocurrency Markets
Solve
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
Solve

Medium

Functions and arguments
Fallback functions
Solidity Programming
Smart Contracts

3 mins

Solidity
Solve

Easy

Private and Internal
Smart Contracts
Contract Inheritance

2 mins

Solidity
Solve

Medium

Smart Contract Interaction
Contract Interaction
Gas Usage
Error Handling

2 mins

Solidity
Solve

Medium

51% Attacks
Security
Blockchain

3 mins

Blockchain
Solve

Easy

Evidence
Blockchain Architecture
Smart Contract Design
Supply Chain Management

3 mins

Blockchain
Solve

Medium

Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications

3 mins

Blockchain
Solve

Medium

Strategic Tokenomics
Tokenomics
Cryptocurrency Economics
Financial Analysis
Cryptocurrency Markets

2 mins

Blockchain
Solve
🧐 Question🔧 Skill💪 Difficulty⌛ Time
Delegated Contract Execution
Delegatecall
Modifiers
Contract Security
Solidity
Medium3 mins
Solve
Functions and arguments
Fallback functions
Solidity Programming
Smart Contracts
Solidity
Medium3 mins
Solve
Private and Internal
Smart Contracts
Contract Inheritance
Solidity
Easy2 mins
Solve
Smart Contract Interaction
Contract Interaction
Gas Usage
Error Handling
Solidity
Medium2 mins
Solve
51% Attacks
Security
Blockchain
Blockchain
Medium3 mins
Solve
Evidence
Blockchain Architecture
Smart Contract Design
Supply Chain Management
Blockchain
Easy3 mins
Solve
Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications
Blockchain
Medium3 mins
Solve
Strategic Tokenomics
Tokenomics
Cryptocurrency Economics
Financial Analysis
Cryptocurrency Markets
Blockchain
Medium2 mins
Solve
Get started for free
Preview questions
love bonito

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

Brandon
love bonito

It's very easy to share assessments with candidates and for candidates to use. We get good feedback from candidates about completing the tests. Adaface are very responsive and friendly to deal with.

Kirsty Wood, Human Resources, WillyWeather

Brandon
love bonito

We were able to close 106 positions in a record time of 45 days! Adaface enables us to conduct aptitude and psychometric assessments seamlessly. My hiring managers have never been happier with the quality of candidates shortlisted.

Amit Kataria, CHRO, Hanu

Brandon
love bonito

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

Swayam Narain, CTO, Affable

Brandon

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

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

Try the most advanced candidate assessment platform

ChatGPT Protection

Non-googleable Questions

Web Proctoring

IP Proctoring

Webcam Proctoring

MCQ Questions

Coding Questions

Typing Questions

Personality Questions

Custom Questions

Ready-to-use Tests

Custom Tests

Custom Branding

Bulk Invites

Public Links

ATS Integrations

Multiple Question Sets

Custom API integrations

Role-based Access

Priority Support

GDPR Compliance

Screen candidates in 3 easy steps

Pick a test from over 500+ tests

The Adaface test library features 500+ tests to enable you to test candidates on all popular skills- everything from programming languages, software frameworks, devops, logical reasoning, abstract reasoning, critical thinking, fluid intelligence, content marketing, talent acquisition, customer service, accounting, product management, sales and more.

Invite your candidates with 2-clicks

Make informed hiring decisions

Get started for free
Preview questions

Have questions about the Solidity Hiring Test?

What is Solidity Test?

The Solidity Test assesses candidates on their knowledge and skills in Solidity programming. It's used by recruiters to find developers proficient in creating smart contracts on the Ethereum blockchain.

Can I combine Solidity Test with Blockchain questions?

Yes, you can request a custom test to include multiple skills. For detailed blockchain assessment, check out the Blockchain Developer Test.

What kind of questions are used to evaluate senior Solidity candidates?

Senior candidates are assessed on advanced skills like contract deployment, Solidity testing frameworks, gas optimization, and security audits of smart contracts.

How to use Solidity Test in my hiring process?

Use it as a pre-screening tool.

  1. Add a link in your job post.
  2. Invite candidates via email. Adaface helps identify top talent faster.
What are the main blockchain development tests?

In addition to the Solidity Test, consider:

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.

View sample scorecard


Along with scorecards that report the performance of the candidate in detail, you also receive a comparative analysis against the company average and industry standards.

View sample scorecard
customers across world
Join 1200+ companies in 80+ 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
ada
Ada
● Online
Previous
Score: NA
Next
✖️