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.

Get started for free
Preview questions

Screen candidates with a 35 mins test

Test duration:  35 mins
Difficulty level:  Moderate
Availability:  Ready to use
Questions:
  • 10 Solidity MCQs
  • 5 Blockchain MCQs
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

Use Adaface tests trusted by recruitment teams globally

Adaface is used by 1500+ businesses in 80 countries.

Adaface skill assessments measure on-the-job skills of candidates, providing employers with an accurate tool for screening potential hires.

Amazon Morgan Stanley Vodafone United Nations HCL PayPal Bosch WeWork Optimum Solutions Deloitte NCS Sokrati J&T Express Capegemini

Use the Solidity Assessment Test to shortlist qualified candidates

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
Get started for free
Preview questions

Screen candidates with the highest quality 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
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
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
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
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

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

3 mins

Blockchain
Solve

Easy

Evidence

3 mins

Blockchain
Solve

Medium

Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications

3 mins

Blockchain
Solve

Medium

Strategic Tokenomics
Tokenomics
Cryptocurrency Economics

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
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
Blockchain
Medium3 mins
Solve
Evidence
Blockchain
Easy3 mins
Solve
Blockchain Interoperability
Smart Contract Logic
Interoperability
Decentralized Applications
Blockchain
Medium3 mins
Solve
Strategic Tokenomics
Tokenomics
Cryptocurrency Economics
Blockchain
Medium2 mins
Solve

Test candidates on core Solidity Hiring Test topics

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.

Get started for free
Preview questions

Make informed decisions with actionable reports and benchmarks

View sample scorecard

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

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


Pick a plan based on your hiring needs

The most advanced candidate screening platform.
14-day free trial. No credit card required.

From
$15
per month (paid annually)
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

Have questions about the Solidity Hiring Test?

How does pricing work?

You can check out our pricing plans.

Can I customize the test?

Yes, absolutely. Custom assessments are set up within 48 hours 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. You can also customize a test by uploading your own questions.

Can I combine multiple skills into one test?

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.

What roles can I use the Solidity Assessment Test for?

Here are few roles for which we recommend this test:

  • Blockchain Developer
  • Smart Contract Developer
  • Blockchain Engineer
  • Cryptocurrency Developer
  • DApp Developer
  • Blockchain Consultant
Can I see a sample test, or do you have a free trial?

Yes!

The free trial includes one sample technical test (Java/ JavaScript) and one sample aptitude test that you will find in your dashboard when you sign up. You can use it to review the quality of questions and the candidate experience of giving a test on Adaface.

You can preview any of the 500+ tests and see the sample questions to decide if it would be a good fit for your requirements.

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.

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.

customers across world
Join 1500+ 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
✖️