#

Technical Interview Guide

This guide was created to help you prepare for QuintoAndar's technical interviews, with detailed tips, study suggestions, examples, and free resources.

# Engineering

Here you find the tips and guidelines we have prepared for the technical interviews in the Data Engineer area.

Choose where to start or review everything at your own pace. Happy reading and happy preparing!

Modeling & SQL

An interview is a two-way street. We don’t expect perfect answers, but clarity of thought, good choices, and a constructive attitude. 🚀 Here are some valuable tips to help you do well: 

  • What we expect:

    In a one-hour interview, you will participate in a live case study on SQL and data modeling. We want to know about your experience and see how you apply your knowledge in day-to-day work.

      How to Prepare – Modeling & SQL

      • Think Critically: Be prepared to ask relevant questions to gather more information about the presented context. This will help you build a more complete and appropriate model.

      • Know Data Modeling Types: Review the different types of data modeling (e.g., transactional vs. dimensional) and when each is most appropriate. Think of practical examples of where you would apply each type.

      • Dimensional Modeling Fundamentals: Familiarizing yourself with dimensional modeling concepts, such as fact and dimension tables, can be helpful. Think about how you would build a model that answers various business questions.

      • Model Validation: Practice how you would validate whether the data model you create is capable of answering the business questions presented to you. The ability to ensure your model meets the requirements is crucial.

      • Flexibility and Evolution: Consider how your model can be flexible to accommodate new information or changes in business requirements.

      • SQL Code: The test will assess your ability to use code to answer business questions. We recommend focusing on reviewing aggregation functions and window functions.

      📌 Checklist – Modeling & SQL

      Want to ensure you haven’t forgotten anything? Use this checklist to guide your approach:

      ✅ I have reviewed the main SQL functions
      ✅ I can ask relevant questions to gather more information.
      ✅ I know the types of data modeling and know when to use them.
      ✅ I understand fact and dimension table concepts.
      ✅ I know how to validate if my model meets business requirements.
      ✅ I can think about the flexibility and evolution of a model.

Coding

An interview is a two-way street. We don’t expect perfect answers, but clarity of thought, good choices, and a constructive attitude. 🚀 Here are some valuable tips to help you do well: 

  • What We Expect:

    In an interview lasting approximately one hour, you will need to use algorithms and data structures to solve one or more programming problems. Based on your performance, you may advance to the next stage.

      How to Prepare – Coding

      • Programming Languages: We expect you to be comfortable with Python. You should be familiar with Object-Oriented Design and know how to test your code.

      • Data Structures: Try to familiarize yourself with arrays, linked lists, stacks, queues, sets, maps, trees, and graphs. You should know how to use them in your chosen programming language, as well as the algorithms that pair well with these structures.

      • Complexity: We expect you to be able to reason about the time and space complexity of an algorithm, and how you can improve it. You should also be familiar with Big-O notation (O(n)).

      • Sorting: Have a basic understanding of common sorting algorithms, such as insertion sort, quicksort, and mergesort.

      • Recursion: Many problems require recursion or can be solved more easily with its use. Be prepared to use it if the need arises.

      • Correctness: You will use an online IDE with basic features, such as code completion and syntax highlighting, in addition to the ability to run and test your code. Take advantage of these resources!

      📌 Checklist – Coding

      Want to ensure you haven’t forgotten anything? Use this checklist to guide your approach:

      ✅ I am comfortable with a programming language and know how to test my code.
      ✅I know the main data structures and their algorithms.
      ✅I can reason about the time and space complexity of an algorithm.
      ✅I have reviewed sorting and recursion algorithms.
      ✅I know how to use the online IDE and its basic features.

System Design

An interview is a two-way street. We don’t expect perfect answers, but clarity of thought, good choices, and a constructive attitude. Here are some valuable tips to help you do well:

  • What We Expect

    In an interview lasting approximately one hour, you will be asked to talk about your previous projects and demonstrate your technical skills with a focus on data architecture. This includes a deep dive into building pipelines and the tools used to create them.

      How to Prepare – System Design

      • Recall Data Architecture: Think about the different stages of the data lifecycle, from ingestion to final consumption. Consider how the tools connect and the purposes of each layer (bronze, silver, gold).

      • Think about Diverse Data Scenarios: Consider how you would handle different types of ingestion (APIs, relational databases, real-time events) and how you would ensure the resilience and scalability of the solutions.

      • Tools and Their Applications: Reflect on the tools you know for data transformation and modeling, orchestration, and governance. Think about the pros and cons of each and how they work internally.

      • Quality, Monitoring, and Security: Review the essential practices for ensuring data quality, identifying and resolving performance bottlenecks, and how you would address security and compliance aspects in a data architecture.

      • Architecture Communication: Be prepared to explain your technical decisions clearly and objectively, including to non-technical audiences.

      • Integration and Evolution: Think about how data pipelines can integrate with other areas, such as Data Science (MLOps), and how you envision the evolution of an architecture in the medium and long term.

      • Cost Management and Resilience: Consider how you would optimize costs in a data environment and how you would design scalable and fault-tolerant systems.

      • Trade-Offs: System design and architecture questions are, by nature, open-ended. Be ready to discuss multiple possible approaches and their trade-offs with your interviewer.

      • Avoid Over-Engineering: Trying to cover every edge case from the start can lead to overly complex systems. Focus on providing simple solutions, discuss their limitations with the interviewer, and then improve them as needed.

      📌 Checklist – System Design

      Want to ensure you haven’t forgotten anything? Use this checklist to guide your approach:

      ✅ I am ready to talk about previous projects and data architecture.
      ✅ I can explain the data lifecycle (ingestion to final consumption).
      ✅ I can discuss tools and their applications (pros and cons).
      ✅ I am capable of discussing trade-offs between different technical decisions.
      ✅ I understand data quality, monitoring, and security.
      ✅ I can explain technical decisions clearly, including to non-technical people.
      ✅ I have thought about how data pipelines can integrate with other areas.
      ✅ I practiced creating diagrams in tools like FigJam.