This interview guide is for educational and informational purposes only. It is designed to help readers prepare, but it does not guarantee any interview result, hiring decision, offer, or outcome. Interview questions, hiring criteria, and preferred answers can vary by employer, interviewer, industry, location, and time. The examples and explanations reflect the authors' research and judgment, are provided without warranties of any kind, and should not be treated as the only correct approach. Diagrams are simplified illustrations intended to highlight the main components and their interactions; actual systems and implementations may be more complex. Alternative approaches may be equally valid or better suited to a particular question, context, or interviewer. To the fullest extent permitted by applicable law, the author, contributors, and publisher are not liable for decisions made, actions taken, or losses incurred based on this guide.
Identity, Image, and Privacy Notice
To respect individual privacy, some names, profile photographs, avatars, biographical details, and other identifying information displayed in this guide may be replaced with pseudonyms, licensed stock images, illustrative avatars, composite images, or representative descriptions. Unless a person is expressly identified as an actual contributor, a displayed name, image, or profile should not be understood as depicting or identifying a specific candidate, interviewer, employee, or other real individual. These representations are provided for editorial and illustrative purposes only and do not imply endorsement, employment, participation, or affiliation with this guide or any company mentioned in it. Any resemblance to an actual person is coincidental.
Company Notice
This guide is an independent educational resource and is not affiliated with, endorsed by, sponsored by, or approved by the company named in this guide. Company names are used only to identify interview experiences commonly reported by candidates. Interview practices can change without notice, and inclusion of company-specific content does not mean these questions are official, complete, or guaranteed to be asked. To the fullest extent permitted by law, the author, contributors, and publisher are not responsible for outcomes related to use of this material.
Questions or comments?
Contact us for general questions, or share feedback, technical corrections, and comments with the community.
41. Tell me about a time you lead a project and there was a underperform team-mate. How would you solve the problem to achive the timeline of the project.BehavioralHardGoogle
i Question Details
Use the reported Google question and keep the answer focused on delivery risk, coaching, accountability, and how the team stayed on schedule.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a project where one team member was falling behind, how you identified the delivery risk early, spoke with the person privately to understand the cause, adjusted work where needed, provided practical support, set clear expectations and checkpoints, and kept the team focused on delivering the important work on schedule.
Situation
In my last role, I was leading a .NET application project with a fixed delivery date. During development, I noticed that one team member was repeatedly missing agreed tasks. Their work was also blocking API integration that other developers needed. I saw this as both a delivery risk and a team issue, so I wanted to address it early without blaming the person.
Task
My responsibility was to keep the project on schedule while also helping the team member become productive again. I needed to understand why the work was falling behind, protect the critical path of the project, and make sure expectations were clear for everyone.
Action
I first reviewed the remaining work and identified which tasks were blocking other developers. Then I spoke with the team member privately. I focused on the work and the impact instead of making it personal. I asked what was making the tasks difficult and learned that they were struggling with part of the existing .NET codebase and were spending too much time trying to solve problems alone. I paired with them on one of the difficult areas and explained the existing service flow and coding patterns. I also encouraged them to raise blockers earlier instead of waiting until a task was already late. Next, I reorganized the work so that the most important blocking tasks were smaller and easier to track. I kept ownership with the team member where it made sense, but I moved one urgent integration task to another developer so the rest of the team would not remain blocked. I explained this decision openly as a schedule protection measure, not as punishment. We then agreed on clear daily checkpoints for the remaining critical work. I used those checkpoints to remove blockers quickly and confirm that progress matched the delivery plan. At the same time, I kept the rest of the team informed about dependencies and priorities without discussing the team member's performance publicly.
Result
The critical work moved forward, the team stayed on schedule, and the team member became more consistent after receiving clearer guidance and earlier support. The experience taught me that leadership is not only about assigning work. I need to notice delivery risk early, understand the reason behind poor performance, support improvement, and still make timely decisions that protect the project.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate balances leadership, empathy, accountability, and delivery pressure. A strong answer shows that the candidate addresses performance problems early, communicates privately and respectfully, removes blockers, sets clear expectations, and protects the project schedule without creating unnecessary conflict.
Interviewer may ask next
Why did you move one of the urgent tasks to another developer instead of leaving all of the work with the original team member?
I wanted to separate coaching from project risk. The team member still kept meaningful ownership, but one urgent task was blocking several other people. Moving that task protected the delivery path while giving the team member a realistic amount of work they could complete successfully. I explained the reason clearly so the change was understood as a delivery decision rather than a punishment.
What would you do if the team member continued to underperform after you provided support and clear expectations?
I would document the agreed expectations, the support provided, and the remaining gaps. I would have another direct conversation with the team member and make the impact on the project clear. If the problem continued, I would involve the appropriate manager while continuing to protect critical project work. I would still treat the person respectfully, but I would not allow an unresolved performance issue to put the whole delivery at risk.
42. Describe a project where you realized midway that your initial design wasn't going to work.BehavioralHardGoogle
i Question Details
Use the Prepfully Google SWE prompt and focus on the turning point, the redesign decision, and how you protected the project from slipping further.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a project where you recognized that the original design was creating performance and maintenance problems, explained the risk to the team, evaluated simpler alternatives, redesigned the critical path, reduced further schedule impact, and delivered a more reliable solution.
Situation
In my last role, I was working on a .NET application that processed a large set of business records and called several external services. My initial design handled the entire workflow inside one synchronous request. It looked simple during early development, but midway through the project our integration testing showed that the request could take too long and become fragile when an external service slowed down or failed.
Task
I was responsible for the backend design, so I needed to decide whether we could safely continue with the original approach or whether we should redesign it. I also needed to protect the schedule because changing the architecture midway could easily create more delay if we expanded the scope too much.
Action
I first reproduced the problem with realistic test data and traced where the time was being spent. That confirmed that the issue was architectural rather than a small code optimization. I explained the finding to the team and showed why simply increasing request timeouts would hide the problem instead of solving it. I proposed changing the long running work to an asynchronous flow. The API would validate the request, store the work item, and return quickly. A background worker would then process the work and update its status. I kept the redesign focused on the failing part instead of rewriting the whole application. I separated the processing logic from the web request so we could reuse most of the existing code. I also added clear status values and retry handling so temporary external service failures would not restart the entire process. Before implementing the full change, I created a small working version of the new flow and reviewed it with the team. That gave us confidence that the approach solved the main risk. I then divided the change into small tasks, prioritized the critical processing path, and moved optional improvements out of the immediate scope. I kept the team informed about the design change, the remaining risks, and what we were deliberately not changing so the project would not continue slipping.
Result
The redesigned flow removed the long running request from the user path and made failures easier to isolate and recover from. We completed the project with a design that was more reliable and easier to maintain without turning the redesign into a full rewrite. I learned that when evidence shows a core design assumption is wrong, it is better to change direction early, but the redesign should be tightly scoped and supported by clear testing and communication.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate reacts when an important technical assumption fails after work is already underway. A strong answer shows that the candidate can recognize evidence, challenge their own design, make a practical redesign decision, communicate the impact, control scope, and protect delivery instead of continuing with a failing approach.
Interviewer may ask next
How did you know the design needed to change instead of just being optimized?
I tested the workflow with realistic data and traced the processing time. The main delay came from waiting on several external operations inside one synchronous request. Small code optimizations would not remove that dependency. That showed me the problem was the request model itself, so changing the processing flow was more appropriate than tuning individual methods.
What would you do differently if you faced a similar project now?
I would test the highest risk architectural assumption earlier. In this case, I would create a small performance and integration test for the full external service workflow before building too much around the synchronous design. That would help expose the risk sooner and reduce the amount of redesign needed later.
43. How do you handle feedback or design disagreements?BehavioralMediumGoogle
i Question Details
Use the Google Product Designer prompt and explain how you process criticism, respond to disagreement, and move the work forward without escalating unnecessarily.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a realistic design disagreement where you listened carefully to criticism, clarified the concern, compared options using shared requirements, proposed a small validation step, and helped the team reach a decision without making the discussion personal.
Situation
In my last role, I was working on a .NET service that processed requests from another internal system. During a design review, I proposed handling retries inside the service. Another developer disagreed and felt the retry behavior should stay with the calling system. The discussion became detailed because both approaches had valid benefits and risks.
Task
My responsibility was to help the team choose a reliable design without turning the disagreement into a personal debate. I also needed to make sure we understood how each option would affect duplicate requests, failure handling, and future maintenance.
Action
I first listened to the feedback and asked questions instead of defending my original design immediately. I wanted to understand the concern behind the criticism. The other developer was worried that automatic retries inside the service could hide failures and make duplicate processing harder to understand. I agreed that this was a real risk. I then explained why I had suggested service controlled retries, mainly because the service had better information about temporary failures. Instead of arguing about which person was right, I suggested that we compare both approaches against the same requirements. We reviewed what should happen during a temporary dependency failure, how duplicate requests would be prevented, where errors would be logged, and which component should own the retry decision. I also proposed a small test using the most important failure scenarios. That test showed that retrying every failure inside the service would create unnecessary complexity, but leaving all retry logic to the caller would also make recovery less consistent. I suggested a combined approach where the service would only retry clearly temporary internal failures and would use an idempotency check so the same request would not be processed twice. Other failures would be returned clearly to the caller. I documented the decision and the reasoning so the team had a shared reference. Throughout the discussion, I focused on the system behavior and the requirements rather than on defending my first idea.
Result
The team agreed on the revised design, and we moved forward without escalating the disagreement. The final approach was clearer about ownership of retries and duplicate protection. I also learned that useful feedback often exposes risks that are easy to miss when I am focused on my own solution. Since then, I try to treat design disagreements as a way to improve the decision rather than as something I need to win.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate reacts when their ideas are challenged. They want to see whether the candidate can listen to criticism, separate technical issues from personal opinions, explain reasoning clearly, evaluate alternatives fairly, and help a team reach a practical decision without unnecessary conflict.
Interviewer may ask next
Why did you suggest testing the failure scenarios instead of continuing the design discussion?
I wanted to move the discussion from opinions to observable behavior. Both designs sounded reasonable in theory, so testing realistic failure cases gave us a common way to compare them. It helped us identify the risks in each approach and made the final decision easier to support as a team.
What would you do if the other developer still disagreed after reviewing the evidence?
I would first confirm that we agreed on the requirements and understood the remaining point of disagreement. If the difference was still important, I would summarize both options, their tradeoffs, and the test results, then involve the appropriate technical owner for a decision. I would present the issue neutrally and support the final decision even if my preferred option was not selected.
44. Tell me about a time when you failed to meet a deadline. What did you fail to do? What did you learn?BehavioralMediumGoogle
i Question Details
Use the reported Google interview question and include the miss, the cause, the recovery, and the concrete lesson you carried forward.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a .NET development task where you missed an agreed delivery date, explain what caused the miss, how you communicated it, how you recovered the work, and what specific planning or risk management lesson you applied afterward.
Situation
In my last role, I was working on a .NET API change that supported a new business workflow. The change looked small at first, but during development I found that it also affected validation logic, database queries, and an existing integration. I had already committed to finishing the work by an agreed deadline.
Task
I was responsible for implementing the API change, testing the affected paths, and making sure the update was safe to release. I failed to complete that work by the original deadline because I underestimated the impact of the change and did not raise the delivery risk early enough.
Action
As soon as I knew the deadline was no longer realistic, I told my lead and the team instead of hiding the delay. I explained which parts were complete, what additional dependencies I had discovered, and why releasing the unfinished change would create unnecessary risk. I then broke the remaining work into smaller items. I finished the core API behavior first, verified the database queries, added tests around the affected validation and integration paths, and worked with the team to confirm that the revised behavior matched the requirement. I also reviewed why my estimate had been wrong. I realized that I had estimated mainly from the controller and service changes without tracing the full request flow into the database and external integration. After that experience, I started doing a short dependency review before giving estimates. I also began raising uncertainty earlier when a task touched several parts of the system.
Result
I completed the work after the original deadline and delivered it with the necessary testing instead of rushing an unsafe release. The main lesson for me was that missing a deadline is not only an estimation problem. Communication and early risk identification matter just as much. Since then, I have been more careful about tracing dependencies before committing to a date and more proactive about communicating when new information changes an estimate.
Why Interviewers Ask This
Interviewers ask this question to see whether a candidate takes ownership when a commitment is missed. They want to understand how the candidate handles estimation mistakes, communicates bad news, protects quality under schedule pressure, recovers the work, and turns the experience into a practical improvement. A strong answer shows accountability without blaming others and explains a concrete lesson that changed future behavior.
Interviewer may ask next
What would you do differently if you faced the same situation today?
I would trace the full request path before committing to the estimate, including the API layer, business logic, database access, tests, and any integrations. If some dependencies were still unclear, I would make that uncertainty visible and give the team an early risk update instead of waiting until I was certain the deadline would be missed.
Why did you choose not to rush the remaining work to meet the original deadline?
The remaining changes affected validation, database behavior, and an integration, so rushing them could have created a production issue that was harder to recover from than a short delay. I decided it was better to communicate the miss clearly, finish the important testing, and deliver a reliable change rather than meet the date with unnecessary technical risk.
45. Give me an example of a piece of feedback you received that was hard to hear.BehavioralHardGoogle
i Question Details
Use the Prepfully Google SWE prompt and explain the feedback, your reaction, and what changed in your behavior afterward.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a time when you received difficult feedback about how your working style affected the team, explain your initial reaction, how you checked whether the feedback was valid, what specific behavior you changed, and how that change improved your collaboration afterward.
Situation
In my last role, I was working on a .NET service that had several important changes scheduled for the same release. I cared a lot about code quality, so during code reviews I often focused quickly on design problems, edge cases, and possible production risks. After one review, my manager told me that although my technical comments were useful, the way I delivered them could feel too direct. The feedback was hard to hear because I believed I was helping the team by being precise and protecting quality.
Task
I needed to understand whether my communication style was making collaboration harder and change it without lowering the quality of my technical reviews. My responsibility was not only to find problems in the code. I also needed to help other developers understand the concern and feel comfortable discussing different solutions with me.
Action
My first reaction was defensive because I was thinking about my intention rather than the effect of my words. Instead of arguing, I asked my manager for specific examples so I could understand what had caused the concern. I then reviewed some of my recent comments and noticed a pattern. I sometimes wrote statements such as saying an approach was wrong before explaining the risk or asking why the developer had chosen it. I decided to change that behavior. In later reviews, I started by explaining the concrete concern, such as a possible concurrency issue, unnecessary database calls, or difficult error handling. Then I asked a question about the reasoning behind the implementation before suggesting an alternative. For larger design concerns, I moved the discussion from a long written comment to a short conversation so we could compare options together. I also made a point of recognizing parts of the solution that were clear or well designed. After several reviews, I asked my manager and teammates whether the change was helping. Their feedback was that my technical standards were still clear, but the conversations felt more collaborative. That showed me that being technically correct was not enough. The way I communicated the concern affected whether the team could use my feedback effectively.
Result
I kept the same focus on reliability and maintainability, but my code reviews became more constructive and easier to discuss. Teammates were more willing to explain their decisions and challenge my suggestions when they had a better option. The main lesson for me was to separate intent from impact. Since then, when I receive difficult feedback, I try to understand the specific behavior behind it, test a concrete change, and ask for follow up feedback instead of defending my original intention.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate responds when feedback challenges their self perception. A strong answer shows self awareness, humility, emotional control, and the ability to turn uncomfortable feedback into a specific behavior change. It also demonstrates whether the candidate can protect technical standards while improving how they work with other people.
Interviewer may ask next
What was the hardest part about accepting that feedback?
The hardest part was separating my intention from the effect of my communication. I believed I was being direct because I wanted to protect code quality, so my first instinct was to explain why my comments were technically justified. Once I looked at specific examples, I understood that the technical point could be correct while the delivery still made collaboration harder. That helped me focus on changing the behavior instead of defending the intention.
How would you handle similar feedback if you received it today?
I would ask for specific examples early, identify the behavior that created the problem, and agree on a concrete change I could test. I would then apply that change consistently and ask for follow up feedback after people had time to observe it. I would also avoid assuming that good intentions are enough. I would focus on whether my communication is helping the team understand the technical concern and make a better decision.
46. How do you collaborate with other teams?BehavioralEasyGoogle
i Question Details
Use the reported Google prompt and focus on cross-team communication, dependency management, and how collaboration changes when priorities differ.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a project where your .NET service depended on another team, how you agreed on responsibilities and timelines, communicated changes early, handled different priorities, and worked together to deliver a reliable result.
Situation
In my last role, I worked on a .NET service that needed data from an API owned by another team. Our teams had different priorities, and a change we needed was competing with work that was already important to them.
Task
I was responsible for completing our integration without creating unnecessary pressure on the other team. I needed to make the dependency clear, keep both teams aligned, and find a path that respected each team's priorities.
Action
I first spoke with the other team's engineers to understand their current work instead of assuming our request should come first. I explained what our service needed, why it mattered, and which parts were required for us to move forward. I then worked with them to define the API contract, expected data, error behavior, and ownership for each change. We agreed on a small initial change that met our immediate need while allowing their larger work to continue. I documented the agreement so both teams had the same understanding. During development, I shared progress and raised dependency risks early instead of waiting until a deadline was close. When their schedule changed, I adjusted our plan and created a temporary mock of the API so my team could continue development and testing. I also kept my own team informed about what was blocked, what was still moving, and why the timeline had changed. This helped us discuss priorities based on facts rather than frustration.
Result
The teams completed the integration with a clear contract and fewer surprises during final testing. We were able to keep our work moving even while the other team's priorities changed. I learned that good cross team collaboration depends on understanding the other team's constraints, making dependencies visible early, and finding solutions that help both teams make progress.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate works across team boundaries when ownership, dependencies, and priorities are different. A strong answer shows clear communication, respect for other teams' constraints, early risk management, practical compromise, and ownership of the shared result.
Interviewer may ask next
What did you do when the other team's priorities changed?
I first confirmed what had changed and how it affected the dependency. I then explained the impact to my team, adjusted our plan, and used a mock of the external API so we could continue development and testing. I kept communication open with the other team so we could integrate the real change as soon as it was available.
What would you do differently in a similar situation now?
I would identify the cross team dependency even earlier and agree on the API contract and fallback plan near the start of the work. That would give both teams more time to plan around changing priorities and reduce the chance that either team becomes blocked.
47. How do you handle conflict?BehavioralEasyGoogle
i Question Details
Use the reported Google prompt and describe the practical steps you take to resolve disagreement while protecting working relationships.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a realistic disagreement with a teammate, your responsibility for reaching a sound decision, how you listened to their concerns, focused the discussion on shared goals and evidence, agreed on a practical solution, and protected the working relationship.
Situation
In my last role, a teammate and I disagreed about how to implement a change in a .NET service. I preferred a simpler approach that was easier to maintain, while my teammate wanted a more flexible design that could support possible future requirements. The discussion was becoming repetitive because we were focusing on our preferred solutions instead of the actual problem.
Task
I needed to help the team reach a decision without turning the technical disagreement into a personal conflict. My goal was to choose an approach that met the current requirements, kept the service reliable, and allowed both of us to feel heard and respected.
Action
I first spoke with my teammate calmly and asked them to explain the problems they expected their design to solve. I listened without interrupting and repeated the main concerns back to make sure I understood them correctly. I then explained my concerns about adding complexity before we had a clear need for it. Instead of continuing to argue about opinions, I suggested that we compare both approaches against the same criteria, including the current requirements, maintainability, testing effort, and how difficult each option would be to change later. We reviewed the code together and found that the simpler design met the known requirements and could still be extended if the future need became real. I also included one small part of my teammate's suggestion because it improved the separation of responsibilities without adding much complexity. Before moving forward, I asked whether they were comfortable with the decision and documented the reasoning so the rest of the team understood why we chose that approach. Throughout the discussion, I focused on the design and the shared goal rather than on who was right.
Result
We agreed on the implementation and moved forward without damaging our working relationship. The solution stayed clear and maintainable, and the discussion gave us a better way to handle later technical disagreements. I learned that conflict is easier to resolve when I listen first, separate people from the problem, use shared decision criteria, and make sure everyone understands the reason behind the final choice.
Why Interviewers Ask This
Interviewers ask this question to understand whether a candidate can handle disagreement professionally. A strong answer shows that the candidate listens carefully, stays respectful, uses evidence and shared goals to make decisions, takes ownership of resolving issues, and protects long term working relationships.
Interviewer may ask next
What would you have done if your teammate still disagreed with the final approach?
I would have made sure I fully understood the remaining concern and checked whether new evidence changed the decision. If we still could not agree, I would have summarized both options and their tradeoffs and asked the appropriate technical lead or team member to help make the decision. Once the decision was made, I would support it professionally and continue working constructively with my teammate.
What did you learn from that conflict?
I learned that technical conflict becomes much easier to manage when the discussion is based on requirements and clear decision criteria instead of personal preference. I also learned that listening carefully before defending my own idea helps uncover valid concerns and makes it easier to reach a solution that everyone can support.
48. Walk me through a situation where someone on your team disagreed with your technical approach.BehavioralHardGoogle
i Question Details
Use the Prepfully Google SWE prompt and explain the disagreement, the evidence on each side, and how you reached a resolution.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a realistic .NET project where a teammate disagreed with your technical approach, explain the evidence supporting both options, show how you discussed the tradeoffs without making the disagreement personal, describe how you tested the important assumptions, and explain how the team reached a decision together.
Situation
In my last role, I was working on an ASP.NET Core service that returned data used frequently by several parts of an application. I suggested adding a distributed cache because the same data was being requested repeatedly even though it changed infrequently. Another developer disagreed. He preferred keeping the service simpler and reading directly from the database because he was concerned about stale data and the extra complexity of cache invalidation.
Task
My responsibility was to help the team choose an approach that improved performance without creating unnecessary operational risk. I also wanted to make sure the discussion stayed focused on evidence rather than on whose design idea was preferred.
Action
I first asked the other developer to walk me through his concerns so I could understand them clearly. His strongest point was that incorrect cache invalidation could cause users to receive outdated information. I agreed that this was a real risk. I then explained the evidence behind my proposal. The endpoint was serving repeated reads for data that changed only through a small number of known update paths, so I believed caching could reduce repeated database work. Instead of debating the design only in a meeting, I suggested that we test both approaches. I created a small prototype using the existing direct database path and another version using the distributed cache. We reviewed the query behavior, response characteristics, failure handling, and what would happen when data changed. I also changed my original proposal after hearing his concerns. Rather than relying mainly on a long expiration period, I proposed explicit cache removal from the known update paths, with a short expiration as a backup. We documented what would happen if the cache was unavailable so the service could still read from the database. After reviewing the prototype and the failure cases together, we agreed that the revised caching approach gave us a reasonable balance between performance, correctness, and complexity. I made sure the final decision was presented as a team decision rather than as my idea winning the disagreement.
Result
We implemented the revised approach and reduced unnecessary database work while keeping the service behavior predictable when cached data was missing or unavailable. The disagreement also improved the design because the other developer identified a correctness risk that my first proposal had not treated strongly enough. I learned that technical disagreement is most useful when I separate the person from the idea, make the tradeoffs visible, and use a small experiment when opinions alone are not enough to reach a decision.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate handles technical disagreement, especially when both sides have reasonable arguments. A strong answer shows that the candidate listens carefully, evaluates evidence, communicates tradeoffs clearly, changes an approach when new information is useful, and helps the team reach a sound decision without turning the discussion into a personal conflict.
Interviewer may ask next
What would you have done if the other developer still disagreed after reviewing the prototype?
I would have summarized the remaining disagreement in terms of specific technical risks and tradeoffs, such as stale data, database load, operational complexity, and failure behavior. If we still could not agree, I would have asked the appropriate technical lead to review the evidence with us. I would support the final team decision even if it was not my preferred option, as long as the important risks had been discussed clearly.
What did you learn from that disagreement that changed how you approach technical decisions now?
I learned to identify the strongest argument against my own approach before trying to convince other people. In this case, the cache invalidation concern led to a better design. Now I try to make assumptions explicit, ask teammates for the failure cases they are worried about, and use a small prototype or measurable evidence when a technical discussion depends too much on opinion.
49. Explain a time I needed to manage a large changeBehavioralEasyGoogle
i Question Details
Use the exact Google interview prompt and focus on a real organizational or product change, how you adapted, and what you did to keep work moving.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a large organizational or product change, explain what you were responsible for, how you adapted your plan and priorities, how you communicated with the team, what decisions you made to keep important work moving, and what you learned from the result.
Situation
In my last role, our team was maintaining a .NET application when the organization decided to move several important services to a new platform and change the way teams released software. The change affected our application architecture, deployment process, testing approach, and team responsibilities. We still had active product work, so we could not stop normal delivery while the transition happened.
Task
I was responsible for adapting the parts of the .NET application I owned while also helping the team continue delivering planned work. My goal was to understand the new requirements early, identify the biggest risks, and create a practical path that allowed us to move toward the new platform without causing unnecessary disruption.
Action
I first reviewed the new platform requirements and compared them with our existing application. I separated the work into changes we had to make immediately and changes that could wait. This helped us avoid trying to change everything at once. I then identified the services with the highest dependency risk and worked with the team to agree on the order of migration. For the areas I owned, I updated configuration and integration points so the application could work with the new environment while keeping the business behavior stable. I added and updated automated tests around the affected flows because I wanted us to detect problems before deployment. I also documented the main technical changes in simple language and shared them with developers who were working on related areas. During regular team discussions, I raised blockers early and explained how platform changes could affect current product work. When new requirements appeared during the transition, I reviewed their impact before changing our plan instead of reacting immediately. This allowed me to protect the most important work while still adapting to the larger change. I also kept close communication with the people responsible for the new platform so that assumptions were confirmed quickly and our team did not build against outdated information.
Result
The team was able to continue normal development while moving the application toward the new platform in controlled steps. The transition became easier to manage because responsibilities, risks, and priorities were clear. I learned that managing a large change is not only about adapting technically. It also requires breaking uncertainty into smaller decisions, communicating changes early, and helping the team understand what must change now and what can safely wait.
Why Interviewers Ask This
Interviewers ask this question to understand how a candidate responds when a major change affects normal work. A strong answer shows adaptability, ownership, practical judgment, clear prioritization, and the ability to communicate with others while keeping important work moving.
Interviewer may ask next
How did you decide which changes needed to happen first?
I focused first on changes that could block the application from working in the new environment or create risk for active product work. I reviewed dependencies, integration points, deployment needs, and testing impact. Changes that were necessary for compatibility came first, while improvements that were useful but not required were scheduled later.
What would you do differently if you managed a similar change again?
I would create a shared dependency and decision list even earlier. During this change, regular communication worked well, but a single place showing open decisions, owners, dependencies, and current assumptions would have made it easier for everyone to see how one change could affect another part of the application.
50. Tell me about a time you had to influence a decision without any formal authority over the people involved.BehavioralHardGoogle
i Question Details
Use the Prepfully Google SWE prompt and show how you built alignment, handled pushback, and got the decision across the finish line.
Interview tip:
Use STAR to structure your answer: briefly explain the Situation and Task, make Action the most detailed part, and finish with the Result. For example, describe a realistic project where you needed engineers and product stakeholders to change a technical approach, built alignment by explaining the risks and tradeoffs clearly, listened to concerns, handled pushback with evidence, and helped the group reach and execute a shared decision.
Situation
In my last role, our team was preparing a change to a .NET service that handled an important business workflow. The proposed approach was to add more logic directly into an existing API because it looked like the fastest way to deliver. I was concerned that this would make an already complex request path harder to maintain and would increase the risk of failures during future changes. I was not the technical lead, and the engineers and product stakeholders involved did not report to me.
Task
My responsibility was to help the team choose an approach that still met the delivery need but kept the service easier to understand and operate. Since I had no formal authority, I needed to influence the decision through clear reasoning, collaboration, and evidence rather than simply telling people what to do.
Action
I first made sure I understood why people preferred the existing proposal. I spoke with the engineers working on the change and learned that their main concern was delivery speed. I also spoke with the product stakeholder to understand which behavior was essential for the release and which parts could remain unchanged. Then I prepared a simpler alternative. Instead of adding several new responsibilities to the existing API flow, I suggested keeping the API focused on accepting and validating the request, while moving the new business processing into a separate application service with a clear interface. I created a small code example so the team could compare both approaches using the same use case. During the design discussion, I did not present my idea as the only correct answer. I explained the tradeoff clearly. The original approach required less initial restructuring, but it increased coupling, which meant unrelated logic would become more dependent on the same code path. My alternative required a little more structure but made the responsibilities easier to test and change independently. One engineer pushed back because they believed the extra service would slow delivery. I acknowledged that concern and suggested we limit the change to the smallest useful separation rather than redesigning the whole system. I also walked through how the new structure could reuse the existing validation and data access code, so the amount of additional work was smaller than it first appeared. I asked the team to challenge the proposal and adjusted it based on their feedback. This changed the discussion from defending individual ideas to comparing the risks together. Once the engineers were comfortable with the implementation effort and the product stakeholder confirmed that the smaller scope still met the business need, the group agreed on the revised design. I then helped update the implementation plan and worked with the team during development so the decision actually carried through into the code.
Result
The team delivered the required behavior with a clearer separation of responsibilities and without turning the existing API path into a larger block of mixed logic. More importantly, the decision had strong support because the people involved had helped shape it instead of feeling that it was imposed on them. I learned that influencing without authority works best when I first understand what each person is trying to protect, make the tradeoffs visible, and adapt my proposal so the group can reach a decision together.
Why Interviewers Ask This
Interviewers ask this question to understand whether a candidate can create alignment when they cannot rely on title or authority. A strong answer shows that the candidate listens to different concerns, explains tradeoffs clearly, handles disagreement respectfully, uses evidence instead of pressure, adapts when needed, and takes ownership of helping a shared decision move into execution.
Interviewer may ask next
How did you handle the engineer who disagreed with your proposed approach?
I first tried to understand the reason for the disagreement instead of defending my idea immediately. Their main concern was that introducing another application service would add work and put the delivery at risk. I agreed that delivery speed mattered, then reduced the scope of my proposal so we separated only the new business processing and reused the existing validation and data access code. That addressed the main concern while still solving the maintainability problem I had raised.
What would you do differently if you faced a similar situation again?
I would involve the key people even earlier, before a preferred solution becomes established. In this case, the discussion improved once I understood both the engineering concern about delivery effort and the product concern about required behavior. If I gathered those constraints earlier, I could help the group compare options sooner and reduce the amount of pushback needed later.
More questions load as you scroll
Disclaimer: This interview guide is for educational and informational purposes only. It is designed to help readers prepare, but it does not guarantee any interview result, hiring decision, offer, or outcome. Interview questions, hiring criteria, and preferred answers can vary by employer, interviewer, industry, location, and time. The examples and explanations reflect the authors' research and judgment, are provided without warranties of any kind, and should not be treated as the only correct approach. Diagrams are simplified illustrations intended to highlight the main components and their interactions; actual systems and implementations may be more complex. Alternative approaches may be equally valid or better suited to a particular question, context, or interviewer. To the fullest extent permitted by applicable law, the author, contributors, and publisher are not liable for decisions made, actions taken, or losses incurred based on this guide.
Company Notice: This guide is an independent educational resource and is not affiliated with, endorsed by, sponsored by, or approved by the company named in this guide. Company names are used only to identify interview experiences commonly reported by candidates. Interview practices can change without notice, and inclusion of company-specific content does not mean these questions are official, complete, or guaranteed to be asked. To the fullest extent permitted by law, the author, contributors, and publisher are not responsible for outcomes related to use of this material.