
Design and Architecture Interview: Joining the Uber Engineering team in Latin America
October 31, 2022 / Brazil
Written by Gisela Bobato, Brazil Tech Center Site Program Manager
Between application and offer, candidates go through several interview stages, among them the system design and architecture interview. To help, we gathered insights and tips from the people who know it best—our Engineers on the other end of the interview process.
In this step of the hiring process, candidates go through two different types of interviews, where they access a previously solved and new problem using a whiteboard to explain concepts.
In the new problem interview, candidates build a high-level architecture for a large-scale application. In the previously solved problem interview, the interviewee is asked to showcase their contributions, technical challenges, and architecture.
Our Brazil Tech Center recently hosted a meetup focused on preparing candidates for the coding and system design + architecture interviews. Below, Uber Software Engineers Cristián Sepúlveda, Martin Norris, and Matheus Candido walk through a summary of the design and architecture interview.
Simulating a design and architecture interview
Martin Norris and Matheus Candido, part of our Brazil interviewing team, prepared a mock interview focused on algorithms. In this simulation, both exchanged their roles as interviewers and interviewees to simulate this phase in the Engineering hiring process.
Cristián Sepúlveda, Site Lead for the Chile Tech Center at Uber, shares tips and insights for the Engineers who might follow the hiring process at Uber.
Get familiar with the tools
“Learn how to use CodeSignal and Miro in advance,” Cristián advises. Also, don’t forget to study to get familiar with the main kind of diagrams. That’ll help you know what’s the best way to represent the design during the interview.
Ask, ask and… ask!
According to Cristián, the key is asking about everything during the interview, so make sure you understand the presented problem. “It’s important also to elicit the functional and non-functional requirements, apart from considering edge cases,” added Cristián Sepúlveda.
Think out loud
Share everything you’re thinking about during the interview to show what options you’re considering. “Also, don’t forget to discuss the trade-offs during the discussion,” says Cristián.
First, present a solution. Then, scale it.
The interview is about signs, so it’s important to explore different aspects of the solution. Consider how you would approach the problem on a reduced scale, apart from trying to cover the end-to-end solution before diving too much into a component.
Discuss trade-offs
Understand that deep-dive knowledge is one of the main ways of showing seniority levels, so “get ready to discuss alternatives and to justify your decisions,” says Cristián. Also, consider using functional and non-functional requirements.
Above, you can see examples of trade-offs for Consistency vs. Latency, Consistency vs. Availability, SQL vs. noSQL.
Lead the interview
You should lead the interview, discussing alternatives proactively. “And, again, defining the strategy to approach the problem and manage your time is very important during this interview,” Cristián says.
Talk about what you know
You don’t need to worry about what the interviewer wants to hear, so “it’s important to avoid applying a concept you know Uber uses unless it makes sense”, says Cristián. “Also, if you don’t know something, it is not a problem at all, but it’s important to offer alternatives for the solution.”
Draw everything that is part of the solution
“The diagram is the artifact of the architecture interview, so visualizing the understanding is clearer. Know that the hiring decision is made by a panel, so remember that your diagram can be seen by other people who will decide about your process”, reminds Cristián.
Study and practice
And finally, don’t forget that studying and practicing in advance is essential to nailing your interview. Get your hands dirty and practice time management and pair programming with someone you know.
Now that you know how the coding interview works at Uber, what about applying to one of our job opportunities? Learn more about our job openings →
Posted by Gisela Bobato
Come reimagine with us
Related articles
Most popular

Case study: how Wellington County enhances mobility options for rural townships

Uber’s Journey to Ray on Kubernetes: Resource Management

Advancing Invoice Document Processing at Uber using GenAI
