A comprehensive collection of Solidity interview questions originally compiled by RareSkills, organized by difficulty level.
All solutions in this repository were generated by AI models:
- Windsurf SWE 1.5 (Codeium's Cascade)
- Kimi K2.5 (Moonshot AI)
These models provided the answers, code examples, and explanations you'll find throughout the repository.
The answers in this repository were generated by AI and may contain inaccuracies, errors, or outdated information.
- Always verify answers independently before relying on them
- Solidity and the EVM evolve rapidly - some answers may become outdated
- This is a community resource, not authoritative documentation
- When in doubt, consult the official Solidity documentation
- Questions: Compiled by the RareSkills team
- Answers: Generated and curated by AI models (Windsurf SWE 1.5 & Kimi K2.5)
- Repository: Open source community resource
├── easy/ # 30 foundational questions
├── medium/ # 48 intermediate questions
├── hard/ # 48 advanced questions
├── advanced/ # 38 expert-level questions
├── INDEX.md # Table of contents with links to all questions
├── CONTRIBUTING.md # Guidelines for contributors
├── SOURCE.md # Attribution and source information
├── CLASSIFICATION_NOTES.md # How questions are categorized
└── AUDIT_REVIEW.md # Quality review notes
Total: 164 questions across 4 difficulty levels
Browse by difficulty:
- Easy questions - Core Solidity concepts, basic syntax, security fundamentals
- Medium questions - Common patterns, EVM basics, DeFi fundamentals
- Hard questions - Low-level EVM, gas optimization, complex patterns
- Advanced questions - Cryptography, MEV, formal verification
- For Interview Prep: Review questions at your target difficulty level
- For Learning: Start with easy and progress through the levels
- For Reference: Each answer includes TL;DR, extended explanation, code examples, and security notes
- For Verification: Cross-reference with official documentation
We welcome contributions! Have a better solution or different approach? Submit a PR!
- 🐛 Found an error? Open an issue or submit a PR with the correction
- 💡 Have a better explanation? We'd love to see your approach - submit a PR
- 🔄 Alternative solution? Multiple ways to solve a problem are valuable - add yours
- 📝 Missing context? Help improve the answers with additional details
- 🔗 Better examples? Share more relevant code examples
See CONTRIBUTING.md for detailed guidelines.
- Fix technical inaccuracies
- Add missing code examples
- Update outdated information
- Improve explanations
- Add real-world use cases
- Cross-reference relevant EIPs
- Propose alternative solutions - there's often more than one right answer!
⭐ Star this repo if you find it useful!
This is a living document that improves with community input. Your contributions help make this a better resource for the entire Solidity developer community.
This repository is provided as an educational resource. The questions are credited to RareSkills. The answers are AI-generated and provided as-is without warranty.
Don't agree with an answer? Have a different approach?
This is a collaborative project! We encourage you to submit Pull Requests with:
- Alternative solutions to the same question
- Different code examples showing other valid approaches
- Additional explanations that might help others understand better
- Corrections to any inaccuracies you find
Multiple perspectives make this resource better for everyone.
- Open an issue for questions or corrections
- Submit a pull request for improvements (especially alternative solutions!)
- Share with others learning Solidity!
Remember: This is a study aid, not a substitute for hands-on practice and official documentation.