This video highlights how Big Tech has reduced years of nuanced engineering into a standardized ritual of rote-memorized jargon and patterns. It serves as a sobering reminder that technical interviews often prioritize performative knowledge over genuine architectural intuition.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Real Intuit Java Interview Questions For 4.3 Year Java DevelopersAdded:
Welcome back, guys. In this video, I'm going to share some real interview questions shared by one of our subscriber. His name is Rohan Deshmukh.
So, Rohan recently faced an interview at Intuit, and he has around 4.3 years of experience. And he shared all the questions with us. So, in this video, I will go through each question one by one and explain them in a simple way. Also, if you faced any interview recently, please share your questions with us. You can fill out the form in the description. It will really help others as well. All right, so let's start the video. So, interview started with the differences between one-to-many annotation and many-to-one annotation.
So, this is all about entities are related in the database. So, in one-to-many, one entity is connected with multiple entities. Like one user can have multiple orders, but each order belongs to only one user. Now, many-to-many annotation is different.
Here, both sides can have multiple relations. Like students and courses.
So, one student can join multiple courses, and one course can have multiple students. So, internally, a join table is created, and honestly, this matters a lot in performance because many-to-many can easily becomes heavy if not handled properly. By the way, guys, these questions and all other questions are already available in my interview preparation kit. If you want that, you can check the description. Then, the interviewer moved to the next question.
So, if one of your microservices goes down and others depends on it, what happens? How you can handle this situation? So, this is a real production scenario. First thing, you should never tightly couple services because failures are normal in distributed systems. So, here, you can use patterns like circuit breaker, which basically stops calling the failed service. Then, you can have fallback logic like returning default data or cached response. Also, retries help, but only for the temporary failure. And honestly, timeouts are critical here because because you don't want one slow service to bring down the entire system. Then, they try a bit deeper. What is the difference between retry and circuit breaker? So, retry is a simple. If a call fails, you try again. This works only if failures is temporary. Like network glitch. But if service is completely down, retry will just keep hitting it again and again, and that's bad idea. Now, circuit breaker is smarter. It detects failure, and after a threshold, it stops calling that service and return fallback directly. So, basically, retry is reactive. Circuit breaker is proactive.
Now, the next question is, uh can tree set contains null and why? Honestly, no.
Tree set cannot contain null, and the reason is tree set uses sorting either natural ordering or comparator. And when it tries to compare null, it throws null pointer exception because null cannot be compared. So, if you try to add null, it will fail at runtime, unlike hash set, which allows one null. So, yeah, this is more about how internal comparison works.
Got it? So, continue with the next question. How does Java handle memory management? See, Java handles memory automatically using garbage collections.
So, you don't manually allocate and free memory like C or C++. Objects are created in heap, and when they are no longer referenced, GC comes into the picture. It identifies unused object and removes them. Now, internally, there are different GC algorithms like GC1, CMS, GNC, ZNC, and honestly, you don't need deep internal in interviews. But you should know memory leaks can still happen if references are held unnecessarily. Then, the interviewer moved to the next question. How would you disable auto configuration for a specific class in Spring Boot? Okay, so this is more about controlling Spring Boot behavior. By default, Spring Boot auto configures everything. But sometimes, you want to exclude something. So, you can use Spring Boot application annotation with exclude or enable auto configuration with exclude.
So, you just pass the class name, and and that auto configuration will not load it. Also, you can use property-based exclusion in application properties. So, yeah, you can have both annotation and config level control.
Then, moving to the next question. How does Spring Boot handle dependency injection? See, Spring Boot uses IOC container. Basically, it creates objects for you and inject dependencies automatically using annotations like autowired annotation or constructor injection. Now, internally, Spring scans components, creates beans, and manages life cycles. And honestly, constructor injection is preferred because it makes dependency explicit and easier to test.
Now, this is where things get interesting. Can you explain a tough production bug you faced and how you debugged and resolved it? This is very important question, guys. This is more of a real experience question. So, don't give generic answer. You should talk about something real. Like maybe high latency or data inconsistency. For example, a common issue is API shutdown.
So, first you check logs, then metrics like CPU, memory, then trace request using tools like logs or APM. And once you find the root cause, maybe a slow DB query, you optimize it. Add indexing or caching, and then verify in the production. So, here, they are checking your debug approach, not just the issue. Then, the interviewer moved to the next question.
Have you written test cases for async methods? See, testing async code is tricky because execution is not immediate, and you need to wait for completion. So, in Java, you can use CompletableFuture or or async frameworks. And in testing, you can use things like CompletableFuture.join method or libraries like awaitability to wait until result is ready. Also, you should validate both success and failure cases. So, yeah, the key is handling timing properly in test. Then, the next question is, what is the difference between Git rebase and cherry-pick?
Okay, so both are used to apply commits, but in different ways. Rebase takes a set of commits and reapplies them on the top of another branch. It changes commit history, so it looks clean. Now, cherry-pick is selective. You pick a specific commit and apply it to another branch. So, use rebase for linear history. Use cherry-pick for specific changes. And honestly, be careful with rebase or shared branches. Then, the interviewer moved to the next question.
What is the difference between map and flatMap method in Java stream? See, map is simple. It transforms one value to another. Like converting a list of string to list of lengths. Now, flatMap is different. It is used when each element produces multiple values, and you want to flatten them. Like list of lists.
So, map gives you nested structure.
FlatMap flattens it. So, basically, map means one-to-one, and flatMap means one-to-many. And quick reminder, guys, if you also faced any Java interviews recently, please share your questions with us.
Form in the description. And if you want the interview preparation kit, it is available in the description. All right.
The next question is, what is the difference between autowired annotation and XML-based dependency injection? See, both are doing the same thing, injecting dependencies, but the approach is different. Autowired is annotation-based. Everything is inside the code, clean, easy to read, less configuration. Now, XML-based injection is old style. You define beans in XML and provide them there. So, it's an internal configuration. And honestly, in modern projects, we we prefer annotation-based because it reduces boilerplate code. But conceptually, both relies on the same IOC container. Then, we move to the next question. Why does rollback work for checked exception in Spring? So, this is very tricky one. By default, Spring rollbacks only for runtime exception, not checked one because checked exceptions are considered exceptions expected scenarios. So, Spring assumes you might want to handle them. If you want rollback, you have to explicitly configure it using transactional annotation with rollback for. So, yeah, this is not a bug. This is a default behavior. Next question is, why is HashMap not thread-safe?
HashMap is designed for single thread uses. It does not have synchronization, so multiple threads modify it, data can get corrupted. Like infinite loop or lost updates because operations are not atomic. Now, for multithreading, you use ConcurrentHashMap, which handles concurrency properly. So, yeah, HashMap is fast, but unsafe for multithreaded environments. Now, uh they asked another question. How would you sort employee by salary efficiently? Okay, so this is a practical coding question. In Java, you can use Collection.sort or stream API with like Comparator.comparing method.
And efficient Now, efficiency depends on data size. Internally, Java uses TimSort, which is optimized. Also, sorting is frequent.
You might want to use sorted structures like TreeMap or maintain order at insertion. So, yeah, so yeah, simple comparator works, but think about scale.
Then, the interviewer moved to the next question. If multiple threads updates a shared volatile variable, is data integrity guaranteed? See, volatile only guarantees visibility, not atomicity.
So, when one thread updates, another can see latest value. But if multiple threads modify it, like incremental operation, that is not atomic. So, data integrity is not guaranteed. You need synchronization or atomic classes like atomic integer. So, yeah, volatile is not enough for updates. Then, they went a bit deeper. If a junior developer faces a production issues under a tight deadline, would you take over or guide them? And honestly, this is more about leadership. You you don't just take over immediately. First, you guide them. Help them think. But if deadline is critical and impact is high, then you step in.
Fix the issue, and later, you explain the solution. So, balance is important.
Deliver fast, but also help team grow.
Then, the interviewer moved to the next question. What happens if a subclass defines a static method with the same signature as in the superclass? So, this is method hiding, not overriding, because static methods belongs to the class, not object. So, the method called depend on the reference type, not object type. And if you call using parent reference, parent method execute, even if object is child. So, yeah, this is compile time binding, not runtime. Then, the next question is very basic and very important question. What is the difference between double equals and equals method in Java? See, this is one of those basic but tricky question.
Double equals check reference. So, it tells whether two variables are pointing to the same object. Now, equals check content, but only if it is properly overridden. Like in a string, equals compare the actual value. So, two different objects can still be equal.
And honestly, many people confuse this.
So, always remember, double equals means memory reference and equals method means logical comparison. Then, the interviewer moved to the next question.
Have you worked on migrating from monolith architecture to microservice architecture? So, okay, so this is more of a experience-based question. So, you should talk about real scenarios, like breaking a big application into smaller independent services. So, first identify boundary context. Split Split module gradually, not everything at once. Also, handle database separation and communication between services, like REST or Kafka. Honestly, biggest challenge is data consistency or deployment. So, yeah, focus on practical challenges, not just theory. Now, moving to the next question. Why do we need service repository and controller layer in Spring Boot application? See, this is more about separation of concern.
Controller handles requests, service contains business logic, and repository interacts with databases. If you mix everything, code becomes messy, hard [snorts] to maintain, and hard to test.
So, layering helps in clean architecture. Also, you can change one layer without affecting others. So, yeah, this is more about structure and maintainability. Now, moving to the next very interesting question. How do you create and use custom exception in Java?
Okay, custom exceptions are simple. You extend exception or runtime exception and create your own class. Then, throw it when specific condition fails, like validation error. Also, you can add custom messages or fields. In Spring, you can handle them using controller advice annotation. So, yeah, this helps in better error handling and clean code.
Then, we move to our next question. Why causes no unique bean definition exception in Spring? See, this happens when Spring finds multiple beans of the same type and doesn't know which one to inject. So, ambiguity happens. To fix this, you use qualifier annotation or mark one bean as primary bean. So, Spring knows which one to pick. So, basically, so yeah, it it's basically conflict resolution. Then, the next question is, what makes a interface a functional interface? So, basically, a functional interface has exactly one abstract method. That's it. You can have multiple default or static method, but only one single abstract method. This is required for lambda expression, like runnable. So, yeah, single abstract method is the key condition. Then, the interviewer moved to the next question.
What is the difference between vector and array list? See, both are list implementation, but vector is synchronized. Array list is not synchronized. So, vector is thread safe, but it is slower. Array list is faster, but it is not thread safe for multiple thread. And honestly, vector is rarely used now because better alternative exist right now, like collection.
synchronized list or concurrent classes.
So, yeah, array list is preferred in most cases. Now, the next question they have asked, have you used query annotation JPQL in Spring Data JPA?
See, this is used when derived queries are not enough. Sometimes, method names becomes too complex or you just need custom logic. So, yeah, you write JPQL using query annotation. It works on the entity names, not tables, and it gives more controls, like joins, custom condition. And honestly, in real projects, you will use query annotation a lot, especially for the optimized queries. Now, the interviewer moved to the next question. How would you handle disagreements with a senior team member?
Okay, so this is more about communication, not ego. First, understand their point. Don't directly argue. Then, present your perspective with logic and maybe data. If still disagreement, involve team discussion or lead discussion. Honestly, goal is the best solution, not proving yourself right. So, stay very professional. Now, the next question is from microservices design pattern. What is the Saga design pattern in microservices? Saga design pattern is used for handling distributed transaction because in microservices, you don't have a single database. So, you can't use traditional transactions.
Instead, you break the transaction into multiple steps. Each service perform its part, and if if something fails, compensating actions are triggered to roll back previous steps. So, yeah, it ensures consistency without locking everything. Next question is, what does spring.profiles.active do and how do you set it at runtime? So, this is used to activate environment specific configs, like dev, QA, prod, based on profile. Spring loads corresponding properties. Now, you can set in multiple ways, like application properties or command line argument or environment variables. And in real project, runtime setting is very common, especially in the deployments. Then, they went bit deeper. Which database have you worked with and why? So, this is a experience-based. You can mention MySQL, PostgreSQL, Oracle, based on your project and explain why, like performance, scalability, communication support. Also, mention use cases, like transactional system or analytics.
Honestly, they want to see your decision thinking, not just names. Now, our next question is, what is the difference between built-in and custom exceptions?
See, built-in exceptions are already provided by Java, like null pointer exceptions.
Uh custom exceptions are created by you for specific scenarios, like business validation. So, built-in handle generic errors, and custom handles domain-specific errors and help in better control. So, yeah, custom exception improve clarity. Moving to our next question. What happen when two different keys have the same hash code in hash map? Okay, so this is called collision. Hash map handles it internally using bucket. Earlier, it used linked list. Now, it can use tree structure. If collision increases, so even if hash is same, keys are compared using equals method. So, data is still stored correctly. And honestly, this is important for understanding internals of hash map working. The next question is, how do you configure application properties in Spring Boot? Properties or YAML? See, both are used for the configuration. Properties key-value format, simple, flat. YAML is hierarchical, more readable for complex configs, like nested structures. And honestly, both work the same way. It's more about readability. Many teams prefer YAML for cleaner structure. Then, moving to the next question. How do microservices communicate in your project? Is it REST? Is it Kafka? Is it gRPC? See, there are multiple ways. REST is most common, simple HTTP call. Kafka is used for async communication, event-driven. gRPC is faster binary protocol, used for high performance. So, choice depends on the use case, async versus sync or latency requirement. So, yeah, you should explain based on your project. Then, moving to our last question. How are deployments handled in your application? CI/CD pipelines or tools you can mention. So, yeah, this is more of the DevOps flow. Code goes to the repository, pipelines get triggered, build happen, test run, and deployment to the environment. Tools like Jenkins, GitHub Actions, these are used or other tools are also used. Also, you can use Docker, Kubernetes. And honestly, they want to see end-to-end understanding, not just coding. So, that was all from this interview. I hope these question and answer will help you a lot. And if you like this video, make sure to subscribe our channel and share it with your friends as well who are preparing for the interviews. And don't forget, if you want to share your question, link in the description for more interview, link in the description. And for the interview preparation kit as well. I will see you in the next video. All the best for your interviews. Thank you so much.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 views•2026-06-01











