Find Interview Questions for Top Companies
Ques:- Mainly they asked on Mobile Technology like VAS, SMS, MMS, SMSC, CRBT
Right Answer:
VAS (Value-Added Services) refers to non-core services offered by mobile operators, such as SMS, MMS, and CRBT (Caller Ring Back Tone). SMS (Short Message Service) allows users to send text messages, while MMS (Multimedia Messaging Service) enables sending multimedia content like images and videos. SMSC (Short Message Service Center) is the component that manages the SMS operations, ensuring messages are delivered to the intended recipients. CRBT allows users to customize the ringtone that callers hear when they call them.
Ques:- Expertise over worked profile
Right Answer:
I have extensive experience in designing and implementing scalable application architectures, focusing on microservices, RESTful APIs, and cloud-based solutions. My work includes optimizing performance, ensuring security, and integrating third-party services, while also collaborating with cross-functional teams to deliver high-quality software.
Ques:- Past job experiences.
Right Answer:
In my past job experiences, I worked on developing scalable web applications, collaborating with cross-functional teams to gather requirements, design system architecture, and implement features. I also focused on optimizing performance and ensuring code quality through testing and code reviews.
Ques:- Past project participation
Right Answer:
In my past projects, I participated in designing and developing scalable web applications, collaborating with cross-functional teams, implementing RESTful APIs, and ensuring code quality through testing and code reviews. My role often involved gathering requirements, writing clean code, and optimizing application performance.
Ques:- Design twitter like system where only two operations are allowed.
Right Answer:
To design a Twitter-like system with only two operations, we can define the following:

1. **Post Tweet (user_id, tweet_content)**: This operation allows a user to create a new tweet. The system stores the tweet along with the user ID and a timestamp.

2. **Get Timeline (user_id)**: This operation retrieves the most recent tweets from the user’s feed, which includes tweets from the user and tweets from users they follow, sorted by timestamp.

The system should ensure scalability, handle user authentication, and manage relationships between users (followers/following).
Ques:- Your company has assigned you to design a spam detector….design,features,possible difficulties in your path….take a feature and explain how would u implement it —15 marks
Right Answer:
To design a spam detector, I would implement the following features:

1. **Content Analysis**: Use natural language processing (NLP) to analyze the text of emails for spammy keywords and phrases.
2. **Sender Reputation**: Maintain a database of known spam senders and check incoming emails against this list.
3. **User Feedback Loop**: Allow users to mark emails as spam or not spam to improve the system over time.
4. **Machine Learning Model**: Train a machine learning model on labeled datasets of spam and non-spam emails to classify new emails.

**Implementation of Content Analysis**:
- Use a library like NLTK or spaCy to preprocess the email text (tokenization, removing stop words).
- Create a list of common spam keywords (e.g., "free", "win", "urgent") and calculate a score based on their frequency in the email.
- Set a threshold score; if the score exceeds this threshold, classify the email as spam.
Ques:- Draw the ER diagram of your B. Tech. project
Right Answer:
To draw the ER diagram for a B. Tech. project, identify the main entities, their attributes, and the relationships between them. For example:

Entities:
1. Student
- StudentID (Primary Key)
- Name
- Email

2. Project
- ProjectID (Primary Key)
- Title
- Description

3. Supervisor
- SupervisorID (Primary Key)
- Name
- Department

Relationships:
- A Student can work on multiple Projects (1:N)
- A Project can have one Supervisor (N:1)

ER Diagram:
```
[Student] --< works_on >-- [Project] --< supervised_by >-- [Supervisor]
```

Attributes are listed under each entity, and the relationships are indicated with lines connecting the entities.
Ques:- Design a web crawler.
Right Answer:
To design a web crawler, follow these steps:

1. **Define the Scope**: Determine the target websites and the type of data to collect.

2. **Set Up a Queue**: Use a data structure (like a queue) to manage URLs to visit.

3. **Fetch URLs**: Use HTTP requests to retrieve web pages from the queue.

4. **Parse Content**: Extract relevant data and new URLs from the fetched pages using an HTML parser.

5. **Store Data**: Save the extracted data in a database or file system.

6. **Handle Robots.txt**: Respect the rules specified in the robots.txt file of each website.

7. **Avoid Duplicates**: Keep track of visited URLs to avoid re-crawling.

8. **Rate Limiting**: Implement delays between requests to avoid overwhelming servers.

9. **Error Handling**: Manage errors and retries for failed requests.

10. **Scalability**: Consider using multiple threads or distributed
Ques:- Write USE case for Auction model where you have a seller, an item and a buyer.
Right Answer:
**Use Case: Auction Model**

**Actors:**
- Seller
- Buyer

**Preconditions:**
- Seller has an item to auction.
- Buyer is registered and logged in.

**Main Flow:**
1. **Seller creates auction:**
- Seller lists the item with details (title, description, starting bid, auction duration).
- System saves auction details and makes it visible to buyers.

2. **Buyer places bid:**
- Buyer views the auction item.
- Buyer places a bid that is higher than the current highest bid.
- System updates the highest bid and notifies other buyers.

3. **Auction ends:**
- System tracks the auction duration.
- When the auction ends, the system identifies the highest bidder.

4. **Transaction completion:**
- System notifies the seller of the winning bid.
- Seller and buyer finalize the transaction (payment and item delivery).

**Postconditions:**
Ques:- Design a site similar to tinyurl.com
Right Answer:
To design a site similar to tinyurl.com, follow these steps:

1. **Requirements Gathering**: Identify features like URL shortening, redirection, analytics, user accounts, and custom aliases.

2. **Architecture**:
- **Frontend**: Create a simple web interface using HTML, CSS, and JavaScript for users to input URLs.
- **Backend**: Use a server-side language (e.g., Node.js, Python, Ruby) to handle requests.
- **Database**: Choose a database (e.g., MySQL, MongoDB) to store original URLs and their shortened versions.

3. **URL Shortening Logic**:
- Generate a unique identifier for each URL (e.g., base62 encoding).
- Store the mapping of the original URL to the shortened URL in the database.

4. **Redirection**: Implement a route that takes the shortened URL, retrieves the original URL from the database, and redirects the user.

5. **Analytics
Ques:- Design ATM machine.Use proper OOAD.
Right Answer:
**ATM Machine Design using OOAD:**

1. **Actors:**
- Customer
- Bank
- ATM

2. **Use Cases:**
- Withdraw Cash
- Deposit Cash
- Check Balance
- Transfer Funds
- Change PIN

3. **Classes:**
- **ATM**
- Attributes: location, status, cashAvailable
- Methods: authenticateUser(), displayMenu(), dispenseCash(), acceptDeposit(), printReceipt()

- **Customer**
- Attributes: customerId, name, accountNumber, pin
- Methods: enterPin(), selectTransaction(), requestBalance(), requestWithdrawal(), requestDeposit(), changePin()

- **Bank**
- Attributes: bankName, accounts
- Methods: validateCustomer(), getAccountBalance(), updateAccount(), processTransaction()

4. **Relationships:**
- Customer interacts with ATM.
- ATM communicates with Bank for transaction processing.

5. **
Ques:- Design and implement APIs for caching web pages.
Right Answer:
To design and implement APIs for caching web pages, follow these steps:

1. **Define API Endpoints**:
- `POST /cache` - To cache a new web page.
- `GET /cache/{url}` - To retrieve a cached web page.
- `DELETE /cache/{url}` - To remove a cached web page.

2. **Request Structure**:
- For `POST /cache`:
- Body: `{ "url": "http://example.com", "content": "<html>...</html>", "ttl": 3600 }`
- For `GET /cache/{url}`: No body, just the URL parameter.
- For `DELETE /cache/{url}`: No body, just the URL parameter.

3. **Caching Logic**:
- Use an in-memory store (like Redis) or a distributed cache for storing cached pages.
- Implement a TTL (Time-To-Live) mechanism to expire cached entries
Ques:- Design friend of friend function for FB : Suppose there are 2 persons A and B on FB . A should be able to view the pictures of B only if either A is friend of B or A and B have at least one common friend . The interviewer discussed it for ne…
Right Answer:
To implement the "friend of friend" function for Facebook, you can follow these steps:

1. **Data Structure**: Use a graph where each user is a node and each friendship is an edge connecting two nodes.

2. **Check Friendship**: First, check if A is a direct friend of B. If yes, allow access to B's pictures.

3. **Check Common Friends**: If A is not a direct friend of B, retrieve the list of friends for both A and B.

4. **Find Common Friends**: Compare the two lists to see if there is at least one mutual friend.

5. **Access Control**: If a common friend exists, allow A to view B's pictures; otherwise, deny access.

This approach ensures that A can view B's pictures only under the specified conditions.
Ques:- In designing component package / framework using Interface programming, where is the best place to put the Interfaces to reduce dependencies? In a single assembly that is referenced by other assemblies. In the domain assembly near the class that inherits
Right Answer:
In a single assembly that is referenced by other assemblies.
Ques:- What are the steps for desinig s/w project?
Right Answer:
1. Define project goals and objectives.
2. Gather and analyze requirements.
3. Create a high-level architecture and design.
4. Develop a detailed design specification.
5. Plan the project timeline and resources.
6. Implement the design through coding.
7. Conduct testing and quality assurance.
8. Deploy the application.
9. Monitor and maintain the software post-deployment.
Ques:- Millions of book, how to find duplicates(book title may have error)
Right Answer:
To find duplicates among millions of books with potential title errors, use the following approach:

1. **Data Preprocessing**: Normalize the titles by converting them to lowercase, removing punctuation, and trimming whitespace.

2. **Fuzzy Matching**: Implement fuzzy string matching algorithms (like Levenshtein distance or Jaccard similarity) to identify similar titles.

3. **Clustering**: Group similar titles using clustering techniques (e.g., k-means or hierarchical clustering) based on their similarity scores.

4. **Manual Review**: For clusters with high similarity, perform a manual review to confirm duplicates.

5. **Database Indexing**: Use a database with indexing to efficiently store and query the titles.

6. **Continuous Improvement**: Continuously refine the matching algorithm based on feedback and new data.
Ques:- Suppose there are 2 persons A and B on FB . A should be able to view the pictures of B only if either A is friend of B or A and B have at least one common friend . The interviewer discussed it for nearly 30 minutes . The discussion mainly included…
Right Answer:
To implement this requirement, you can use a graph data structure where each user is a node, and friendships are edges connecting these nodes. When user A wants to view user B's pictures, check if A is directly connected to B (i.e., they are friends) or if there exists a common friend (i.e., a mutual connection) between A and B. If either condition is met, allow access to B's pictures; otherwise, deny access.
Ques:- Design an online movie booking system
Right Answer:
To design an online movie booking system, consider the following components:

1. **User Interface**: A web/mobile application for users to browse movies, showtimes, and book tickets.

2. **Backend Services**:
- **Movie Database**: Store movie details (title, genre, duration, rating).
- **Showtime Management**: Manage showtimes for each movie, including available seats.
- **Booking System**: Handle ticket reservations, including seat selection and payment processing.

3. **Database**:
- **Users Table**: Store user information (name, email, password).
- **Movies Table**: Store movie details.
- **Showtimes Table**: Store showtime details linked to movies.
- **Bookings Table**: Store booking information (user ID, movie ID, showtime ID, seat numbers).

4. **Payment Gateway**: Integrate a payment processing service for secure transactions.

5. **Notification System**: Send confirmation


Application Architecture refers to the blueprint or framework that outlines how software applications are structured and how their components interact with each other and with external systems. It involves defining the layers, modules, interfaces, and data flow to ensure that an application meets business requirements, performs efficiently, and is easy to maintain and scale.

A well-designed application architecture considers aspects such as usability, security, performance, and reliability. Common architectural patterns include monolithic, microservices, client-server, and event-driven architectures. Architects decide on technology stacks (like databases, APIs, frontend/backend frameworks), integration methods, and deployment strategies.

Professionals working in this domain analyze business needs and translate them into technical specifications. They also focus on modularity, reusability, and ensuring that different components can evolve independently without breaking the system. Understanding cloud architectures, containerization (Docker, Kubernetes), and DevOps practices is increasingly important.

Good application architecture reduces development time, improves collaboration between teams, and supports future growth. It helps avoid technical debt and ensures that applications remain robust as user demands increase.

Whether you’re a software developer, system architect, or project manager, knowledge of application architecture principles is essential for delivering quality software solutions aligned with organizational goals.

AmbitionBox Logo

What makes Takluu valuable for interview preparation?

1 Lakh+
Companies
6 Lakh+
Interview Questions
50K+
Job Profiles
20K+
Users