🌐
HackerRank
hackerrank.com › challenges › classes-objects › problem
Classes and Objects | HackerRank
A class defines a blueprint for an object. We use the same syntax to declare objects of a class as we use to declare variables of other basic types. For example: · Kristen is a contender for valedictorian of her high school.
🌐
HackerRank
hackerrank.com › domains › java › oop
Solve Programming Questions | HackerRank
A strictly object-oriented language designed to write industry-standard code.
🌐
GitHub
github.com › sandudorogan › HackerRank-OOP-Solutions
GitHub - sandudorogan/HackerRank-OOP-Solutions: Hacker Rank OOP solutions in C#.
Hacker Rank OOP solutions in C#. Contribute to sandudorogan/HackerRank-OOP-Solutions development by creating an account on GitHub.
Author   sandudorogan
🌐
HackerRank
hackerrank.com › contests › oops-zaaga
Join OOPs..! on HackerRank
[**Aeon**](http://www.ahaliazaaga.in/#Aeon_event) at [**Zaaga**](http://www.ahaliazaaga.in) Presents **OOPs..!** ,a 3 hour long programming contest. **OOPs** is a coding competition conducted by [**Aeon**](http://www.ahaliazaaga.in/#Aeon_event) ...
🌐
Reddit
reddit.com › r/csmajors › practice tests for oop hackerrank
r/csMajors on Reddit: Practice Tests for OOP Hackerrank
September 26, 2024 -

I was wondering if anyone knew of a question bank or practice tests for OOP questions on Hackerrank. The questions that I am referring to specifically are the MCQ questions in languages such as C++ or Python where you are given a list of functions and classes and then told to evaluate what is printed out by the program. These are often very tricky, and it would be nice to have a repository of questions to learn the general tricks and patterns.

An example would be something like the following in C++. The prompt would be to evaluate the output. I am looking for some really difficult examples that I can practice, especially in a timed environment.

#include<iostream>
#include<iostream>

using namespace std;
class Base1 {
 public:
     Base1()
     { cout << " Base1's constructor called" << endl; }
}; 

class Base2 {
 public:
     Base2()
     { cout << "Base2's constructor called" << endl;  }
};

class Derived: public Base1, public Base2 {
   public:
     Derived()
     {  cout << "Derived's constructor called" << endl;  }
};

int main()
{
   Derived d;
   return 0;
}

I am aware of there being a bunch of these on GeeksforGeeks. Curious if there are any other niche locations. Looking to practice these for the Old Mission OA, if anyone's taken that.

🌐
Scribd
scribd.com › document › 366901895 › HackerRank-Solutions
Java OOP Solutions on HackerRank | PDF | Object Oriented Programming | Models Of Computation
This document contains summaries of and links to various Java challenges on HackerRank including Java exception handling using try-catch, the Java factory pattern, method overriding, hashsets, and comparators. It provides code snippets and summaries for challenges involving dividing numbers and handling different exception types, implementing a calculator class with exception handling, using a factory pattern to return different object types based on an order, overriding a method to print team details, adding string pairs to a hashset to find the unique pairs, and implementing a comparator to sort players by score then name.
🌐
HackerRank
hackerrank.com › domains › java › oop › difficulty › all › page › 1
Programming Problems and Competitions :: HackerRank
Join over 28 million developers in solving code challenges on HackerRank, one of the best ways to prepare for programming interviews.
🌐
HackerRank
hackerrank.com › skills-directory › c_plus_plus_intermediate
C++ (Intermediate) | Skills Directory | HackerRank
The competency area includes an understanding of pointers, Object-Oriented Programming, working with namespaces, storage classes, templates, enumerations, and writing a basic OOP program, among others.
🌐
PREP INSTA
prepinsta.com › home › hackerrank test papers and placement papers › hackerrank technical mcq test | domain test › hackerrank oops quiz › hackerrank oops quiz -1
HackerRank OOPS Quiz -1 » PREP INSTA
May 31, 2021 - Home > HackerRank Test Papers and Placement Papers > HackerRank Technical MCQ Test | Domain Test > HackerRank OOPS Quiz > HackerRank OOPS Quiz -1
Find elsewhere
🌐
HackerRank
hackerrank.com › contests › javascript-week2 › challenges › js-prototype
Solve Day 3: Basics of Object Oriented JavaScript - Prototype
Learn about prototypes in JavaScript. Solving code challenges on HackerRank is one of the best ways to prepare for programming interviews.
🌐
HackerRank
hackerrank.com › challenges › c-tutorial-class › problem
Class | HackerRank
The code provided by HackerRank will use your class members to set and then get the elements of the Student class.
🌐
HackerRank
hackerrank.com › challenges › classes-objects › forum
Classes and Objects Discussions | C++ | HackerRank
Please Login in order to post a comment · class Student { int scores[5]; public: void input(){ for(int i = 0; i < 5; i++){ cin >> scores[i]; } }
🌐
Interview Coder
interviewcoder.co › home › blog › top 30+ hackerrank interview questions to sharpen your coding skills
Top 30+ HackerRank Interview Questions to Sharpen Your ...
August 16, 2025 - Keywords: data structures, coding challenge, HackerRank style, online judge, time complexity. Create base Shape with name and area() abstract method; create Rectangle and Circle subclasses implementing area. Show clear OOP design, input validation, and use of prototype inheritance via class syntax.
🌐
HackerRank
hackerrank.com › skills-directory › c_sharp_basic
C# (Basic) | Skills Directory | HackerRank
This competency area includes understanding the structure of C# programs, types, and Variables, basic OOP, Properties and Indexers, Collections, Exception handling, among others.
🌐
GitHub
github.com › ddayto21 › HackerRank-Python-Solutions
GitHub - ddayto21/HackerRank-Python-Solutions: Python Solutions to HackerRank problems involving Object-Oriented Programming, Graph Search Algorithms, and Matrices
Python Solutions to HackerRank problems involving Object-Oriented Programming, Graph Search Algorithms, and Matrices - GitHub - ddayto21/HackerRank-Python-Solutions: Python Solutions to HackerRank problems involving Object-Oriented Programming, Graph Search Algorithms, and Matrices
Starred by 15 users
Forked by 3 users
Languages   Jupyter Notebook 80.3% | Python 19.7%
🌐
PREP INSTA
prepinsta.com › home › hackerrank test papers and placement papers › top 25 hackerrank coding questions and answers
Top 25 Hackerrank Coding Questions with Solutions | PrepInsta
March 27, 2025 - Top 25 Hackerrank Coding Questions is given in this page along with the Solutions in different languages so tha you ca practice more.
🌐
Reddit
reddit.com › r/learnpython › where can i find problems to practice oop?
r/learnpython on Reddit: Where can I find problems to practice OOP?
August 26, 2020 -

Here's what I have tried so far: Codewars - The problems labelled classes were either too complex to understand for me, or I found no actual need for implementing OOPS. None of the problems required you to create a class anyways.

Hackerrank - Just two problems in the OOP/ classes section ( don't remember what they exactly call them) and they two were hard math problems, so I need to first of all understand the complex maths concepts before I can get to programming.

Leetcode - Can't actually filter out problems based on OOP.

Top answer
1 of 21
80
I know it's not really what you're looking for be it's my opinion: projects. You should practice using something in a situation where it is relevant. OOP shines best in complicated programs with a certain complexity/intricacy, or to simplify the code you're writing. Exercises don't help practice that because they tend to be short. In python, you'll almost never have to write over 50 lines for a simple exercise. Let alone 200, and that's about the length where turning to OOP starts being advantageous. So find yourself a project. It doesn't even have to be explicitly object oriented: a game, a simulation, things with entities in general beg for OOP, but it can be used anywhere. On this sub, I once proposed a implementation of rock-paper-scissors using a class. The point is to make something, and at some point to use OOP to simplify it. This may be at the very start, or later, when you find that your code is very copy pasty and you use classes to reduce that. You may even revisit an older project and try to rewrite it with OOP, maybe expand upon it. The important thing is to dive into something and get working on it. It may be 150 lines or 700. The point is you'll only be able to do it if you know OOP: if it feels easy and intuitive, then you're good, otherwise, keep going. That will get you the practice you want: a real application of the concepts you learn.
2 of 21
28
Congrats! You now know enough to be dangerous. As others have suggested: search for beginner python projects if you're not yet sure what you want to create. Another general suggestion that I wish someone had given to me after I could grok the basics of OOP is: start becoming familiar with OOP 'design patterns'. There's lots of examples for basic patterns (lookup factory, builder or facade patterns). Sometimes you will find examples that include actual code and other times you may find conceptual descriptions that accompany UML diagrams for a toy example. refactoring.guru has a nicely organized site to browse around. The site map provides a nice orientation to design patterns in general and in the Code Examples section in the sidebar, you can find python-specific implementations . IMO, learning about how different things may be constructed out of OOP concepts will be hugely helpful for developing proficiency. When starting out with OOP, it's tempting to shove everything into a class without thinking about it too much -- and most of the stuff you encounter when starting out is simple enough that there's typically no dire consequences that challenge you to re-think your design. But there's a lot of clever ways to construct classes to accomplish goals and being able to recognize them will pay huge dividends in the future. Other suggestions: get comfortable with debuggers and breakpoints if you're not already familiar. It will make it so much easier to step through issues when you don't have to print("everything") just to inspect state. Lastly, look up "TDD" if you're not already familiar with the idea of writing tests. I'm not suggesting that you become too preoccupied with writing tests right away but once you begin to create more complicated projects, you may appreciate why "debugging sucks; testing rocks." TLDR: I wish that I had a larger vocabulary/proficiency for design patterns when starting out. You won't immediately need to know how to write tests or implement design patterns but becoming familiar with these ideas and embracing them early on will help you immensely down the road.