Back to feed
Single Experience
NS
Nigeeta Sah's profile picture
Interview Experience
Nigeeta Sah
Bloomberg
Intern
CS 2028
Friday, August 14, 2026
193 reads
7 min read

Interview Preparation Guidelines

1. Research the Company Thoroughly

Before talking about your interview experience or preparing for a company, always research the company and its products in depth.

This is especially important because your preparation for the technical rounds should also help you in the HR and Managerial rounds.

  • Understand what the company does.

  • Study its major products and services.

  • Understand the problems the company is solving.

  • Learn about its customers and business model.

  • Understand the technologies and engineering challenges relevant to its products.

  • Attend the company PPT/session whenever available.

  • Make notes from the PPT and try to reference specific points from it during your HR/Managerial rounds.

For example, if the company PPT discusses a particular product, engineering challenge, or company value, you should be able to naturally say during the HR round:

"During the company presentation, you mentioned X, and that particularly interested me because..."

This shows that you are genuinely interested in the company rather than simply applying everywhere.


2. Don't Apply Half-Heartedly

If you decide to apply to a company, give it everything you have.

Don't prepare differently for different rounds as if each round is isolated. Your preparation should cover the entire interview process.

Whether the round is:

  • DSA

  • System Design

  • Project Discussion

  • Core CS

  • HR

  • Managerial

—you should be prepared to explain your thinking clearly from start to finish.

The most important thing during an interview is communication.

Don't just jump to the final solution.

Instead:

  1. Understand the problem.

  2. Clarify the requirements.

  3. Ask questions.

  4. Discuss possible approaches.

  5. Explain the approach you are considering.

  6. Discuss the trade-offs.

  7. Decide on an approach.

  8. Explain why you selected it.

  9. Implement it.

  10. Test it.

  11. Discuss edge cases.

  12. Analyze complexity.

  13. Discuss possible improvements.

Make the interviewer part of your thought process.

Don't spend 20 minutes silently solving the problem and then present the answer.

Communicate what you are thinking, ask questions, and wait for the interviewer to respond.

The goal is not just to show that you can reach the solution.

The goal is to show that you can collaboratively reach a solution.


3. DSA Preparation

For DSA, consistency and volume matter.

The preparation should cover:

  • Arrays

  • Strings

  • Linked Lists

  • Stacks & Queues

  • Trees

  • Binary Search Trees

  • Heaps

  • Graphs

  • Dynamic Programming

  • Greedy Algorithms

  • Backtracking

  • Recursion

  • Tries

  • Advanced Graph Algorithms

  • Advanced Data Structures

Don't just memorize solutions.

For every problem, understand:

  • Why does this approach work?

  • What is the brute-force solution?

  • How can it be optimized?

  • What is the time complexity?

  • What is the space complexity?

  • What are the edge cases?

  • Are there alternative approaches?

  • What are the trade-offs between those approaches?

The mindset should be:

Don't just solve the problem. Understand why the solution works.

If you want to be among the strongest candidates, your preparation has to reflect that level of commitment.


4. System Design Preparation

System Design should become a daily habit.

Spend approximately 1 hour every day studying and practicing System Design.

A useful resource for System Design preparation is Hello Interview on YouTube.

While studying System Design, focus on understanding the reasoning behind architectural decisions rather than memorizing diagrams.

For every design, ask:

  • What are the requirements?

  • What are the functional requirements?

  • What are the non-functional requirements?

  • What is the expected scale?

  • How much traffic are we handling?

  • What is the read/write ratio?

  • What are the core entities?

  • What APIs are required?

  • What database should we use?

  • SQL or NoSQL?

  • How will we scale?

  • Where will caching help?

  • Where do we need queues?

  • How do we handle failures?

  • How do we maintain consistency?

  • What are the bottlenecks?

  • What are the trade-offs?

The interviewer should see how you arrive at the architecture, not just the final architecture.


5. Database Preparation

For database-related preparation, Arpit Bhayani is a useful resource.

Focus on understanding databases from first principles:

  • Indexing

  • B-Trees

  • Transactions

  • ACID

  • Isolation levels

  • Locks

  • Concurrency

  • Replication

  • Sharding

  • Partitioning

  • CAP theorem

  • Consistency

  • Query optimization

  • Database internals

Don't just remember definitions.

Try to understand why a database behaves the way it does.


6. Advanced DSA

For advanced DSA preparation, Vivek Gupta is a useful resource.

Additional advanced DSA material:

https://drive.google.com/drive/folders/1gc9oSXpi3asc-bMU4eCd06LnumbRBjJs

Use these resources to go beyond the standard interview-level questions and strengthen your understanding of advanced techniques.


7. Prepare Your Projects From Every Angle

You should be able to defend every major decision you made in your project.

Don't prepare only a 2-minute project explanation.

Prepare the project from every possible angle.

For example:

Architecture

  • Why did you choose this architecture?

  • Why not another architecture?

  • What are the components?

  • How do they communicate?

  • Where are the bottlenecks?

Database

  • Why did you choose this database?

  • What are the core entities?

  • What does the schema look like?

  • What are the relationships?

  • Which fields are indexed?

  • Why?

  • What happens when the data grows?

Scalability

  • What happens if traffic increases 10×?

  • What happens if traffic increases 100×?

  • What is the bottleneck?

  • How would you scale horizontally?

  • Where would you introduce caching?

  • Would you need a queue?

  • Would you need sharding?

Core Technologies

Be prepared to explain why you used every important technology.

For example:

  • Why MCP?

  • Why RAG?

  • Why this database?

  • Why this framework?

  • Why this messaging system?

  • Why this caching layer?

  • Why this architecture?

And if you don't know something, don't panic.

Approach it from first principles.

Explain what you know, identify what you don't know, and reason toward a possible solution.


8. Core CS Subjects

Don't ignore your core subjects.

Prepare:

  • Operating Systems

  • DBMS

  • Computer Networks

  • OOP

  • Computer Architecture

  • Concurrency

  • Distributed Systems

You should understand both the theory and practical implications.

For example, don't just know that an index makes queries faster.

Understand how the index works, why it improves lookup, what it costs, and when an index can actually hurt performance.


9. Don't Outsource Your Learning

One important point: do your lab assignments yourself.

Using ChatGPT or other tools to completely solve your assignments defeats the purpose of the exercise.

Take your time.

Make mistakes.

Debug them.

Read documentation.

Search for the answer.

Try different approaches.

Then use AI as a learning assistant, not as a replacement for your own thinking.

The objective is not simply to submit the assignment.

The objective is to develop the ability to solve problems independently.
Interview Round Details

Interview Round Details

Important: All candidates are asked the same questions in each round, ensuring a consistent interview experience and evaluation.

Round 1 — DSA | 30 Minutes

This round focuses on Data Structures and Algorithms, with the primary problem based on Stacks.

The candidate is expected to:

  • Understand the problem clearly.

  • Ask clarifying questions before coding.

  • Discuss the brute-force approach first.

  • Identify opportunities for optimization.

  • Explain the chosen approach and why it works.

  • Implement the solution.

  • Discuss time and space complexity.

  • Consider edge cases.

  • Test the solution with different inputs.

  • Communicate their thought process throughout the round.

Problem Focus: Stack-based problem.

The emphasis is not only on reaching the correct answer but also on problem-solving ability, coding quality, and communication.


Round 2 — Advanced DSA | 60 Minutes

This round goes deeper into problem-solving and focuses on a Priority Queue–based problem involving pruning/optimization.

The candidate is expected to demonstrate:

  • Strong understanding of Priority Queues / Heaps.

  • Ability to identify unnecessary states or computations.

  • Effective use of pruning to reduce the search space.

  • Ability to compare multiple approaches.

  • Understanding of time and space trade-offs.

  • Clean implementation.

  • Handling of edge cases.

  • Ability to optimize the solution after discussing the initial approach.

The interviewer should be able to understand every major decision made by the candidate rather than only seeing the final code.


Round 3 — System Design | 60 Minutes

This round focuses on designing WhatsApp-like messaging infrastructure with a strong emphasis on reliability, fault tolerance, and failure handling.

The candidate will be asked to design a system that can handle messaging between users while considering scenarios where individual components or even the entire system can crash.

The discussion should cover:

  • Functional requirements.

  • Non-functional requirements.

  • User and message entities.

  • APIs.

  • Message delivery.

  • Online/offline users.

  • Message persistence.

  • Delivery guarantees.

  • Message ordering.

  • Retries.

  • Duplicate messages.

  • Idempotency.

  • Queues.

  • Database design.

  • Caching.

  • Replication.

  • Sharding.

  • Horizontal scalability.

  • Fault tolerance.

  • Disaster recovery.

  • Data loss scenarios.

  • Service failures.

  • Database failures.

  • Network failures.

  • Entire-region/system failures.

  • Recovery mechanisms.

  • Monitoring and observability.

A particularly important part of the discussion is:

"What happens if everything crashes?"

The candidate should reason from first principles about how the system can recover and what guarantees can realistically be provided.

For example:

User sends message → Message accepted → Persisted → Queued → Delivered → Acknowledged → Retried if necessary → Recovered after failure

The candidate should explain the trade-offs at every stage.


Round 4 — HR / Experience | 30 Minutes

This round focuses on the candidate's:

  • Academic experience.

  • Projects.

  • Previous experience.

  • Motivation.

  • Communication.

  • Problem-solving mindset.

  • Interest in the company.

  • Interest in the Software Engineer role.

Candidates should have thoroughly researched the company and its products before this round.

They should also attend the company presentation/PPT and understand the information shared there.

During the discussion, candidates can refer to specific points from the company presentation to demonstrate genuine interest and preparation.


Round 5 — Senior Manager / HR | 30 Minutes

This round focuses primarily on the candidate's:

  • Overall experience.

  • Projects.

  • Academic background.

  • Career goals.

  • Motivation.

  • Why Software Engineering?

  • Why this company?

  • Why this role?

  • Ownership.

  • Decision-making.

  • Leadership and collaboration.

  • Communication skills.

  • Long-term goals.

The interviewer may also go deeper into projects discussed in previous rounds.

Therefore, candidates should be prepared to explain their projects from every aspect, including:

  • Architecture.

  • Database design.

  • Core entities.

  • Scalability.

  • Reliability.

  • Technology choices.

  • Why MCP?

  • Why RAG?

  • Alternative approaches.

  • Trade-offs.

  • Limitations.

  • Future improvements.


Overall Interview Philosophy

Every candidate receives the same question in each respective round. This keeps the interview process consistent and allows candidates to be evaluated on the same problem-solving dimensions.

However, the evaluation is not only about getting the correct answer.

Throughout every round, candidates should:

  1. Understand the problem.

  2. Ask clarifying questions.

  3. State their assumptions.

  4. Discuss the initial/brute-force approach.

  5. Explore alternative approaches.

  6. Explain the chosen approach.

  7. Discuss trade-offs.

  8. Communicate every important decision.

  9. Implement or design the solution.

  10. Test it against edge cases/failure scenarios.

  11. Analyze complexity and scalability.

  12. Discuss possible improvements.

The key expectation

Don't silently solve the problem. Make the interviewer part of your thought process.

Ask questions, explain your reasoning, wait for their response, and then continue.

The objective is to demonstrate not only that you can find a solution, but that you can reason, communicate, collaborate, and make engineering decisions under uncertainty.

193 reads

Shared on theInterview community feed

Related Experiences

Hand-picked interview stories similar to this one.

8 posts