Tech Interview Prep Guide
This is a document prepared by the talabat tech team to help candidates prepare for the interview
process. We wish you the best of luck!
About talabat
Overview
talabat is part of the leading global online food ordering and delivery marketplace family Delivery
Hero.
Founded in 2004 by a small group of entrepreneurs in Kuwait, talabat’s success expanded to the rest
of the GCC region, Egypt & Jordan, making it the largest and most popular food ordering app in the
region, connecting users to restaurants that cater to all taste buds. In addition to a directory of more
than 5,500 restaurants to choose from, never-ending deals and offers, secure and easy online
payments, talabat is the go-to platform for online food ordering in the Middle East.
Our Values
At talabat, we believe the future is you. How do we play a bigger role in your life, helping you create
and enjoy the moments that matter. Whether this is a quick bite to eat for yourself, a romantic meal for
you and your date, dinner for your entire family, or even having your daily groceries delivered at record
speed, we want to help you create and enjoy every single moment.
Experience First
From challenging how we do things, making sure they are simple and scalable - we make sure to keep
our customers, partners and colleagues at the heart of everything we do.
Make it Happen
We commit. We take responsibility. We raise the bar, every single day. We are pragmatic and agile - and
understand if mistakes happen, we learn, and we recover quickly.
Together We Grow
By appreciating our diversity we are stronger as a team. Put us together in a room, and every time,
we’ll come up with something brilliant, because we support each other to evolve. Above all, we also
value each other - and believe that feedback makes us better.
Engineering @ talabat
Engineering at Scale
Our engineering team of 100+ work on the entire tech stack to handle millions of users, orders and
thousands of restaurants.
Our world class technology, data infrastructure, and innovative culture give our technical talent the
tools to ensure our customers have the best user experience imaginable.
Whether it is react for web, native for mobile, or micro-service, Kubernetes, AWS, Terraform in order to
scale, our teams offer innovation, technical excellence and great design to our customers.
How do we embrace agility?
At talabat we emphasise Agile / Lean principles & values.
We believe in a problem solving & experimentation mindset, where our customer is at the heart of
everything we do. Our aim is to release in small batches, early and o en, so that we can learn faster
what our users really need.
The transformation journey at talabat doesn't stop with our Tech & Product teams, but is embraced
across the whole organization. We don't want to do Agile, we want to be Agile.
Interview Topics
Coding Interview
The interview is designed to assess your ability to solve coding problems. The problem will cover the
basics of algorithms, data structures, design patterns, and complexities (Big O).
The problem presented will be a concrete computer science problem (no puzzles) and you can write
the code to solve it in the language of your choice, or even pseudocode.
What the interview covers?
Prepare for 1-2 algorithms and data structure problems the interview may also cover design patterns,
study on Big O notations, as you should be able to provide the space and time complexity of your
solutions.
How to prepare for the interview?
Start practicing by reviewing and solving basic computer science algorithms and data structures. The
internet is full of examples. Our coding questions are similar to the ones asked at Microso , Google,
Amazon, etc.
What to do during the interview?
During the interview try to communicate your thought process to the interviewer - it’s important that
he/she understands how you’ve arrived at each of your steps.
Tip: Focus on providing a basic solution and only then think about how to optimize it.
What are we looking for?
We will be measuring the outcome based on number of factors including:
● Problem solving how you approached the problem and what was your thought process
● Coding were you able to provide well thought out working code
● Communication what questions you asked to clarify the problem, have you communicated
your thought process clearly to the interviewer.
System Design Interview
This interview will test your abilities to design systems (Usually distributed system).
Explore the design of a complex system and the trade-offs within a design. The scope of the question
can vary widely; it’s a challenging and deep technical discussion around product features, scalability,
data structures and technologies used.
There is no right or wrong answer; the interviewer will be mostly interested to understand your
thought process rather than reaching a complete solution.
What the interview covers?
The interviewer will ask you to design a complex system or feature. Discussion can include the
tradeoffs and choices you made in your design.
How to prepare for the interview?
Read on domain driven design, distributed systems, networking, API design, scalability, database
tuning, replication, tradeoffs between consistency and availability, throughput and latency, system
monitoring, caches, RPC...etc.
What to do during the interview?
During the interview try to communicate with the interviewer it's important that he/she understands
your thought process, think out loud. This will allow the interviewer to provide you with hints to help
you progress in the right direction.
TIP: Start with high level design and then move into detailing the most interesting parts of the system.
What are we looking for?
We will be measuring the outcome based on number of factors including:
● Problem understanding how you will go about scoping the problem and understanding the
use cases
● Design choices, your design decisions, understanding of tradeoffs, choices of algorithms
and/or data structures and other technologies you chose. how you will go about handling data
in the system for both storage and retrieval
● Communication what questions you asked to clarify the problem, have you communicated
your thought process clearly to the interviewer.
Values Interview
The interviewer will ask you questions about any significant projects you have worked on to get a feel
of your capabilities and how you work on teams and with other groups across an organization. There
may also be questions to learn more about how you’ve dealt with conflicts, questions will also cover
learnings and key events in your resume.
Before the Interview
General Tips
● Make sure you are in a quiet environment
● Make sure you have a reliable internet connection for the call
Call with the interviewer
The interviews will be conducted over Zoom https://zoom.us/ (a link to the interview Zoom video call
will be embedded in your interview invitation)
TIP: Prepare in advance by downloading Zoom before the interview.
Writing code during the interview
You will be asked to share your screen via Zoom (Same app that is used for the video call) and open
any editor (like Notepad on Windows or TextEdit on Mac) or any IDE.
Designing systems during the interview
You will use Diagram Editor https://www.diagrameditor.com/ for drawing your system components.
If you have any questions regarding the interviewing process please do no hesitate to contact your
recruiter