Interview guides · XPO
XPO Software Engineer Interview Guide
XPO Software Engineer interview guide: reported rounds, questions and how candidates describe the process.
The 60-second brief
A Software Engineer at XPO plays a critical role in driving the technology behind one of the world’s largest freight transportation and logistics providers. At its core, XPO relies on cutting-edge software to optimize supply chains, manage massive warehouses, orchestrate less-than-truckload (LTL) shipping, and provide real-time tracking for millions of shipments daily. As an engineer here, you are not just writing code; you are building the digital backbone that keeps global commerce moving efficiently. The systems you develop and maintain directly impact supply chain visibility, route optimization algorithms, and warehouse management systems (WMS). Working in this domain requires handling high-concurrency event processing, managing complex database architectures, and ensuring seamless communication between onshore and offshore engineering teams.
This guide is scoped to a Software Engineer candidate at XPO.
Focus areas
- Data Structures
- Algorithms
- SQL (Query Writing)
The XPO interview process
XPO candidates report 3 rounds over 3-5 weeks. The stages below are what candidates describe, not a published process.
Recruiter Phone Screen
Initial call to discuss your background, career goals, and interest in XPO.
What to demonstrate
- Initial call to discuss your background, career goals, and interest in XPO
- Depth in Data Structures
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 Assessment Phase
Evaluation may include online coding assessment, technical phone screen, or practical skills test.
What to demonstrate
- Evaluation may include online coding assessment, technical phone screen, or practical skills test
- Depth in Data Structures
How to prepare
- Answer aloud and timed: How do you handle memory management and prevent memory leaks in your preferred programming language?
- Answer aloud and timed: Walk me through how you would implement a basic custom data structure, such as a stack or a queue, from scratch.
Comprehensive Panel Interview
Final stage with multiple team members focusing on technical deep dives and behavioral scenarios.
What to demonstrate
- Final stage with multiple team members focusing on technical deep dives and behavioral scenarios
- Depth in Data Structures
How to prepare
- Answer aloud and timed: Write a SQL query that returns specific columns from a table, filters the results based on multiple conditions, and orders them in descending order.
- Answer aloud and timed: What are the differences between a inner join, left join, and outer join, and how do they impact query performance?
Where candidates lose points
Prepare for non-traditional coding environments
Be comfortable writing code on a whiteboard or paper without the aid of an IDE. Focus on clean structuring and talking through your logic step-by-step.
Brush up on classic logic puzzles
Don't neglect logical reasoning riddles. Practice breaking down classic brainteasers systematically, as interviewers use these to evaluate your raw analytical approach.
Understand the onshore-offshore dynamic
XPO operates with highly integrated global teams. Highlight any experience you have collaborating across different time zones, cultures, and communication styles.
Clarify role expectations early
Some engineering roles at XPO lean heavily toward traditional software development, while others may involve database administration, data analysis (requiring Excel/Access testing), or warehouse design. Understand the specific flavor of the role you are interviewing for and tailor your preparation accordingly.
Questions & practice
Describe the difference between recursion and iterative loops, and explain when you would prefer one over the
Medium · Technical & Core Programming
Describe the difference between recursion and iterative loops, and explain when you would prefer one over the other.
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- State the target complexity and say which constraint rules the naive version out.
Follow-up
- How does this change if the input no longer fits in memory?
- What is the worst case, and how likely is it on real data?
How do you handle memory management and prevent memory leaks in your preferred programming language?
Medium · Technical & Core Programming
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- 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 would you solve a variation of the classic farmer, fox, goose, and bag of beans riddle to get all items sa
Medium · Logical Reasoning & Problem Solving
How would you solve a variation of the classic farmer, fox, goose, and bag of beans riddle to get all items safely across a river under specific constraints?
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- State the target complexity and say which constraint rules the naive version out.
Follow-up
- How does this change if the input no longer fits in memory?
- What is the worst case, and how likely is it on real data?
Write a SQL query that returns specific columns from a table, filters the results based on multiple conditions
Medium · Database & SQL
Write a SQL query that returns specific columns from a table, filters the results based on multiple conditions, and orders them in descending order.
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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 differences between a inner join, left join, and outer join, and how do they impact query perform
Medium · Database & SQL
What are the differences between a inner join, left join, and outer join, and how do they impact query performance?
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
How would you optimize a slow-running query that is scanning millions of rows in a shipping transaction table?
Medium · Database & SQL
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
Explain the concept of database normalization and when it might make sense to denormalize a schema for a logis
Medium · Database & SQL
Explain the concept of database normalization and when it might make sense to denormalize a schema for a logistics application.
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
How can you swap the values of two variables without using a third temporary variable?
Medium · Technical & Core Programming
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Walk me through how you would implement a basic custom data structure, such as a stack or a queue, from scratc
Medium · Technical & Core Programming
Walk me through how you would implement a basic custom data structure, such as a stack or a queue, from scratch.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Walk me through the step-by-step process of what happens when a user types a URL into a browser and hits enter
Medium · Networking & Systems Fundamentals
Walk me through the step-by-step process of what happens when a user types a URL into a browser and hits enter.
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
What are the standard port numbers for DNS, FTP, and SSH?
Medium · Networking & Systems Fundamentals
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Explain the layers of the OSI Model and how data flows through them.
Medium · Networking & Systems Fundamentals
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
What is the Address Resolution Protocol (ARP), and what role does it play in local network communication?
Medium · Networking & Systems Fundamentals
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- Work from the requirement backwards to the design.
Follow-up
- What assumption would you test first?
- How would you know your answer was wrong?
Describe your approach to troubleshooting an ambiguous system failure where a service is intermittently droppi
Medium · Logical Reasoning & Problem Solving
Describe your approach to troubleshooting an ambiguous system failure where a service is intermittently dropping requests.
Approach
- Establish what changed and when, before forming any theory.
- Pick a bisection that eliminates candidates whichever way it turns out.
- Check the instrumentation before believing the symptom.
- 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 XPO candidates report.
Day 1 — Map the XPO loop
- Write out the reported sequence: Recruiter Phone Screen, Technical Assessment Phase, Comprehensive Panel Interview.
- 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 3 reported rounds, with the weakest marked.
Day 2 — Work Data Structures
- Spend the session on Data Structures, which XPO candidates report being tested on.
- Write one worked example in Data Structures and time yourself on it.
Deliverable: One timed worked example in Data Structures.
Day 3 — Work Algorithms
- Spend the session on Algorithms, which XPO candidates report being tested on.
- Write one worked example in Algorithms and time yourself on it.
Deliverable: One timed worked example in Algorithms.
Day 4 — Work SQL (Query Writing)
- Spend the session on SQL (Query Writing), which XPO candidates report being tested on.
- Write one worked example in SQL (Query Writing) and time yourself on it.
Deliverable: One timed worked example in SQL (Query Writing).
Day 5 — Answer out loud: Technical & Core Programming
- Answer aloud, timed: How can you swap the values of two variables without using a third temporary variable?
- Answer aloud, timed: Describe the difference between recursion and iterative loops, and explain when you would prefer one over the other.
Deliverable: Spoken answers to 2 reported Technical & Core Programming question(s), under time.
Day 6 — Answer out loud: Database & SQL
- Answer aloud, timed: Write a SQL query that returns specific columns from a table, filters the results based on multiple conditions, and orders them in descending order.
- Answer aloud, timed: What are the differences between a inner join, left join, and outer join, and how do they impact query performance?
Deliverable: Spoken answers to 2 reported Database & SQL question(s), under time.
Day 7 — Answer out loud: Networking & Systems Fundamentals
- Answer aloud, timed: Walk me through the step-by-step process of what happens when a user types a URL into a browser and hits enter.
- Answer aloud, timed: What are the standard port numbers for DNS, FTP, and SSH?
Deliverable: Spoken answers to 2 reported Networking & Systems Fundamentals question(s), under time.
Behavioural preparation
Behavioural rounds judge the decision you made and what it cost.
Why do you want to work at XPO, and how does your background align with the logistics and transportation indus
Medium · Behavioral & Cultural Fit
Why do you want to work at XPO, and how does your background align with the logistics and transportation industry?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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 when you had to work closely with an offshore engineering team. How did you handle communicati
Medium · Behavioral & Cultural Fit
Describe a time when you had to work closely with an offshore engineering team. How did you handle communication barriers and time zone differences?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?
Walk me through a complex project you worked on recently. What were the technical challenges, and how did you
Medium · Behavioral & Cultural Fit
Walk me through a complex project you worked on recently. What were the technical challenges, and how did you overcome them?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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 situation where a manager or stakeholder changes project requirements late in the developm
Medium · Behavioral & Cultural Fit
How do you handle a situation where a manager or stakeholder changes project requirements late in the development cycle?
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?