Hexagon Ab · Software Engineer
Updated · 2026-10-02

Hexagon Ab Software Engineer
Interview Guide

THE 60-SECOND BRIEF

At Hexagon AB, Software Engineers build high-precision digital solutions that bridge the physical and virtual worlds. The systems you design directly power geospatial domain applications, autonomous industrial workflows, CAD/CAM production software, smart factory automation, and enterprise geospatial solutions. Operating at the intersection of complex geometry, hardware-software integration, and large-scale data processing, engineering at Hexagon AB demands a blend of low-level computational rigors and high-level architectural clarity. As a Software Engineer, your work directly impacts real-world industrial operations, global manufacturing lines, and critical infrastructure.

This guide is scoped to a Software Engineer candidate at Hexagon Ab.

Hexagon Ab candidates report 5 rounds over 4-6 weeks. The stages below are what candidates describe, not a published process.

Data Structures & Algorithms (DSA)SQLCI/CD Pipelines

23 min read

Browse Software Engineer questions

See the practice prompts

24Practice promptsAcross five skill areas

At Hexagon AB, Software Engineers build high-precision digital solutions that bridge the physical and virtual worlds. The systems you design directly power geospatial domain applications, autonomous industrial workflows, CAD/CAM production software, smart factory automation, and enterprise geospatial solutions. Operating at the intersection of complex geometry, hardware-software integration, and large-scale data processing, engineering at Hexagon AB demands a blend of low-level computational rigors and high-level architectural clarity. As a Software Engineer, your work directly impacts real-world industrial operations, global manufacturing lines, and critical infrastructure. Whether you are optimizing complex 3D vector algorithms, delivering high-performance C++ or C# backends, crafting dynamic frontends, or maintaining automated CI/CD pipelines, your code ensures that physical measurement, spatial modeling, and automated analysis operate with micro-precision. Joining Hexagon AB offers candidates the chance to work on deep technical engineering challenges rather than generic Web CRUD apps. You will tackle multi-dimensional computational geometry, custom rendering engines, memory-efficient data structures, and real-time data streaming. Expect a fast-moving environment where solid mathematical foundations, object-oriented rigor, and scalable system design come together to drive global industrial innovation.

01

Recruiter Screening

reported

Initial contact with a recruiter to discuss the resume, location, hybrid working models, and compensation expectations.

What to demonstrate

  • Initial contact with a recruiter to discuss the resume, location, hybrid working models, and compensation expectations
  • Depth in Data Structures & Algorithms (DSA)

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.
Hexagon Ab Software Engineer candidate reports ↗
02

Online Assessment

reported

For university hires or specific tracks, this step includes an online assessment covering quantitative aptitude, logical reasoning, and programming snippets.

What to demonstrate

  • For university hires or specific tracks, this step includes an online assessment covering quantitative aptitude, logical reasoning, and programming snippets
  • Depth in Data Structures & Algorithms (DSA)

How to prepare

  • Answer aloud and timed: Explain delegates, events, and the async/await pattern in C#.
  • Answer aloud and timed: What are virtual destructors in C++, and why are they necessary?
Hexagon Ab Software Engineer candidate reports ↗
03

Technical Evaluation

reported

Candidates undergo virtual or on-site technical interviews focusing on object-oriented design, live coding, and database/SQL queries.

What to demonstrate

  • Candidates undergo virtual or on-site technical interviews focusing on object-oriented design, live coding, and database/SQL queries
  • Depth in Data Structures & Algorithms (DSA)

How to prepare

  • Answer aloud and timed: How does memory management work in C++ vs. managed environments like C# or Java? Explain heap vs. stack allocation.
  • Answer aloud and timed: Solve a dynamic programming problem and optimize your solution from recursion to the tabulation method.
Hexagon Ab Software Engineer candidate reports ↗
04

Project Presentation

reported

Candidates present a past technical project for 30 to 45 minutes, followed by a Q&A session with potential team members.

What to demonstrate

  • Candidates present a past technical project for 30 to 45 minutes, followed by a Q&A session with potential team members
  • Depth in Data Structures & Algorithms (DSA)

How to prepare

  • Answer aloud and timed: Given an array of integers, write an algorithm to identify and optimize search and sort operations.
  • Answer aloud and timed: How would you implement a custom Linked List or graph traversal algorithm from scratch?
Hexagon Ab Software Engineer candidate reports ↗
05

Managerial and HR Evaluation

reported

Final evaluation focusing on behavioral alignment, compensation parameters, and team integration.

What to demonstrate

  • Final evaluation focusing on behavioral alignment, compensation parameters, and team integration
  • Depth in Data Structures & Algorithms (DSA)

How to prepare

  • Answer aloud and timed: Explain memory management, pointer manipulation, and garbage collection mechanics during array or string transformations.
  • Answer aloud and timed: Write code to solve a string pattern-matching problem while minimizing time and space complexity.
Hexagon Ab Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Review your resume in depth

Interviewers frequently ask detailed questions about past projects, technologies, and architecture decisions listed on your resume. Be ready to explain your exact technical contributions and why you chose specific approaches.

02

Speak out loud during problem-solving

When working through algorithmic, geometric, or puzzle-based challenges, talk the interviewer through your thought process. Showing a clear, structured analytical approach is often just as important as arriving at the final answer.

03

Emphasize quality and testing

Highlight your experience writing clean code, designing unit tests, and leveraging CI/CD pipelines. Hexagon AB places high value on pragmatic software quality and system reliability.

04

Do not attempt to fake domain knowledge in geometry or low-level framework mechanics

If you aren't familiar with a specific concept, acknowledge it and explain how you would go about researching and solving the problem.

Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.

21 technical prompts0 include a worked solution

Explain object-oriented programming concepts: Polymorphism, Abstraction, Encapsulation, and Inheritance.

medium
Object-Oriented Design & Core Languages

Explain object-oriented programming concepts: Polymorphism, Abstraction, Encapsulation, and Inheritance.

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 compile-time and run-time polymorphism? Give code examples.

medium
Object-Oriented Design & Core Languages

What is the difference between compile-time and run-time polymorphism? Give code examples.

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 delegates, events, and the `async`/`await` pattern in C#.

medium
Object-Oriented Design & Core Languages

Explain delegates, events, and the async/await pattern in C#.

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 are virtual destructors in C++, and why are they necessary?

medium
Object-Oriented Design & Core Languages

What are virtual destructors in C++, and why are they necessary?

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 does memory management work in C++ vs. managed environments like C# or Java? Explain heap vs. stack alloca

medium
Object-Oriented Design & Core Languages

How does memory management work in C++ vs. managed environments like C# or Java? Explain heap vs. stack allocation.

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?

Solve a dynamic programming problem and optimize your solution from recursion to the tabulation method.

medium
Data Structures, Algorithms & Problem-So

Solve a dynamic programming problem and optimize your solution from recursion to the tabulation method.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. 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?

Given an array of integers, write an algorithm to identify and optimize search and sort operations.

medium
Data Structures, Algorithms & Problem-So

Given an array of integers, write an algorithm to identify and optimize search and sort operations.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. 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 would you implement a custom Linked List or graph traversal algorithm from scratch?

medium
Data Structures, Algorithms & Problem-So

How would you implement a custom Linked List or graph traversal algorithm from scratch?

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. 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?

Explain memory management, pointer manipulation, and garbage collection mechanics during array or string trans

medium
Data Structures, Algorithms & Problem-So

Explain memory management, pointer manipulation, and garbage collection mechanics during array or string transformations.

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?

Write code to solve a string pattern-matching problem while minimizing time and space complexity.

medium
Data Structures, Algorithms & Problem-So

Write code to solve a string pattern-matching problem while minimizing time and space complexity.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. 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?

Explain how bounding boxes or spatial indexing (e.g., Quadtrees or R-Trees) optimize spatial search queries.

medium
Computational Geometry & Mathematical Fo

Explain how bounding boxes or spatial indexing (e.g., Quadtrees or R-Trees) optimize spatial search queries.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. 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?

Built from the rounds and topics Hexagon Ab candidates report.

Small steps. Visible outcomes.0 / 7 completed
ONE WEEK · YOUR PACE

Prepare, practise & reflect

One practical outcome each day. Spend longer where you need it.

0 / 7 done
01Map the Hexagon Ab loop
  • Write out the reported sequence: Recruiter Screening, Online Assessment, Technical Evaluation, Project Presentation, Managerial and HR Evaluation.
  • 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 5 reported rounds, with the weakest marked.

02Work Data Structures & Algorithms (DSA)
  • Spend the session on Data Structures & Algorithms (DSA), which Hexagon Ab candidates report being tested on.
  • Write one worked example in Data Structures & Algorithms (DSA) and time yourself on it.

Deliverable: One timed worked example in Data Structures & Algorithms (DSA).

03Work SQL
  • Spend the session on SQL, which Hexagon Ab candidates report being tested on.
  • Write one worked example in SQL and time yourself on it.

Deliverable: One timed worked example in SQL.

04Work CI/CD Pipelines
  • Spend the session on CI/CD Pipelines, which Hexagon Ab candidates report being tested on.
  • Write one worked example in CI/CD Pipelines and time yourself on it.

Deliverable: One timed worked example in CI/CD Pipelines.

05Answer out loud: Object-Oriented Design & Core Languages
  • Answer aloud, timed: Explain object-oriented programming concepts: Polymorphism, Abstraction, Encapsulation, and Inheritance.
  • Answer aloud, timed: What is the difference between compile-time and run-time polymorphism? Give code examples.

Deliverable: Spoken answers to 2 reported Object-Oriented Design & Core Languages question(s), under time.

06Answer out loud: Data Structures, Algorithms & Problem-Solving
  • Answer aloud, timed: Solve a dynamic programming problem and optimize your solution from recursion to the tabulation method.
  • Answer aloud, timed: Given an array of integers, write an algorithm to identify and optimize search and sort operations.

Deliverable: Spoken answers to 2 reported Data Structures, Algorithms & Problem-Solving question(s), under time.

07Answer out loud: Computational Geometry & Mathematical Foundations
  • Answer aloud, timed: How do you calculate vector dot products, cross products, and transformation matrices for 3D space?
  • Answer aloud, timed: Explain the logic required to detect point-in-polygon containment or intersection between geometric primitives.

Deliverable: Spoken answers to 2 reported Computational Geometry & Mathematical Foundations question(s), under time.

Expand any day for tasks and deliverables. Your progress is saved on this device.

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

Reverse your own decision and price the reversal

medium
reversibilitymeasurementmigrations

Describe a technical decision you made and later reversed. Pick one that cost something: a service you split and merged back, a cache you added and removed, an index you created that pushed the planner onto a worse plan, a projection you rebuilt from scratch. State what you believed when you decided, the measurement that changed your mind, how long the wrong version ran in production, and what the reversal cost in migrations, dual writes, and a deprecation window for callers you did not own.

Approach
  1. State the original rationale without irony, in the version you would still defend given what was known then. If it is not defensible, the story is about carelessness rather than judgement, and a different example serves you better.
  2. Give the measurement that moved with a before and after: the p99 that did not improve, the cache hit rate that sat at 40%, the plan that flipped to a sequential scan once the table passed a size you can name.
  3. Cost the reversal in steps, not adjectives: expand-and-contract deploys, the dual-write window, the callers who had to be notified, the rows already written in the wrong shape that had to be backfilled or abandoned.
  4. Distinguish reversal from rewrite by naming what you kept. Most good reversals preserve the schema or the interface and undo one decision inside it, which is also why they were affordable.
Follow-up
  • What in that decision was irreversible, and did you know it was irreversible when you made it?
  • How did you tell the people who had already built on top of the original decision?

Turn a code review disagreement into a decision

easy
code reviewoptimistic concurrencycommunication

A colleague's change updates a row with UPDATE resource SET version = version + 1 WHERE resource_id = $1 AND version = $2 and treats an affected-row count of zero as a successful no-op. You read that as a silently lost update; they think returning 200 is friendlier to clients than returning a conflict. Describe how you have handled a review disagreement of this shape: what goes in the comment, when you leave the thread, and who decides. Then write the comment you would leave here, in under 80 words.

Approach
  1. Sort the disagreement before writing anything. A silently discarded write is a correctness claim about data; the choice between 409 and 412 is taste. Only the first justifies blocking a merge, and saying which one you are doing is most of the value of the comment.
  2. Make the claim reproducible in the comment itself with an interleaving rather than a principle: A reads version 7, B reads version 7, B commits version 8, A's predicate matches zero rows, A is told it succeeded and A's edit is gone.
  3. Offer the alternative with its cost attached: return 409 carrying the current version and the revision that won, so the client can re-read and re-apply. Note that automatic retry is not the fix, because a retry re-reads the winner's state and reapplies an intent formed against data that no longer exists.
  4. Apply an escalation rule you can state: two round trips on the thread, then a call, and the service's owner decides rather than the reviewer. A reviewer who cannot be overruled is a bottleneck with extra steps.
Follow-up
  • Where would you put the test that fails if someone reintroduces the swallowed zero rowcount?
  • The author says clients cannot handle a 409. How do you check whether that is true?

Narrate an outage you owned from page to postmortem

hard
incident responseblast radiuspostmortems

Pick an incident you personally drove, ideally one where writes were affected rather than reads. In six to eight minutes: state the symptom as it first appeared on a dashboard, the blast radius you established before you knew the cause, the mitigation you applied and when, the mechanism you eventually proved, and the follow-up that would prevent a repeat. Bring numbers: error rate, tenants affected, minutes to mitigate, minutes to resolve. If you cannot name what you measured, choose a different incident.

Approach
  1. Open on the signal rather than the cause: which metric at which percentile moved, on which service, at what time, so the listener follows the same evidence you had rather than a conclusion you already reached.
  2. Separate mitigation from diagnosis out loud. State what you did to stop the bleeding (flag off, shed traffic, drain a lease, roll back a deploy) and say plainly that you did it before the mechanism was known, because those are two jobs with different deadlines.
  3. Establish blast radius in countable terms: how many tenants, how many writes, and crucially whether the effect was loss or only delay. An append-only revision table or a pending outbox row means the change survived and the projection was merely behind, which is a repair rather than a data-loss incident.
  4. Prove the mechanism instead of asserting it. Name the trace span that grew, the plan that flipped to a sequential scan, the lease that expired, plus one alternative you ruled out and the signal that stayed flat while you ruled it out.
Follow-up
  • What would you do differently in the first five minutes, given the same dashboard and no more information?
  • Which follow-up action did you deliberately not take, and why was dropping it the right call?
  • 01

    Describe a technical decision you made and later reversed. Pick one that cost something: a service you split and merged back, a cache you added and removed, an index you created that pushed the planner onto a worse plan, a projection you rebuilt from scratch. State what you believed when you decided, the measurement that changed your mind, how long the wrong version ran in production, and what the reversal cost in migrations, dual writes, and a deprecation window for callers you did not own.

  • 02

    A colleague's change updates a row with UPDATE resource SET version = version + 1 WHERE resource_id = $1 AND version = $2 and treats an affected-row count of zero as a successful no-op. You read that as a silently lost update; they think returning 200 is friendlier to clients than returning a conflict. Describe how you have handled a review disagreement of this shape: what goes in the comment, when you leave the thread, and who decides. Then write the comment you would leave here, in under 80 words.

  • 03

    Pick an incident you personally drove, ideally one where writes were affected rather than reads. In six to eight minutes: state the symptom as it first appeared on a dashboard, the blast radius you established before you knew the cause, the mitigation you applied and when, the mechanism you eventually proved, and the follow-up that would prevent a repeat. Bring numbers: error rate, tenants affected, minutes to mitigate, minutes to resolve. If you cannot name what you measured, choose a different incident.

PracHub preparation framework ↗
What is the overall difficulty level of the software engineering interviews?

The technical difficulty ranges from average to challenging. The questions focus on core software fundamentals, practical code design, and logical problem-solving rather than obscure trick questions. Candidates who brush up on language features, OOP concepts, basic algorithms, and past projects generally feel well-prepared.

Hexagon Ab Software Engineer candidate reports ↗
Is computational geometry required for all Software Engineer positions?

No, geometry requirements vary depending on the product team. Candidates interviewing for spatial platforms, metrology software, or CAD/CAM divisions will face spatial math and geometry questions, while candidates interviewing for cloud APIs, web portals, or enterprise tools will focus more on databases, backend frameworks, and system architecture.

Hexagon Ab Software Engineer candidate reports ↗
What format does the project presentation take?

In teams that include a presentation stage, candidates choose a technical project from their past academic or professional work. You will present your architecture decisions, technical trade-offs, personal contributions, and key takeaways to the interview panel, followed by a live Q&A session.

Hexagon Ab Software Engineer candidate reports ↗
What is the culture and work environment like at Hexagon AB?

The engineering culture emphasizes technical depth, practical problem-solving, and professional respect. Teams generally value low-ego, collaborative engineers who enjoy working on complex real-world engineering challenges rather than surface-level software problems.

Hexagon Ab Software Engineer candidate reports ↗
How long does the hiring process take from start to offer?

The typical timeline spans between 3 to 6 weeks. It moves from HR phone screenings to technical interviews, project presentations (where applicable), and final managerial approvals.

Hexagon Ab Software Engineer candidate reports ↗
What topics does Hexagon Ab test in interviews?

Hexagon Ab interviews most often cover Stakeholder Management, Problem Solving, Interview Preparation, Analytical Thinking, and Communication Skills. The exact emphasis depends on the specific role you apply for.

Hexagon Ab Software Engineer candidate reports ↗
Sources & methodology 3 sources ↗

No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.