Skip to main content

System Design and Object-Oriented Problems for Interviews

Hello guys, If you have given any coding interview then you know that System design or Software design problems are an important part of programming job interviews, and if you want to do well, you must prepare this topic. When I was searching ,  I didn't find any online course which is completely focused on solving system design problems from top companies like Amazon, Google, Microsoft, Apple, SalesForce, Flipcart, etc. 
Anyway, When you combine this course with this list of questions you will have the best material to prepare for your System design interview. You can also first try all these questions by yourself before joining the course or looking it my solution for some of the questions.





Top System Design and OOP Design Interview Questions

Without any further ado, here is the list of some of the most popular System design or Object-oriented analysis and design questions to crack any programming job interview.

1. How Do You Design the Vending Machine in Java?

You need to write code to implement a Vending machine that has a bunch of products like chocolates, candy, cold-drink, and accept some coins like Nickle, Dime, Quarter, Cent, etc. Make sure you insert a coin, get a product back, and get your chance back. Also, write the Unit test to demonstrate that these common use cases work

2. How Do You Design a URL Shortening Service Like Goo.gl or Bit.Ly?

This one is another common System design questions. You have given a (typically) long URL, how would you design service that would generate a shorter and unique alias for it? If you are not familiar with URL shortener service have a look at some of the popular ones like goo.gl from Google and bit.ly which is used by Twitter.

Make sure to provide database schema and rationale behind some design decisions like how long you keep the data, how to get stats and analytics etc.

3. How Do You Design a Traffic Control System?

A classical system design question from old age which is still popular. Make sure you know how to transition from one state to another like RED to GREEN and from GREEN to ORANGE to RED etc.

4. How to Design a Limit Order Book?

A limit order book is used in stock exchanges to match a buy order with a sell order based on price and time priority. How would you go about that? Which data structure you will use? Remember, the speed of matching is key and also the reliability. 

5. How Do You Design a Website Like Pastebin?

Pastebin allows you to paste text or code and then share a link to that code anywhere you want. It's not an online code editor but you can use this to store any kind of text.

6. How Would You Create Your Own Instagram?

Instagram is a photo-sharing application that provides some custom filters to enhance your photo quality. Your application should have photo upload functionality, tagging photos for search, and some basic filters. If you could add share or social network that could be great.

7. How Do You Design a Global File Sharing and Storage Apps Like Google Drive or Dropbox?

These are used to store and share files, photos, and other media. How do you go about designing things like allowing users to upload/view/search/share files or photos? track permissions for file sharing, and allow multiple users to edit the same document?

8. How Do You Design a Chat Application Like Whatsapp or Facebook Messenger?

You have surely used WhatsApp and Facebook, right? No? If not let me tell you that a chat application allows you to send messages to your friend. It's a point to point connection. You keep a friend list and see their status and chat them. In WhatsApp, you can also connect groups but that is for advanced and experienced developers. At a minimum, you should provide a design to keep a friend list and send and receive messages from them.

9. How Do You Design a Twitter Clone?

Twitter is a popular messaging service that lets you broadcast your messages to all your followers. You tweet and your followers see those messages, they can like or retweet. Make sure you implement common features like followers, hashtag, tweet, delete, etc. 

10. How to Design a Global Video Streaming Service Like YouTube or Netflix?

While designing a video streaming service like NetFlix or YouTube key thing is smooth streaming and buffering and functioning over low bandwidth connection, how do you manage those challenges.

11. How to Design an ATM Machine?

12. How Do You Design an API Rate Limiter?

13. How Do You Design Twitter Search?

14. How to Design a Web Crawler Like Google?

15. How to Design Facebook's Newsfeed? What Kind of Algorithm Will You Use?

16. How to Design Yelp or Nearby Friends?

17. How to Design a Global Ride-Hailing Service E.G. Uber, Grab, or Ola Backend?


18. How to Design BookMyShow?


Please Share  and  comments your interview questions so can evenyone  prepare it. 



Comments

Popular posts from this blog

TWO SUM || Placement Series || LeetCode ||

1 .  Two Sum Given an array of integers   nums  and an integer   target , return   indices of the two numbers such that they add up to  target . You may assume that each input would have  exactly  one solution , and you may not use the  same  element twice. You can return the answer in any order.   Example 1: Input: nums = [2,7,11,15], target = 9 Output: [0,1] Output: Because nums[0] + nums[1] == 9, we return [0, 1]. Example 2: Input: nums = [3,2,4], target = 6 Output: [1,2] Example 3: Input: nums = [3,3], target = 6 Output: [0,1]   Constraints: 2 <= nums.length <= 10 4 -10 9  <= nums[i] <= 10 9 -10 9  <= target <= 10 9 Only one valid answer exists. Approach :  1. we will be doing using  Brute force approach in which we have to start from beginning of the array and for each  element of  array we have to travers to check  whether  the sum  of the first element and the second (traverse you can say  jth value ) is equal to target or not, if not then traverse  next

SpringBoot Application with Oracle Database connection |Hibernate|JSP

Start a SringBoot Stater project from Eighter Eclipse or STS. Spring Starter Project fill your Artifact and Group accordingly and click “ Next ”. then select Spring Web and Spring Data JPA. POM.xml DemoApplication.java Project Structure Controller class Entity class application.properties Then run it . Note: use spring.datasource.driver-class-name= oracle.jdbc.OracleDriver insist of  spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver Do not use any extra dependency of  ojdbc .jar when you are using it from local references.