📍TomTom Software Engineer Intern | Interview Experience

tomtom logo
tomtom
· Software Engineer Intern
February 28, 2026 · 1 reads

Summary

I had two technical rounds for the Software Engineer Intern position at TomTom, which covered a wide range of topics including data structures and algorithms, system design, object-oriented programming, and various logical puzzles.

Full Experience

There were 2 technical rounds.


Interview Round 1

This round focused heavily on DSA, logic building and core CS fundamentals.

1. Move Positives Left, Negatives Right

Problem:
Given an array containing positive and negative integers, rearrange it such that all positive numbers appear on the left and all negative numbers appear on the right.

We discussed brute force and optimal approaches.


2. Missing Number from 1 to n

Problem:
Given an array of size n containing numbers from 1 to n with one number missing, find the missing number.

Discussion around multiple approaches including hashing and mathematical tricks.


3. 8 Balls Puzzle (One Heavier)

Problem:
You have 8 balls. One ball is heavier than the others. Using a traditional weighing balance, find the heavier ball in minimum weighings.


4. 25 Horses, 5 Tracks Puzzle

Problem:
25 horses, 5 tracks.
Only 5 horses can race at once.
Find the fastest and second fastest horse in minimum races.


5. Tricky OOP Questions

  • Core OOP principles
  • Edge cases in inheritance
  • Runtime vs compile time behavior

6. Resume Based Questions

Deep dive into projects:


Interview Round 2

This round was more design heavy and concept deep.


1. SOLID Principles

Asked to explain each principle with real world examples:

  • Single Responsibility
  • Open Closed
  • Liskov Substitution
  • Interface Segregation
  • Dependency Inversion

Follow up questions on:

  • Violations
  • Refactoring approaches
  • Practical industry examples

2. University System Design (OOP Design)

Problem:

Design a university system where:

A person may be:

  • Only a student
  • Only a faculty member
  • Both student and faculty

A student has:

  • studentId
  • studyingDegree

A faculty member has:

  • facultyId
  • teachingDegree

Constraints:

  • A person may start teaching later
  • A person may stop teaching later
  • Avoid unnecessary fields
  • Avoid invalid IDs
  • Handle role changes at runtime
  • Follow good OOP principles

Expected to design class structure and explain reasoning.
The discussion started around inheritance, but later moved from inheritance to composition.


3. Bouncing Ball Problem

Function takes:

  • Initial height
  • Depreciation factor

Ball bounces repeatedly and height reduces by factor each time.

Find number of bounces until it comes to rest.


4. King and 10 Jewellers Puzzle

  • 10 jewellers
  • Each makes 10 rings
  • Each genuine ring weighs 1 gram
  • Exactly one jeweller makes rings that are 1 gram lighter
  • Difference is whole number only
  • You have a digital scale
  • You can weigh only once

Find the greedy jeweller.


5. Stream Pattern Matching

Function takes:

  • A stream of characters
  • A pattern string

Find all occurrences of the pattern in the stream.

Expected discussion around efficient pattern matching (KMP).


6. 8 Apples Puzzle

  • 8 apples
  • 7 identical
  • 1 faulty
  • Faulty apple can be lighter or heavier

Using traditional weighing scale, identify the faulty apple and determine whether it is lighter or heavier.


7. Rope Burning Puzzle

  • 2 ropes
  • Each rope takes exactly 30 minutes to burn
  • Burn rate is non uniform

Measure exactly 45 minutes.


8. HashSet and HashMap Internals

Deep discussion on:

  • Buckets
  • Hashing
  • Collision resolution
  • Load factor
  • Rehashing
  • Internal working of HashMap in Java

HashMap Internals - Imagine a developer accidentally overrides hashCode() and equals() like this:

hashCode() always returns 1
equals() always returns true

Now consider this:

map.put(stud1, 50);
map.put(stud2, 60);
map.get(stud1);

9. Tough Resume Based Questions


At the end of both rounds, the interviewer asked:

"Do you have any questions for us ?"

Interview Questions (13)

1.

Move Positives Left, Negatives Right

Data Structures & Algorithms

Given an array containing positive and negative integers, rearrange it such that all positive numbers appear on the left and all negative numbers appear on the right.

2.

Missing Number from 1 to n

Data Structures & Algorithms

Given an array of size n containing numbers from 1 to n with one number missing, find the missing number.

3.

8 Balls Puzzle (One Heavier)

Other

You have 8 balls. One ball is heavier than the others. Using a traditional weighing balance, find the heavier ball in minimum weighings.

4.

25 Horses, 5 Tracks Puzzle

Other

25 horses, 5 tracks.
Only 5 horses can race at once.
Find the fastest and second fastest horse in minimum races.

5.

OOP Principles Discussion

Other
  • Core OOP principles
  • Edge cases in inheritance
  • Runtime vs compile time behavior
6.

SOLID Principles Explanation

System Design

Asked to explain each principle with real world examples:

  • Single Responsibility
  • Open Closed
  • Liskov Substitution
  • Interface Segregation
  • Dependency Inversion

Follow up questions on:

  • Violations
  • Refactoring approaches
  • Practical industry examples
7.

University System OOP Design

System Design

Design a university system where:

A person may be:

  • Only a student
  • Only a faculty member
  • Both student and faculty

A student has:

  • studentId
  • studyingDegree

A faculty member has:

  • facultyId
  • teachingDegree

Constraints:

  • A person may start teaching later
  • A person may stop teaching later
  • Avoid unnecessary fields
  • Avoid invalid IDs
  • Handle role changes at runtime
  • Follow good OOP principles

Expected to design class structure and explain reasoning.

8.

Bouncing Ball Problem

Data Structures & Algorithms

Function takes:

  • Initial height
  • Depreciation factor

Ball bounces repeatedly and height reduces by factor each time.

Find number of bounces until it comes to rest.

9.

King and 10 Jewellers Puzzle

Other
  • 10 jewellers
  • Each makes 10 rings
  • Each genuine ring weighs 1 gram
  • Exactly one jeweller makes rings that are 1 gram lighter
  • Difference is whole number only
  • You have a digital scale
  • You can weigh only once

Find the greedy jeweller.

10.

Stream Pattern Matching

Data Structures & Algorithms

Function takes:

  • A stream of characters
  • A pattern string

Find all occurrences of the pattern in the stream.

11.

8 Apples Puzzle

Other
  • 8 apples
  • 7 identical
  • 1 faulty
  • Faulty apple can be lighter or heavier

Using traditional weighing scale, identify the faulty apple and determine whether it is lighter or heavier.

12.

Rope Burning Puzzle

Other
  • 2 ropes
  • Each rope takes exactly 30 minutes to burn
  • Burn rate is non uniform

Measure exactly 45 minutes.

13.

HashMap Internals and Edge Case

Data Structures & Algorithms

Deep discussion on:

  • Buckets
  • Hashing
  • Collision resolution
  • Load factor
  • Rehashing
  • Internal working of HashMap in Java

HashMap Internals - Imagine a developer accidentally overrides hashCode() and equals() like this:

hashCode() always returns 1
equals() always returns true

Now consider this:

map.put(stud1, 50);
map.put(stud2, 60);
map.get(stud1);
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!