cswork / libraryOpen practice workspace

Interview guides · McKesson

McKesson Software Engineer Interview Guide

McKesson Software Engineer interview guide: reported rounds, questions and how candidates describe the process.

The 60-second brief

A Software Engineer at McKesson designs, builds, and maintains the technical infrastructure that powers one of North America's largest healthcare distribution and medical technology providers. Engineering teams at McKesson work across core platform services, automated distribution systems, specialty health platforms, and enterprise cloud operations. The code you write directly supports critical supply chain logistics, pharmaceutical management tools, and healthcare analytics platforms that healthcare providers rely on daily. The work balances enterprise stability with modern, scalable software architecture. Engineers build highly available back-end APIs, cloud-native services, automated data pipelines, and internal platforms.

This guide is scoped to a Software Engineer candidate at McKesson.

Focus areas

  • REST vs SOAP
  • Horizontal vs Vertical Scaling
  • IAM (Identity and Access Management)

The McKesson interview process

McKesson candidates report 2 rounds over 2-4 weeks. The stages below are what candidates describe, not a published process.

Recruiter Screening

Initial contact to confirm your background, salary expectations, and overall alignment with the role.

What to demonstrate

  • Initial contact to confirm your background, salary expectations, and overall alignment with the role
  • Depth in REST vs SOAP

How to prepare

  • Be able to walk your CV end to end in two minutes, and say why this company specifically.
  • Have your salary expectations, notice period and location constraints ready, and ask for the rest of the loop in writing.

Technical and Managerial Interviews

One or two rounds of video interviews with the hiring manager and team members to discuss technical background and past projects.

What to demonstrate

  • One or two rounds of video interviews with the hiring manager and team members to discuss technical background and past projects
  • Depth in REST vs SOAP

How to prepare

  • Answer aloud and timed: How do you apply object-oriented design patterns in your day-to-day development?
  • Answer aloud and timed: What are the primary differences between REST and SOAP web services?

Where candidates lose points

Highlight Practical Experience

Focus your resume discussions on concrete projects, technical trade-offs you evaluated, and measurable results achieved in past engineering roles.

Prepare for SQL and Database Discussions

Brush up on core SQL joins, database index concepts, query optimization, and schema normalization, as data operations are central to McKesson's platforms.

Structure Behavioral Answers with STAR

Frame behavioral responses using the Situation, Task, Action, and Result structure. Highlight team collaboration, resolving technical disagreements, and adhering to organizational best practices.

Ensure your video setup is fully working for remote panels

Some candidates report interviewers turning off cameras, but candidates are expected to remain fully visible and engaged throughout the discussion.

Questions & practice

What is your favorite programming language and why?

Medium · Core Engineering & Languages

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.

Follow-up

  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

What is the difference between vertical and horizontal positioning in CSS, and when would you use absolute pos

Medium · Core Engineering & Languages

What is the difference between vertical and horizontal positioning in CSS, and when would you use absolute positioning?

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.

Follow-up

  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

How do you apply object-oriented design patterns in your day-to-day development?

Medium · Core Engineering & Languages

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.

Follow-up

  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

How do you approach error handling and logging in enterprise application backends?

Medium · Core Engineering & Languages

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.

Follow-up

  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

Explain how you would optimize a slow-performing SQL query in a production environment.

Medium · Databases & Data Management

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

Write a query to perform complex data filtering and aggregation across related enterprise tables.

Medium · Databases & Data Management

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

What are the primary differences between REST and SOAP web services?

Medium · Core Engineering & Languages

Approach

  1. Say who the caller is and what they do when the call fails halfway.
  2. Define the identity of a request so a retry cannot double-apply it.
  3. Separate accepted, pending, failed and confirmed; they are different facts.
  4. Design the error taxonomy before the success shape; callers branch on it.

Follow-up

  • What happens if the caller retries after a timeout?
  • How does a client discover it is on an old version of this contract?

How do you structure microservices communication for transactional reliability?

Medium · Microservices, Cloud & Architecture

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

Explain the key considerations when migrating legacy monolithic services to cloud infrastructure.

Medium · Microservices, Cloud & Architecture

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

How do you ensure high availability and observability across platform operations?

Medium · Microservices, Cloud & Architecture

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

What approaches do you take to enforce API security and identity access management across enterprise systems?

Medium · Microservices, Cloud & Architecture

Approach

  1. Say who the caller is and what they do when the call fails halfway.
  2. Define the identity of a request so a retry cannot double-apply it.
  3. Separate accepted, pending, failed and confirmed; they are different facts.
  4. Design the error taxonomy before the success shape; callers branch on it.

Follow-up

  • What happens if the caller retries after a timeout?
  • How does a client discover it is on an old version of this contract?

Walk us through how you would architect a modern backend pipeline using Java and cloud resources.

Medium · Microservices, Cloud & Architecture

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

What are the trade-offs between relational databases and NoSQL solutions for high-volume transactions?

Medium · Databases & Data Management

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How do you design a relational data model to support scalable logging and audit trails?

Medium · Databases & Data Management

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

How do you approach hardware and peripheral integration or automated testing environments?

Medium · System Troubleshooting & Engineering Ope

Approach

  1. Say who the caller is and what they do when the call fails halfway.
  2. Define the identity of a request so a retry cannot double-apply it.
  3. Separate accepted, pending, failed and confirmed; they are different facts.
  4. Design the error taxonomy before the success shape; callers branch on it.

Follow-up

  • What happens if the caller retries after a timeout?
  • How does a client discover it is on an old version of this contract?

Walk through your step-by-step methodology for troubleshooting critical production bugs.

Medium · System Troubleshooting & Engineering Ope

Approach

  1. Establish what changed and when, before forming any theory.
  2. Pick a bisection that eliminates candidates whichever way it turns out.
  3. Check the instrumentation before believing the symptom.
  4. Separate the trigger from the cause; the deploy is rarely the bug.

Follow-up

  • What would you look at first, and what would it rule out?
  • How would you tell a cause from a coincidence here?

What basic Linux commands do you rely on most when diagnosing server environment issues?

Medium · System Troubleshooting & Engineering Ope

Approach

  1. Establish what changed and when, before forming any theory.
  2. Pick a bisection that eliminates candidates whichever way it turns out.
  3. Check the instrumentation before believing the symptom.
  4. Separate the trigger from the cause; the deploy is rarely the bug.

Follow-up

  • What would you look at first, and what would it rule out?
  • How would you tell a cause from a coincidence here?

How do you manage deployment pipeline failures and rollback strategies?

Medium · System Troubleshooting & Engineering Ope

Approach

  1. Establish what changed and when, before forming any theory.
  2. Pick a bisection that eliminates candidates whichever way it turns out.
  3. Check the instrumentation before believing the symptom.
  4. Separate the trigger from the cause; the deploy is rarely the bug.

Follow-up

  • What would you look at first, and what would it rule out?
  • How would you tell a cause from a coincidence here?

Suggested practice checklist

Built from the rounds and topics McKesson candidates report.

Day 1 — Map the McKesson loop

  • Write out the reported sequence: Recruiter Screening, Technical and Managerial Interviews.
  • For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.

Deliverable: A one-page map of the 2 reported rounds, with the weakest marked.

Day 2 — Work REST vs SOAP

  • Spend the session on REST vs SOAP, which McKesson candidates report being tested on.
  • Write one worked example in REST vs SOAP and time yourself on it.

Deliverable: One timed worked example in REST vs SOAP.

Day 3 — Work Horizontal vs Vertical Scaling

  • Spend the session on Horizontal vs Vertical Scaling, which McKesson candidates report being tested on.
  • Write one worked example in Horizontal vs Vertical Scaling and time yourself on it.

Deliverable: One timed worked example in Horizontal vs Vertical Scaling.

Day 4 — Work IAM (Identity and Access Management)

  • Spend the session on IAM (Identity and Access Management), which McKesson candidates report being tested on.
  • Write one worked example in IAM (Identity and Access Management) and time yourself on it.

Deliverable: One timed worked example in IAM (Identity and Access Management).

Day 5 — Answer out loud: Core Engineering & Languages

  • Answer aloud, timed: What is your favorite programming language and why?
  • Answer aloud, timed: What is the difference between vertical and horizontal positioning in CSS, and when would you use absolute positioning?

Deliverable: Spoken answers to 2 reported Core Engineering & Languages question(s), under time.

Day 6 — Answer out loud: Microservices, Cloud & Architecture

  • Answer aloud, timed: How do you structure microservices communication for transactional reliability?
  • Answer aloud, timed: Explain the key considerations when migrating legacy monolithic services to cloud infrastructure.

Deliverable: Spoken answers to 2 reported Microservices, Cloud & Architecture question(s), under time.

Day 7 — Answer out loud: Databases & Data Management

  • Answer aloud, timed: Explain how you would optimize a slow-performing SQL query in a production environment.
  • Answer aloud, timed: What are the trade-offs between relational databases and NoSQL solutions for high-volume transactions?

Deliverable: Spoken answers to 2 reported Databases & Data Management question(s), under time.

Behavioural preparation

Behavioural rounds judge the decision you made and what it cost.

How do you handle schema migrations in active production databases without downtime?

Medium · Databases & Data Management

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

How do you handle identity and access management integrations across internal systems?

Medium · System Troubleshooting & Engineering Ope

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Describe a time you disagreed with a peer on a technical approach and how you reached a resolution.

Medium · Behavioral & Team Collaboration

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Tell me about a time when you made the wrong architectural choice and how you corrected it.

Medium · Behavioral & Team Collaboration

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

How do you handle a scenario where a manager asks you to take an approach that conflicts with standard procedu

Medium · Behavioral & Team Collaboration

How do you handle a scenario where a manager asks you to take an approach that conflicts with standard procedures?

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Describe a challenging project you delivered, focusing on technical trade-offs and team dynamics.

Medium · Behavioral & Team Collaboration

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

How do you prioritize tasks when supporting both new feature engineering and active platform maintenance?

Medium · Behavioral & Team Collaboration

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?