NÃO QUER PERDER NADA?

Dicas para passar no exame de certificação

Últimas notícias sobre exames e informações sobre descontos

Curadoria e atualizada por nossos especialistas

Sim, me envie o boletim informativo

Ver outras perguntas de entrevista

1
Resposta de referência
A data warehouse is a centralized repository that stores structured data from various sources, typically used for reporting and analysis. Data in a data warehouse is usually cleaned, transformed, and organized into schemas, such as star or snowflake schemas, to facilitate easy querying using SQL. Data warehouses are optimized for read-heavy operations and are often used in business intelligence (BI) and analytics. On the other hand, a data lake is a storage system that can hold a vast amount of raw, unstructured, or semi-structured data in its native format. Data lakes can store data from various sources, including logs, social media, sensor data, and more, making them highly versatile. They are often used in big data processing environments where large volumes of data need to be stored before being processed or analyzed. Tools like Hadoop, Apache Spark, and cloud storage solutions are commonly used to implement data lakes.
2
Resposta de referência
Checkpointing saves the state of a DataFrame to reliable storage and truncates its lineage. This prevents the DAG from becoming too long and complex in iterative workloads.
Aceleração de carreira

Obtenha uma certificação para destacar o seu currículo.

Segundo análise de dados, titulares de certificações IT ganham 26% mais por ano do que candidatos médios. Na SPOTO, pode acelerar o crescimento da sua carreira preparando certificações e entrevistas simultaneamente.

1 100% taxa de aprovação
2 2 semanas de prática com dumps
3 Passar no exame de certificação
3
Resposta de referência
The four characteristics or four Vs of Big data are: - Volume - Veracity - Velocity - Variety
4
Resposta de referência
Apache Kafka is a distributed streaming platform that allows for publishing and subscribing to streams of records, storing streams of records in a fault-tolerant way, and processing streams of records as they occur.
5
Resposta de referência
Parquet is columnar and efficient for most queries. Delta adds ACID and time travel on Parquet. Iceberg offers schema evolution and partition evolution. Choose based on need for ACID (Delta), schema flexibility (Iceberg), or simplicity (Parquet).
6
Resposta de referência
WITH PlayerMaxScores AS ( SELECT p.team_id, p.player_name, MAX(s.game_score) AS max_score FROM players p JOIN scores s ON p.player_id = s.player_id GROUP BY p.team_id, p.player_name ), RankedPlayers AS ( SELECT team_id, player_name, max_score, DENSE_RANK() OVER (PARTITION BY team_id ORDER BY max_score DESC) AS rank FROM PlayerMaxScores ) SELECT team_id, player_name, max_score FROM RankedPlayers WHERE rank <= 2 ORDER BY team_id, max_score DESC, player_name; - The PlayerMaxScores CTE aggregates the maximum score for each player. - The DENSE_RANK() window function in the RankedPlayers CTE assigns a rank to each player within their team based on their maximum score. The DENSE_RANK() function ensures that players with the same score get the same rank. - The final SELECT picks the top two players from each team.
7
Resposta de referência
In an ETL pipeline using batch processing, I identified that the transformation step was slow due to a single-threaded operation on large files. I proposed switching to Spark for distributed processing and partitioned the data. This reduced processing time by 60% and allowed the pipeline to handle increased data volumes.
8
Resposta de referência
You have to be creative in order to solve this one. You switch on two of the light bulbs and then wait for 30 minutes. Then you switch off one of them and enter the room. You will know which switch controls the light bulb that is on. Here is the tough part. How are you going to be able to determine which switch corresponds to the other two light bulbs? You will have to touch them. Yes. That's right. Touch them and feel which one is warm. That will be the other bulb that you had turned on for 30 minutes. You will be in serious trouble if the interviewer says that the light bulbs are LED (given that they don't emit heat).
9
Resposta de referência
Retries can be configured per task with parameters like retries and retry_delay . This allows failed tasks to be retried automatically.
10
Resposta de referência
The XML configurations available in Hadoop are: - Core-site - Mapped-site - Yarn-site - HDFS-site
11
Resposta de referência
For a large-scale data migration, I would leverage an ETL tool like Apache Airflow to automate the extraction, transformation, and loading process. I would carefully map the source and target schemas, handling any necessary data transformation along the way. To ensure efficiency, I would consider partitioning the data and using parallel processing techniques.
12
Resposta de referência
The Hadoop Distributed File System (HDFS) is engineered to store vast amounts of data and ensure high-speed data transmission to user applications, emphasizing reliability and scalability. Its architecture allows it to work across machines that make up a Hadoop cluster, providing highly fault-tolerant storage by replicating data across multiple nodes. By distributing storage and computation across many servers, HDFS ensures availability and fault tolerance while providing high throughput access to application data. This functionality makes it ideal for applications with large data sets, including big data analytics and machine learning applications, where large volumes of data must be stored and processed quickly.
13
Resposta de referência
In a data migration project with a tight deadline, I prioritized tasks by impact: first setting up the cloud infrastructure, then automating data extraction, and finally running validation tests. I used project management tools and daily check-ins to track progress, delegating non-critical tasks to team members.
14
Resposta de referência
The Interviewer's Goal: To see if you understand the trade-offs in distributed systems. The Answer: The CAP theorem states that a distributed data store can only guarantee two of the following three properties simultaneously: - Consistency (C): Every read receives the most recent write or an error. (Data is instantly the same across all nodes). - Availability (A): Every request receives a response, without the guarantee that it contains the most recent write. (The system stays up, even if data is slightly stale). - Partition Tolerance (P): The system continues to operate despite messages being dropped or delayed between nodes. In the real world of distributed data engineering, Partition Tolerance is not optional. Networks fail. Cables get cut. Therefore, we effectively have to choose between CP (Consistency) and AP (Availability). - CP Example (Banking): If an ATM loses connection to the main bank server, it refuses the withdrawal. It prioritizes Consistency over Availability. - AP Example (Social Media): If a server is slow, Instagram will still show you a feed, even if it's 30 seconds old. It prioritizes Availability over Consistency.
15
Resposta de referência
Use transactions or atomic operations where possible, validate intermediate outputs, enable audit trails (e.g., row hashes, checkpoints), and implement pipeline lineage tracking using tools like OpenLineage or Marquez.
16
Resposta de referência
Apache Kafka is a distributed streaming platform designed for high-throughput, low-latency data streaming. It is commonly used for building real-time data pipelines that can handle large volumes of data across distributed systems. Kafka operates on the concept of a distributed commit log, where data is stored as records (messages) in topics, and producers can publish messages while consumers subscribe to and process them. In a data engineering ecosystem, Kafka plays several key roles: - Data Ingestion: Kafka is often used to ingest large volumes of data from various sources, such as logs, sensors, or transactional databases. It can handle data streams in real-time, ensuring that data is reliably captured and made available for downstream processing. - Data Streaming: Kafka supports real-time data streaming by allowing consumers to process data as it arrives. This makes it ideal for scenarios where immediate data processing is required, such as real-time analytics, monitoring systems, or alerting mechanisms. - Decoupling Systems: Kafka decouples data producers from consumers, allowing different parts of a data pipeline to operate independently. This reduces dependencies between systems and improves scalability and fault tolerance. For example, a Kafka topic can be used to buffer data, ensuring that even if the downstream system is temporarily unavailable, the data is not lost. - Event Sourcing and Stream Processing: Kafka is often used in event-driven architectures, where events are captured and processed in real-time. It integrates well with stream processing frameworks like Apache Flink or Apache Spark Streaming, enabling complex event processing, transformations, and aggregations.
17
Resposta de referência
In a previous role, one batch pipeline was taking over six hours to process daily sales data. I reviewed the SQL queries and discovered multiple unnecessary joins and unindexed columns. I rewrote the queries, added proper indexing, and used partitioned data in S3. The processing time dropped to under one hour, improving data availability for downstream reports.
18
Resposta de referência
I have experience working with cloud-based data engineering platforms, primarily AWS (Amazon Web Services) and Google Cloud Platform (GCP), with some exposure to Microsoft Azure as well. Each platform offers a comprehensive suite of tools for data engineering, but they differ in terms of specific services, pricing models, and ecosystem integration. AWS (Amazon Web Services): - Amazon S3 (Simple Storage Service): Used for scalable object storage, often serving as a data lake to store raw and processed data. It integrates well with other AWS services like AWS Glue, Redshift, and EMR. - AWS Glue: A managed ETL service that simplifies the process of extracting, transforming, and loading data. Glue also supports serverless data preparation and cataloging. - Amazon Redshift: A fully managed data warehouse that provides fast querying capabilities over large datasets. It is optimized for complex queries and analytics, especially when integrated with S3 and other AWS services. - Amazon Kinesis: A service for real-time data streaming, often used for processing large streams of data in real-time, such as logs or social media feeds. Google Cloud Platform (GCP): - Google BigQuery: A serverless, highly scalable data warehouse that allows for fast SQL queries across large datasets. BigQuery is known for its ease of use and integration with other Google services like Dataflow and Cloud Storage. - Google Cloud Storage: Similar to AWS S3, it provides scalable object storage and is often used as a data lake. It integrates smoothly with BigQuery and other GCP services. - Google Dataflow: A fully managed service for stream and batch processing. It is built on Apache Beam and supports real-time analytics, ETL, and event stream processing. - Google Pub/Sub: A messaging service for building event-driven systems, supporting real-time analytics and data streaming. Microsoft Azure: - Azure Data Lake Storage: A scalable and secure data lake that supports high-throughput data ingestion and storage. It integrates with Azure Synapse Analytics and other Azure data services. - Azure Synapse Analytics: Combines big data and data warehousing into a unified platform, offering powerful analytics over petabytes of data. - Azure Data Factory: A cloud-based ETL service similar to AWS Glue, used for orchestrating data movement and transformation. - Azure Event Hubs: A big data streaming platform and event ingestion service that can process millions of events per second. Differences: - Service Integration: AWS has a very mature and extensive ecosystem with tight integration across its services. GCP is known for its data analytics and machine learning capabilities, with services like BigQuery and TensorFlow. Azure often appeals to enterprises already using Microsoft products, offering seamless integration with tools like Power BI and Azure Active Directory. - Pricing Models: AWS and GCP generally offer more granular pricing, allowing you to pay for what you use, while Azure often provides cost advantages for organizations already invested in Microsoft's ecosystem. - User Experience: GCP is often praised for its user-friendly interface and ease of use, especially in BigQuery. AWS, while powerful, can be complex due to its vast array of services, and Azure strikes a balance, particularly for users familiar with Microsoft products.
19
Resposta de referência
I follow industry blogs and communities (e.g., Data Engineering Weekly, Stack Overflow), take online courses and certifications (e.g., Coursera, AWS certifications), attend webinars and conferences, and experiment with new tools in personal projects or sandbox environments.
20
Resposta de referência
First, I would assess the source database schema, data volume, and dependencies. I would choose a cloud database service (e.g., AWS RDS, Azure SQL Database). I would use a phased approach: export data using tools like AWS DMS, perform schema mapping and transformations, validate data integrity, and then cut over. I would also plan for downtime and rollback strategies.
21
Resposta de referência
A strong example includes documenting pipeline architecture, data lineage, or transformation logic. The candidate explains how it helped on-call engineers, new team members, or downstream users understand and trust the system.
22
Resposta de referência
A star schema has a central fact table linked directly to denormalized dimension tables, making it simpler and faster for queries. In contrast, a snowflake schema normalizes the dimensions into multiple related tables, which reduces redundancy but can slow performance. Star schemas are often used in BI tools for speed, while snowflake schemas offer better data integrity and storage efficiency.
23
Resposta de referência
A query language statement (SQL, Spark SQL, Dataframe operations, etc.) is translated into a set of optimized logical and physical operations by an execution plan. It is a series of actions that will be carried out from the SQL (or Spark SQL) statement to the DAG(Directed Acyclic Graph), which will then be sent to Spark Executors.
24
Resposta de referência
This PySpark code handles schema evolution when new data contains additional or missing columns. - It reads a JSON file into a DataFrame using spark.read.json. - A new column, new_column, is added to the DataFrame with default None values to account for any missing fields in the new data. - The write operation uses the mergeSchema option, which allows Spark to automatically handle schema evolution when writing to a Parquet file, merging the new schema with the existing one at the target path. # Example of schema evolution handling using PySpark from pyspark.sql import functions as F dataframe = spark.read.json("/path/to/new_data.json") # Adding default placeholders for missing columns default_df = dataframe.withColumn("new_column", F.lit(None)) # You can leverage Spark's 'mergeSchema' option when writing to handle schema evolution automatically default_df.write.option("mergeSchema", "true").parquet("/path/to/target_data")
25
Resposta de referência
A data lake is a storage system that holds vast amounts of raw data in its native format, including structured, semi-structured, and unstructured data. Unlike a data warehouse, which stores processed and structured data for specific queries, a data lake is used for more flexible, exploratory data analysis.
26
Resposta de referência
This question tests set operations and query deduplication. It specifically checks whether you know how combining datasets affects duplicates. UNION combines results and removes duplicates, while UNION ALL preserves all rows including duplicates, making it faster. In real-world data pipelines, UNION is used when deduplicated results are required, while UNION ALL is preferred when performance is critical, and duplicates are acceptable.
27
Resposta de referência
When discussing a data engineering problem, start by clearly outlining the situation, such as data inconsistency or integration issues. Highlight specific tactics, like implementing data validation rules or using automated scripts for data cleaning. Describe the actions taken, such as collaborating with team members or utilizing specific tools. Finally, emphasize the results achieved, like improved data accuracy or streamlined processes, showcasing your problem-solving and communication skills.
28
Resposta de referência
Monitoring involves: - Logging and metrics - Automated alerts - Tracking data freshness and failures Reliable monitoring ensures pipelines remain healthy and trustworthy.
29
Resposta de referência
This SQL question requires using window functions or self-joins to calculate overlapping time intervals. One approach is to use a SUM() window function with an event-based method: assign +1 for login events and -1 for logout events, ordered by time, then calculate a running total to find the peak concurrency period. The answer involves identifying the time range with the maximum cumulative count.
30
Resposta de referência
Scaling numeric columns involves transforming values to a range of [0, 1] using the formula: scaled_value=max−minvalue−min WITH stats AS ( SELECT MIN(numeric_column) AS min_value, MAX(numeric_column) AS max_value FROM table_name ) SELECT numeric_column, (numeric_column - stats.min_value) / (stats.max_value - stats.min_value) AS scaled_value FROM table_name, stats; MIN() andMAX() : Calculate the minimum and maximum values of the column.(value - min) / (max - min) : Scale each value to the range[0, 1] .
31
Resposta de referência
Share an unconventional solution. For example: 'Instead of scaling up infrastructure, I proposed a data compression and partitioning strategy that reduced storage costs by 60% and improved query performance by 3x.'
32
Resposta de referência
Organized data consists of types such as text, numerals, and dates. Thus, they fit in data tables. Unorganized data do not fit in the data table because of their nature and size. e.g., videos, images, etc.
33
Resposta de referência
In Python pipelines, data integrity is ensured through validation checks (e.g., schema validation, null checks), unit tests on transformations, and anomaly detection using libraries like Great Expectations. Adding logging and monitoring ensures issues are caught early. Strong practices prevent downstream errors and keep pipelines reliable.
34
Resposta de referência
Provide a story where you realized a plan was failing, pivoted quickly, and communicated with stakeholders. Explain how you reprioritized tasks, reduced scope, or found a workaround to meet the core deadline.
35
Resposta de referência
A suite of cloud-native tools centered around a warehouse. It typically includes tools for ingestion (Fivetran), storage (Snowflake), transformation (dbt), and visualization (Tableau).
36
Resposta de referência
Normalization reduces redundancy and improves data integrity, typically used in OLTP. Denormalization improves read performance by reducing joins—used in OLAP systems. Most analytical warehouses use a denormalized (flattened) schema for speed.
37
Resposta de referência
To optimize a SQL query with performance issues, I would start by analyzing the query execution plan using EXPLAIN. I would then consider indexing the relevant columns, rewriting the query to reduce unnecessary joins or subqueries, and ensuring the proper indexing of foreign key relationships.
38
Resposta de referência
When this comes up, walk through a concrete example, such as reducing a Spark job's runtime from hours to minutes. Explain that you optimized by adjusting partition sizes, reducing shuffles, and leveraging caching or broadcast joins. Point out the tradeoff between job complexity vs performance gains. Emphasize the impact on the business, such as meeting SLAs, reducing costs, or enabling faster insights. This shows that you focus on measurable improvements.
39
Resposta de referência
To identify users with at least 5 transactions in a specific month, you can use GROUP BY and HAVING . SELECT user_id, COUNT(*) AS transaction_count FROM transactions WHERE DATE_TRUNC('month', transaction_date) = '2023-10-01' -- Specify the month GROUP BY user_id HAVING COUNT(*) >= 5; DATE_TRUNC('month', transaction_date) : Truncates thetransaction_date to the start of the month (e.g.,2023-10-01 ).GROUP BY user_id : Groups transactions byuser_id .HAVING COUNT(*) >= 5 : Filters users with at least 5 transactions.
40
Resposta de referência
Principles include: data should be trustworthy, systems should be maintainable and scalable, design for the user, prefer simplicity, and build with observability. Candidates explain how these principles shaped past decisions.
41
Resposta de referência
Data staging is an intermediate step in the ETL (Extract, Transform, Load) process. It involves moving data from its source to a temporary storage area before it's formatted and sent to its destination. - Data Quality Assurance: It allows for comprehensive data cleansing, validation, and de-duplication before the data is loaded into the target system. - Performance Optimization: Staging data can improve ETL process performance by separating time-consuming transformations from the initial data load. - Data Consistency: It helps ensure that data loaded into target systems maintains consistency, especially when dealing with multiple source systems. - Data Recovery and Reusability: Staging provides a safety net, allowing for data recovery in case of loading errors. It also facilitates data reprocessing and the ability to re-load changed data.
42
Resposta de referência
The NameNode and the DataNode communicate via these messages: - Block reports - Heartbeats
43
Resposta de referência
Explain how you noticed a colleague was struggling, offered assistance, mentored them, and helped them improve. Emphasize empathy and team success over individual credit.
44
Resposta de referência
Enforcing data retention involves placing Time-To-Live (TTL) guidelines, archiving techniques, and partitioning data based on time, permitting efficient deletion or archiving of old data.
45
Resposta de referência
A central service that stores and manages schemas for Kafka messages, ensuring that producers and consumers remain compatible as data formats change.
46
Resposta de referência
In SQL, there are mainly two ways to handle or reduce duplicate data points- you can use the SQL keywords DISTINCT & UNIQUE to reduce duplicate data points. Additionally, you have other options, like using GROUP BY to handle duplicate data points.
47
Resposta de referência
Possible approaches include: - Regularly reading tech blogs and articles - Participating in online courses and certifications - Attending conferences and workshops - Experimenting with new tools in personal projects - Collaborating with colleagues and sharing knowledge - Following industry experts on social media
48
Resposta de referência
Data skew occurs when some partitions of data are significantly larger than others, leading to imbalanced processing workloads. It can be handled by: - Partitioning Strategies: Using more granular or custom partitioning keys to distribute data evenly. - Salting: Adding random values to the partition key to spread data more evenly. - Load Balancing: Dynamically redistributing data to ensure even processing loads across nodes.
49
Resposta de referência
Ensuring security in Hadoop installations encompasses several strategic measures. This begins with setting up Kerberos authentication to verify every user and service. Moreover, implementing strict authorization measures through Access Control Lists (ACLs) or Apache Ranger ensures that data access is restricted to authorized users only, while encrypting data at rest and in transit protects sensitive information from unauthorized interception. Regularly auditing and monitoring the activities within the Hadoop ecosystem also plays a key role in promptly identifying and mitigating potential security threats.
50
Resposta de referência
Data engineering is the process of gathering information from numerous sources into a stable system. Raw data needs to be converted into structured data, i.e., extracting information in a format and model used by data scientists and analysts. Thus, data engineering involves not just data collection and storage but also transformation, aggregation, cleansing, and profiling to help make it actionable.
51
Resposta de referência
- ACID (Atomicity, Consistency, Isolation, Durability) principle - is typically associated with traditional relational database management systems (RDBMS), where data consistency and integrity are of utmost importance. - BASE (Basically Available, Soft state, Eventually consistent) - is often linked to NoSQL databases and distributed systems, where high availability and partition tolerance are prioritized, and strong consistency may be relaxed in favor of availability and partition tolerance.
52
Resposta de referência
A playbook includes detection via monitoring, scoping impact, stakeholder communication, pausing downstream jobs if necessary, resolving the root cause, and documenting the incident for postmortems. This ensures quick recovery and knowledge sharing.
53
Resposta de referência
The Interviewer's Goal: Will you quit in 3 months because the work is hard? The Answer: 'I love the engineering challenge. Data Scientists build the models, but Data Engineers build the roads those models drive on. I get satisfaction from taking messy, chaotic data and architecting a system that makes it reliable, fast, and usable for the whole company. I enjoy the blend of coding, architecture, and system design.'
54
Resposta de referência
When asked this, explain that a snowflake schema is a normalized extension of the star schema where dimensions are split into multiple related tables. You should highlight that it saves storage and enforces data consistency but can make queries more complex. Emphasize that you use it when the warehouse needs high normalization or when dimensions are very large.
55
Resposta de referência
Strategies for ensuring data quality include: - Implementing data validation checks at ingestion - Using data profiling tools to understand data characteristics - Establishing clear data quality metrics and monitoring them - Implementing data cleansing processes - Conducting regular data audits - Establishing a data governance framework
56
Resposta de referência
On GCP, data pipelines often use Pub/Sub for ingestion, Dataflow for transformation, BigQuery for warehousing, and GCS for storage. These services are serverless and scale automatically with load. This design supports both batch and real-time processing.
57
Resposta de referência
SELECT MAX(salary) FROM employees WHERE salary < (SELECT MAX(salary) FROM employees);
58
Resposta de referência
Relatively static data which can change slowly but unpredictably. Examples are names of geographical locations, customers, or products.
59
Resposta de referência
The CAP Theorem states that a distributed system can only provide two of three guarantees: Consistency, Availability, and Partition Tolerance. Since network partitions are inevitable in distributed systems, engineers must choose between Consistency (all nodes see the same data) and Availability (every request gets a response).
60
Resposta de referência
An idempotent pipeline is one where running it multiple times with the same input produces the same output without creating duplicates. This is vital for fault tolerance, allowing you to restart a failed pipeline safely.
61
Resposta de referência
Partitioning is the process of dividing a database into smaller, more manageable pieces, known as partitions, based on certain criteria like range, list, or hash. Each partition can be stored separately, which allows queries to be executed more efficiently by scanning only the relevant partitions instead of the entire dataset. For example, a table storing sales data might be partitioned by date, with each partition containing data for a specific year or month. This makes queries for a particular time range much faster. Sharding is a form of horizontal partitioning where the data is distributed across multiple servers or nodes. Each shard is an independent database instance containing a subset of the total data. Sharding is often used to scale out databases horizontally, allowing the system to handle a larger volume of data and higher traffic loads by distributing the data and queries across multiple servers. For instance, a user database might be sharded based on user ID, with each shard holding a specific range of users. Both partitioning and sharding are important because they enhance database performance, enable better load balancing, and support the scalability needed for large-scale applications. Partitioning improves query efficiency within a single database, while sharding allows the database to scale across multiple machines, handling more significant data volumes and concurrent users.
62
Resposta de referência
Fact table: FactSupportTicket (ticket_id, date_key, agent_key, customer_key, product_key, resolution_time_minutes, satisfaction_score). Dimensions: DimDate (date_key, date), DimAgent (agent_key, agent_name, team), DimCustomer (customer_key, customer_name), DimProduct (product_key, product_name), DimTicketStatus (status_key, status_description).
63
Resposta de referência
Ensuring data quality across multiple ETL platforms involves implementing data validation checks, using data profiling tools, and setting up automated alerts for data anomalies. Additionally, maintaining a robust data governance framework and using translation modules for language consistency are crucial for cohesive analysis.
64
Resposta de referência
Deploying a big data solution from scratch is a multifaceted process that starts with Requirement Analysis to clearly understand the business needs and data sources, defining the project's scope. Next, Choosing the Right Technology involves selecting the best-suited big data frameworks and platforms like Hadoop, Spark, or Kafka, tailored to handle the specific data characteristics (volume, variety, velocity). Infrastructure Setup then focuses on assembling the necessary hardware and software to support the data demands. Data Integration is crucial, as it involves consolidating disparate data sources using ETL tools or real-time data streaming to create a cohesive data environment. The Implementation phase develops the application with scalability and robustness in mind. Testing and Optimization ensure the system's reliability and performance under different scenarios, leading to necessary adjustments. Finally, Deployment and Monitoring move the solution into production, with continuous monitoring to effectively manage system performance and health.
65
Resposta de referência
To calculate the percentage contribution, divide each product's sales by the total sales and multiply by 100. WITH total_sales AS ( SELECT SUM(sales) AS total FROM products ) SELECT product_name, sales, (sales / total_sales.total) * 100 AS percentage_contribution FROM products, total_sales; total_sales CTE : Calculates the total sales across all products.sales / total_sales.total : Computes the proportion of each product's sales relative to the total.* 100 : Converts the proportion to a percentage.
66
Resposta de referência
Optimizations include partitioning fact tables, using materialized views, leveraging result set caching, and scaling DWUs based on workload.
67
Resposta de referência
RDDs (Resilient Distributed Datasets) are low-level collections without a schema. DataFrames are higher-level, organized into named columns, allowing Spark's Catalyst Optimizer to create more efficient execution plans.
68
Resposta de referência
The Interviewer's Goal: Do you understand database modeling? The Answer: It comes down to the structure of the data and the scaling requirements. - Choose SQL (Relational - PostgreSQL/MySQL): - When data integrity is critical (Financial ledgers). - When the schema is rigid and defined upfront. - When you need complex JOINS. - Choose NoSQL (Document/Key-Value - MongoDB/DynamoDB): - When the data structure is changing constantly (e.g., varied User Profiles). - When you need massive Write Throughput. - When you need to scale Horizontally (sharding) rather than Vertically.
69
Resposta de referência
This shows your ability to solve common algorithm problems without overthinking. Flattening lists tests recursion, iteration, and handling edge cases. Interviewers aren't grading style — they're checking if you can write clear, working code that solves the problem without reinventing the wheel.
70
Resposta de referência
Provide a sanitized example: 'I built a sales performance dashboard in Tableau for a retail team, connecting to a Redshift warehouse. It visualized daily revenue, top products, and regional trends. The dashboard reduced reporting time by 40% and helped identify underperforming regions.'
71
Resposta de referência
- One-to-One - This can be defined as the relationship between two tables where each record in one table is associated with the maximum of one record in the other table. - One-to-Many & Many-to-One - This is the most commonly used relationship where a record in a table is associated with multiple records in the other table. - Many-to-Many - This is used in cases when multiple instances on both sides are needed for defining a relationship. - Self-Referencing Relationships - This is used when a table needs to define a relationship with itself.
72
Resposta de referência
To design a data pipeline for processing streaming data in real-time, I would start by selecting the appropriate technologies based on the requirements of the use case. A common architecture might include: - Data Ingestion: I would use a streaming platform like Apache Kafka, Amazon Kinesis, or Google Pub/Sub to ingest data in real-time. These platforms can handle high-throughput, low-latency data streams and ensure that data is reliably captured from various sources. - Stream Processing: For processing the data as it arrives, I would use a stream processing framework like Apache Flink, Apache Spark Streaming, or AWS Lambda (for serverless architectures). These tools allow for the real-time transformation, aggregation, and filtering of data. The processing logic could include operations like windowed computations, event time processing, or applying machine learning models to the data stream. - Data Storage: Processed data would then be stored in a system that supports real-time querying, such as Amazon Redshift, Google BigQuery, or even a NoSQL database like Cassandra or MongoDB, depending on the use case. - Monitoring and Scaling: It's important to include monitoring tools like Prometheus or Grafana to track the performance of the pipeline. Auto-scaling features provided by cloud platforms or Kubernetes can ensure the pipeline handles variable loads.
73
Resposta de referência
The Interviewer's Goal: Why not just use Cron? The Answer: Cron is fine for a single script, but it fails for Data Pipelines. An orchestrator like Airflow provides: - Dependency Management: It ensures 'Step B' only runs if 'Step A' succeeded. - Backfilling: The ability to easily re-run a pipeline for a specific date range in the past. - Retries & Alerting: Automatically retrying a failed task (handling transient network glitches) and paging the engineer if it fails permanently. - Visual DAGs: A UI to visualize the workflow and identify bottlenecks.
74
Resposta de referência
By granularity, we mean the lowest level of information that will be stored in the fact table. 1) Determine which dimensions will be included 2) Determine where along the hierarchy of each dimension the information will be kept.
75
Resposta de referência
A data warehouse is designed for analysis and reporting. It gathers data from diverse sources and structures it into a format optimized for querying and analysis, facilitating informed business decision-making based on historical insights. In contrast, an operational database is designed for real-time data management, handling daily transactions with quick query responses to support the ongoing operations of a business. While data warehouses are optimized for read-intensive operations, operational databases are optimized for write operations, providing fast data processing to support real-time application demands.
76
Resposta de referência
While R is more popular in statistical computing and data analysis, it can also be used for data engineering tasks. Compared to Python: - R has stronger statistical and visualization capabilities out-of-the-box - Python has a more general-purpose nature and is often easier to integrate with other systems - Both have packages for data manipulation (e.g., dplyr in R, Pandas in Python) - Python is generally faster for large-scale data processing - R has a steeper learning curve for those without a statistical background
77
Resposta de referência
Spark is a distributed computing engine that processes data "in-memory" (RAM), whereas MapReduce writes intermediate results to disk. This makes Spark significantly faster, especially for iterative algorithms.
78
Resposta de referência
Normalization is the process of structuring a relational database to minimize redundancy and dependency. It involves organizing data into multiple related tables. The main normal forms are: - 1NF: Eliminate repeating groups - 2NF: Remove partial dependencies - 3NF: Remove transitive dependencies This helps maintain consistency and makes updates easier without affecting data accuracy.
79
Resposta de referência
Many data engineers have some experience with data modeling, it may well be within the expected responsibilities of data engineers in some organizations. Some interviewers may ask a question like this. If so, be sure to catalog the modeling tools you worked with in the past. Don't forget to include details on the advantages and disadvantages of each. If you have knowledge or experience with data modeling, this question is your time to shine!
80
Resposta de referência
I implement automated alerting (Slack/Email), configure retries with exponential backoff, and use Dead Letter Queues to isolate bad data without stopping the entire pipeline.
81
Resposta de referência
Data modeling is the initial step toward designing the database and analyzing data. It involves showing the relationship between structures, first with the conceptual model, then the logical model, and followed by the physical model.
82
Resposta de referência
To design a real-time analytics platform, I'd use Kafka for streaming data ingestion, Spark Structured Streaming or Flink for processing, and store results in a low-latency database like Apache Druid or Elasticsearch. For dashboards, I'd use Grafana or Superset. I'd ensure horizontal scaling, implement checkpointing for recovery, and use partitioned storage to handle growing volumes with minimal delay.
83
Resposta de referência
I use time.sleep() combined with "try-except" blocks to catch 429 Too Many Requests errors, implementing an exponential backoff strategy for retries.
84
Resposta de referência
The four Vs of Big Data define the characteristics of any Big Data environment. These are: - Volume - Velocity - Veracity - Variety For managerial roles, the candidate should also mention that as an outcome of Big Data, the fifth ‘V,' which is also crucial, is ‘Value.'
85
Resposta de referência
Pivoting transforms rows into columns, often used for summarizing data. SELECT user_id, MAX(CASE WHEN category = 'Electronics' THEN amount ELSE 0 END) AS electronics, MAX(CASE WHEN category = 'Clothing' THEN amount ELSE 0 END) AS clothing, MAX(CASE WHEN category = 'Food' THEN amount ELSE 0 END) AS food FROM transactions GROUP BY user_id; CASE Statement : Maps each category to its corresponding column.MAX() : Aggregates the values into columns.GROUP BY user_id : Groups the data byuser_id .
86
Resposta de referência
Use a parallel write path: either a shadow table that the backfill writes to before swapping in atomically, or a partition strategy where the backfill targets specific historical partitions while the live pipeline keeps writing to current ones.
87
Resposta de referência
Schema design is fundamental in database management as it defines the structure and organization of data, including how it is stored, accessed, and manipulated. A well-designed schema ensures that the database is efficient, scalable, and capable of supporting the applications that rely on it. Effective schema design helps optimize storage by reducing redundancy and improves performance by facilitating quicker data retrieval and easier maintenance. Moreover, ensuring data integrity and enforcing business rules through constraints and relationships among tables is crucial. For businesses, a robust schema is critical as it supports the accurate analysis of data, which can drive informed decision-making.
88
Resposta de referência
Describe how you supported a team member's growth or well-being beyond expectations. For example, mentoring them for a promotion or helping them with a personal challenge.
89
Resposta de referência
Vertical scaling means adding more RAM or CPU to a single server. Horizontal scaling means adding more servers to a cluster, which is the foundation of distributed big data systems.
90
Resposta de referência
ETL (Extract, Transform, Load) processes are essential for data pipelines. While powerful, they present unique challenges. - Data Quality: ETL is ineffective without high-quality data. Challenges involve detecting and resolving issues like duplicates, inconsistencies, and missing values. - Scalability: As data volumes grow, ETL processes must adapt to handle the increased load efficiently. - Data Governance and Compliance: ETL systems need to adhere to regulatory requirements such as GDPR and data governance policies within an organization. - Real-Time Data Processing: ETL traditionally involves batch processing, but many modern applications require real-time or near-real-time data integration and processing. - Data Security: Protecting data throughout the ETL process, from extraction to loading, is critical, especially in cloud environments. - ETL Testing and Monitoring: Comprehensive testing and monitoring help ensure ETL processes are robust, accurate, and reliable. - Time Sensitivity: Data from different sources might be in different time zones or have timestamp inconsistencies. - Metadata Management: Effective data governance and understanding of the data flow require robust metadata management. - Legacy System Integration: Data extraction from aging systems with outdated or limited interfaces can be a challenge. - Handling Unstructured Data: Beyond the structured data in databases, ETL systems increasingly need to handle semi-structured and unstructured data from sources like documents and web logs. - Data Lineage: Maintaining a clear record of a data's origin, transformations, and destination is crucial for compliance, reproducibility, and trust in analytics.
91
Resposta de referência
Prioritization is done by weighing business impact and urgency. High-value, business-critical tasks are addressed first, while lower-priority work is scheduled around them. Frameworks like the impact-urgency matrix or input from stakeholders help align priorities. Clear communication ensures expectations are managed across teams.
92
Resposta de referência
In ETL, data is transformed in a processing engine before loading. In ELT, data is loaded raw into a cloud warehouse, and the warehouse's compute power is used for transformation, which is more scalable.
93
Resposta de referência
The three primary methods to use with reducer in Hadoop are as follows: - setup(): This function is mostly useful to set input data variables and cache protocols. - cleanup(): This procedure is useful for deleting temporary files saved. - reduce(): This method is used only once for each key and is the most crucial component of the entire reducer.
94
Resposta de referência
Data Modeling is the act of creating a visual representation of an entire information system or parts of it in order to express linkages between data points and structures. The purpose is to show the many types of data that are used and stored in the system, as well as the relationships between them, how the data can be classified and arranged, and its formats and features. Data can be modeled according to the needs and requirements at various degrees of abstraction. The process begins with stakeholders and end-users providing information about business requirements. These business rules are then converted into data structures, which are used to create a concrete database design.
95
Resposta de referência
- Schema-on-Read: The schema is applied to the data as it is read, allowing for flexibility in handling diverse data formats. It's commonly used in data lakes. - Schema-on-Write: The schema is applied when data is written to storage, ensuring that data conforms to a predefined structure. It's used in traditional relational databases and data warehouses.
96
Resposta de referência
Data replication involves copying and maintaining database objects, such as tables, across multiple nodes or locations. It ensures data availability and fault tolerance. Common strategies include master-slave replication (where one node handles writes) and multi-master replication (where all nodes can handle writes).
97
Resposta de referência
Definition: Columnar storage organizes and stores data by columns rather than rows, making it highly efficient for analytical workloads that involve scanning large datasets for specific fields. Example Use Case: Using the Parquet file format with Apache Spark allows querying specific columns like “total_sales” and “region” without reading the entire dataset, leading to faster execution. Benefits: Improved Query Performance: - Queries that access a few columns (e.g., aggregate functions) are faster because irrelevant columns are not read. Enhanced Compression: - Storing data in columns allows better compression due to similar data types, reducing storage costs. Efficient Analytics: - Ideal for read-heavy analytical workloads, making it a standard for big data analytics systems. Common Use Cases: - Data lakes (e.g., AWS S3 with Athena). - Data warehouses (e.g., Snowflake, Google BigQuery).
98
Resposta de referência
Hadoop streaming is a utility provided by Hadoop for creating maps and performing reduction operations. Later, we submit it to a specific cluster.
99
Resposta de referência
Hadoop has the following components: - Hadoop Common: A collection of Hadoop tools and libraries. - Hadoop HDFS: Hadoop's storage unit is the Hadoop Distributed File System (HDFS). HDFS stores data in a distributed fashion. HDFS is made up of two parts: a name node and a data node. While there is only one name node, numerous data nodes are possible. - Hadoop MapReduce: Hadoop's processing unit is MapReduce. The processing is done on the slave nodes in the MapReduce technique, and the final result is delivered to the master node. - Hadoop YARN: Hadoop's YARN is an acronym for Yet Another Resource Negotiator. It is Hadoop's resource management unit, and it is included in Hadoop version 2 as a component. It's in charge of managing cluster resources to avoid overloading a single machine.
100
Resposta de referência
| OLTP (Online Transaction Processing) Systems | OLAP (Online Analytical Processing ) Systems | | System for modification of online databases. | System for querying online databases. | | Supports insert, update and delete transformations on the database. | Supports extraction of data from the database for further analysis. | | OLTP systems generally have simpler queries that require less transactional time. | OLAP queries generally have more complex queries which require more transactional time. | | Tables in OLTP are normalized. | Tables in OLAP are not normalized. |
101
Resposta de referência
Using the Tortoise and Hare algorithm, the solution below detects whether a linked list contains a cycle. This algorithm uses two slow and fast pointers to traverse the linked list at different speeds. class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def has_cycle(head: ListNode) -> bool: slow = head fast = head while fast and fast.next: slow = slow.next # Move slow pointer by 1 step fast = fast.next.next # Move fast pointer by 2 steps if slow == fast: return True # A cycle is detected return False # No cycle detected
102
Resposta de referência
Hadoop is made up of four key components. These are:
103
Resposta de referência
I employ automated and manual methods to ensure accuracy and integrity for data validation and cleaning in large datasets. Initially, I implemented automated Python or SQL scripts to identify outliers, missing values, and inconsistencies based on predefined rules and thresholds. Tools like Apache Spark are useful for handling data at scale, providing built-in filtering and aggregation functions, which help clean data efficiently. Furthermore, I ensure ongoing data validation through integrated checks within the ETL processes, maintaining high data quality throughout the project lifecycle. For critical datasets, domain experts conduct manual spot-checking to verify the automated cleaning processes, ensuring that the data meets the highest quality standards.
104
Resposta de referência
import pandas as pd days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday'] # Calling DataFrame constructor on list df = pd.DataFrame(days) df is the data frame created from the list 'days'. df = pd.DataFrame(days, index =['1','2','3','4'], columns=['Days']) Can be used to create the data frame and the values for the index and columns.
105
Resposta de referência
Surrogate keys serve as unique identifiers for each record in a table. This is especially useful in situations where it might be challenging to establish uniqueness based on the natural characteristics of the data (natural keys). Surrogate keys can significantly improve the performance of database operations, particularly in situations where data might be updated frequently. This is because using a surrogate key means there's no need to modify related records or tables when data in the original table changes. Surrogate keys can make it easier to manage relationships between tables. Instead of using multiple columns as a composite primary key, a single surrogate key column can be used, leading to simpler and more intuitive. Surrogate keys can help maintain data consistency and referential integrity in databases. They make it less likely that records will be accidentally duplicated or that relationships between records in different tables will be broken. During data transformation processes, surrogate keys provide a stable reference point for identifying, updating, or deleting records.
106
Resposta de referência
A Data Lakehouse combines features of data lakes and data warehouses, allowing both batch and real-time analytics on the same data. Example: Using Delta Lake on Azure enables unified analytics. Difference: Unlike traditional architectures that separate storage for lakes and warehouses, lakehouses provide a single platform for storage and analytics.
107
Resposta de referência
Parquet is a columnar format, meaning it only reads the specific columns requested. It also features built-in compression and metadata, making it much faster and cheaper for large-scale queries.
108
Resposta de referência
Common data storage solutions include: - Relational Databases: Such as MySQL, PostgreSQL. - NoSQL Databases: Such as MongoDB, Cassandra. - Data Warehouses: Such as Amazon Redshift, Google BigQuery. - Data Lakes: Such as AWS S3, Azure Data Lake.
109
Resposta de referência
The process of checking data for common issues such as unexpected nulls, duplicate records, or values that fall outside of a logical range (e.g., negative prices).
110
Resposta de referência
A typical star schema: FactSales (sales_id, date_id FK, product_id FK, customer_id FK, store_id FK, quantity, amount) and dimension tables: DimDate (date_id PK, date, year, month, day), DimProduct (product_id PK, name, category), DimCustomer (customer_id PK, name, region), DimStore (store_id PK, location, manager).
111
Resposta de referência
Explain how you used experience, intuition, and available qualitative information to make a decision. Describe the risk assessment and the outcome, showing you can act with incomplete data.
112
Resposta de referência
Segmentation: Real-time for streaming tools (e.g., Kafka, Spark Streaming). Batch for daily aggregations. Storage: Use separate storage layers if needed (e.g., streaming DB + warehouse). Cost-performance balance: Real-time, where speed matters, batch, where cost matters.
113
Resposta de referência
Data versioning involves tracking changes to datasets over time. Implementation strategies include: - Using version control systems for code and configuration files - Implementing slowly changing dimensions in data warehouses - Using data lake technologies that support versioning (e.g., Delta Lake) - Maintaining metadata about dataset versions - Implementing a robust backup and restore strategy
114
Resposta de referência
Explain how you gathered what data was available, made assumptions clear, consulted experts, and made a calculated decision. Describe the outcome and any lessons learned about handling ambiguity.
115
Resposta de referência
Use GROUP BY with HAVING COUNT(*) > 1: SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1;
116
Resposta de referência
Apache Spark is an open-source distributed processing solution for big data workloads. For rapid queries against any size of data, it uses in-memory caching and efficient query execution. Simply put, Spark is a general-purpose data processing engine that is quick and scalable.
117
Resposta de referência
NameNode, a vital part of HDFS, stores the HDFS data and keeps track of the files in all clusters. However, we store the data in the DataNodes instead of NameNodes.
118
Resposta de referência
Identify whether the issue is upstream, orchestration-related, or internal. Adjust pipeline dependencies and expectations where possible. Communicate freshness expectations to stakeholders. Design fallbacks or alerts for late arrivals. Improve resilience by decoupling or using watermark-based scheduling.
119
Resposta de referência
Star schema: Fewer joins, better for performance; ideal for simpler analytics. Snowflake schema: More normalized, less redundancy; better for storage efficiency.
120
Resposta de referência
An example is building a pipeline on AWS where S3 stored raw data, Glue transformed it, Redshift served as the warehouse, and QuickSight powered dashboards. The system used Lambda for lightweight compute and Kinesis for real-time ingestion. This design delivered both batch and streaming insights with cost efficiency.
121
Resposta de referência
Hadoop is an open-source software framework for storing data and running applications that provides massive amounts of storage and processing power. It is compatible with multiple types of hardware, supports rapid processing of data, and allows you to create three replicas for each block with different nodes.
122
Resposta de referência
reduceByKey performs a local merge on each node before shuffling, drastically reducing network traffic. groupByKey shuffles all data first, which often leads to OOM errors.
123
Resposta de referência
- Real-Time Data Processing: Involves processing data immediately as it arrives, enabling instant insights and decision-making. It's commonly used in applications like fraud detection and IoT monitoring. - Batch Processing: Involves processing data in large chunks at scheduled intervals. It's suitable for tasks that don't require immediate results, such as end-of-day reporting.
124
Resposta de referência
The median is the middle value in a sorted dataset. Calculating the median in SQL depends on whether the number of rows is odd or even. WITH RankedData AS ( SELECT column_name, ROW_NUMBER() OVER (ORDER BY column_name) AS row_num, COUNT(*) OVER () AS total_count FROM table_name ) SELECT CASE WHEN total_count % 2 = 1 THEN (SELECT column_name FROM RankedData WHERE row_num = (total_count + 1) / 2) ELSE AVG(column_name) -- Average of the two middle values FROM RankedData WHERE row_num IN (total_count / 2, (total_count / 2) + 1) END AS median FROM RankedData LIMIT 1; ROW_NUMBER() : Assigns a unique rank to each row based on the sorted order ofcolumn_name .COUNT(*) OVER () : Calculates the total number of rows in the dataset.- Odd Case : If the total count is odd, the median is the middle value. - Even Case : If the total count is even, the median is the average of the two middle values.
125
Resposta de referência
Balance based on business priority: critical dashboards need freshness and reliability; ad-hoc analysis can optimize cost. Use incremental processing, auto-scaling, and tiered storage. Monitor usage and set budgets.
126
Resposta de referência
yield creates a generator, which returns one item at a time instead of loading an entire list into memory. This is essential for processing multi-gigabyte files efficiently.
127
Resposta de referência
XML configuration files available in Hadoop are: - Core-site - Mapred-site - Yarn-site - HDFS-site
128
Resposta de referência
To design a data warehouse for a new online retailer, you should start by identifying the key business processes and the data they generate. Use a star schema to organize the data, with fact tables capturing transactional data and dimension tables providing context. This design will facilitate efficient querying and reporting.
129
Resposta de referência
A strong answer describes the growth challenge, the redesign approach (e.g., moving from batch to streaming, adopting a new warehouse, or restructuring data models), and the positive impact on reliability, performance, or scalability.
130
Resposta de referência
The break statement in Python terminates a loop or another statement containing the break statement. If a break statement is present in a nested loop, it will terminate only the loop in which it is present. Control will pass the statements after the break statement if they are present. The continue statement forces control to stop the current iteration of the loop and execute the next iteration rather than terminating the loop completely. If a continue statement is present within a loop, it leads to skipping the code following it for that iteration, and the next iteration gets executed. Pass statement in Python does nothing when it executes, and it is useful when a statement is syntactically required but has no command or code execution. The pass statement can write empty loops and empty control statements, functions, and classes.
131
Resposta de referência
Partitioning is the process of dividing a database into smaller, more manageable pieces, known as partitions, based on certain criteria like range, list, or hash. Each partition can be stored separately, which allows queries to be executed more efficiently by scanning only the relevant partitions instead of the entire dataset. For example, a table storing sales data might be partitioned by date, with each partition containing data for a specific year or month. This makes queries for a particular time range much faster. Sharding is a form of horizontal partitioning where the data is distributed across multiple servers or nodes. Each shard is an independent database instance containing a subset of the total data. Sharding is often used to scale out databases horizontally, allowing the system to handle a larger volume of data and higher traffic loads by distributing the data and queries across multiple servers. For instance, a user database might be sharded based on user ID, with each shard holding a specific range of users. Both partitioning and sharding are important because they enhance database performance, enable better load balancing, and support the scalability needed for large-scale applications. Partitioning improves query efficiency within a single database, while sharding allows the database to scale across multiple machines, handling more significant data volumes and concurrent users.
132
Resposta de referência
Focus on fact and dimension tables, granularity, and query speed.
133
Resposta de referência
Name the systems, the size of the discrepancy, and what you did. For example: 'We found 4,200 customers had different parent_company values across Salesforce and NetSuite. I built a dbt model that flagged the conflicts, and we walked through them weekly with the ops team until we cleared the backlog over about six weeks.'
134
Resposta de referência
This question tests string manipulation and iteration. It specifically evaluates your ability to generate consecutive word pairs. To solve this, split the input into words and loop to create tuples pairing each word with its successor. This technique is widely used in NLP tasks like tokenization, query autocomplete, and analyzing clickstream sequences.
135
Resposta de referência
When you need massive write scalability across multiple data centers and high availability, and you don't require complex SQL joins or strict multi-table ACID transactions.
136
Resposta de referência
My data modeling approach depends on the use case. For analytical workloads, I typically use dimensional modeling with star or snowflake schemas because they're optimized for aggregations and easy for analysts to understand. For operational systems, I use normalized models to ensure data integrity. In my last project, I designed a customer data model for our e-commerce analytics. I created a star schema with customer, product, and time dimensions around a central sales fact table. I also implemented slowly changing dimensions to track customer attribute changes over time. The key is always starting with the business questions we need to answer.
137
Resposta de referência
Data engineers must manage huge swaths of data, so they need to use the right tools and technologies. Explain which tools you used for a particular project, such as Hadoop, MongoDB, Kafka, Qlik, Redshift, Integrate.io, or AWS Glue, and communicate strong decision-making abilities.
138
Resposta de referência
Hadoop Distributed Cache is a Hadoop MapReduce Framework technique that provides a service for copying read-only files, archives, or jar files to worker nodes before any job tasks are executed on that node. To minimize network bandwidth, files are usually copied only once per job. Distributed Cache is a program that distributes read-only data/text files, archives, jars, and other files.
139
Resposta de referência
Be honest about a regretted decision. Explain what you would do differently and what you learned. Show self-reflection and growth.
140
Resposta de referência
The default numbers used to run NameNode, job tracker and task tracker are:
141
Resposta de referência
Integrating Azure ML with Azure Data Factory (ADF) enables automated model training, deployment, and inference within a data pipeline. Integration steps: - Prepare data: Use ADF to ingest raw data from sources like Blob Storage, SQL, or a Data Lake. - Train and deploy model: Create an Azure ML pipeline to train and register the model. - Run inference: Connect ADF to Azure ML Batch Endpoints for large-scale inference. - Automate retraining: Schedule ADF pipelines to retrain models regularly.
142
Resposta de referência
Key advantages include: - Scalability: Easily scale resources up or down based on demand - Cost-effectiveness: Pay only for the resources you use - Flexibility: Access to a wide range of services and tools - Reliability: Built-in redundancy and disaster recovery options - Global reach: Deploy resources in multiple geographic regions
143
Resposta de referência
A data warehouse is a centralized repository that stores structured data from various sources, typically used for reporting and analysis. Data in a data warehouse is usually cleaned, transformed, and organized into schemas, such as star or snowflake schemas, to facilitate easy querying using SQL. Data warehouses are optimized for read-heavy operations and are often used in business intelligence (BI) and analytics. On the other hand, a data lake is a storage system that can hold a vast amount of raw, unstructured, or semi-structured data in its native format. Data lakes can store data from various sources, including logs, social media, sensor data, and more, making them highly versatile. They are often used in big data processing environments where large volumes of data need to be stored before being processed or analyzed. Tools like Hadoop, Apache Spark, and cloud storage solutions are commonly used to implement data lakes.
144
Resposta de referência
This question aims to understand the drives and beliefs of an individual who is moving forward in the data engineering domain. This is a subjective and personal answer. Make sure you share your motivations, the insights that your learning has given you until this point, what you like about the domain and what your long-term objectives are.
145
Resposta de referência
Idempotency in Data Pipeline meaning, even if you run the same pipeline multiple times it should give the result as expected in one single Run. Meaning it should not Duplicate the data in storage. Example: Suppose we are running a pipeline where we create a view and then using that to populate a table in snowflake. But for any reason say after view creation it got failed due to inactive warehouse. Then if we run the same step, it should do upsert or Truncate, Append or ovewrite. It should not do append. Always Overwrite: Or use Upsert everytime or Renaming Collection and drop existing one
146
Resposta de referência
To find the second-highest salary, you can use a subquery that selects the maximum salary less than the highest one. Example: SELECT MAX(salary) FROM employees WHERE salary < (SELECT MAX(salary) FROM employees); This works well when there are duplicate salaries. Alternatively, in databases supporting window functions, you can use DENSE_RANK() for more control.
147
Resposta de referência
In Kafka, log compaction ensures that the topic retains at least the last known value for each record key. This is useful for restoring state in downstream databases after a crash.
148
Resposta de referência
Handling schema evolution in a data warehouse requires careful planning and a systematic approach to ensure that changes to the data schema do not disrupt existing processes or degrade data quality. Some strategies include: - Versioning: Implementing schema versioning allows for multiple versions of the schema to coexist within the data warehouse. This means that new data can be ingested using the latest schema, while historical data is maintained in its original structure. Data transformation processes can then be updated gradually to accommodate the new schema. - Backward Compatibility: Ensuring that schema changes are backward compatible is crucial for minimizing disruptions. This can be achieved by using techniques like adding new columns with default values instead of deleting or renaming existing ones, and ensuring that new data structures can be interpreted by existing queries and processes. - ETL Process Adaptation: The ETL (Extract, Transform, Load) processes need to be adapted to handle schema changes. This may involve updating data extraction scripts, modifying transformation logic to handle new data formats, and ensuring that data loading processes correctly map the new schema to the data warehouse. - Testing and Validation: Before deploying schema changes, it is essential to thoroughly test the updated ETL processes and queries against the new schema in a staging environment. This helps to identify potential issues, such as data loss, transformation errors, or performance degradation, before they impact production. - Communication and Documentation: Clear communication with all stakeholders about the schema changes and their implications is important. Comprehensive documentation should be maintained to track the changes, including the rationale behind them, the impact on downstream systems, and any necessary updates to data models or reports.
149
Resposta de referência
Describe a respectful disagreement, how you focused on data and logic, and how you reached a resolution or agreed to disagree constructively.
150
Resposta de referência
The three main methods of Reducer are: - setup(): Used to configure input data parameters and cache protocols. - cleanup(): Removes the temporary files stored. - reduce(): The method is called once for every key, and it is the most critical aspect of the reducer.
151
Resposta de referência
For a cost-effective data analytics solution for clickstream data, consider using cloud-based services like AWS Kinesis or Google Pub/Sub for data ingestion, and Apache Hadoop or Google BigQuery for storage and querying. Implementing data partitioning and compression can further optimize storage costs.
152
Resposta de referência
A data engineer's main responsibility is to build systems that collect, manage, and convert raw data into usable information. This question aims to ask about any obstacles you may have faced when dealing with a problem and how you solved it. Describe how you make data more accessible through coding and algorithms, incorporating specific responsibilities from the job description.
153
Resposta de referência
Python is great for its readability, large number of data libraries, and quicker development. I prefer it for prototyping, smaller ETL tasks, and ML pipelines. Scala is more performance-oriented and integrates natively with Apache Spark, so I use it when working with large-scale distributed data or production-level Spark jobs. The choice depends on the project's performance needs and team expertise.
154
Resposta de referência
A service where the cloud provider handles maintenance and updates (like Amazon RDS), allowing engineers to focus on building rather than server administration.
155
Resposta de referência
- Azure Data Lake Analytics is a real-time analytics job application that makes big data easier to understand. - You create queries to change your data and get essential insights instead of deploying, configuring, and optimizing hardware. - The analytics service can instantaneously manage jobs of any complexity by pitching in the amount of power you require. - Also, it's cost-effective because you only pay for your task when it's operating.
156
Resposta de referência
Review bottlenecks in ingestion, storage, and transformation. Implement partitioning and clustering strategies. Optimize orchestration and consider parallel processing. Test performance with simulated data volumes. Plan for cost implications and infrastructure scaling.
157
Resposta de referência
Some of the essential frameworks that data engineers should be aware of are SQL, Amazon Web Services, Hadoop, Python, Apache Kafka, Spark, and Snowflake. In addition, some of the tools that are widely used in the industry include MongoDB, HBase, PostgreSQL, Amazon Redshift, Amazon Athena, and others.
158
Resposta de referência
I start with the query plan — on Snowflake that is the profile view, on BigQuery the execution graph. I am looking for full table scans, huge intermediate result sets, or skewed joins. Common wins are adding partition and cluster keys aligned with the filter and join columns, rewriting subqueries as CTEs or vice versa depending on the engine, replacing correlated subqueries with window functions, and pre-aggregating large fact tables into incremental models. I also check warehouse sizing — sometimes the query is fine and the compute is just undersized.
159
Resposta de referência
- Hadoop is a user-friendly open source framework. - Hadoop is highly scalable. Hadoop can handle any sort of dataset effectively, including unstructured (MySQL Data), semi-structured (XML, JSON), and structured (MySQL Data) (Images and Videos). - Parallel computing ensures efficient data processing in Hadoop. - Hadoop ensures data availability even if one of your systems crashes by copying data across several DataNodes in a Hadoop cluster.
160
Resposta de referência
My approach starts with identifying the bottleneck through profiling. Recently, I had a daily ETL job taking 8 hours instead of the expected 2. I used query execution plans and found the issue was a cross join causing a Cartesian product. I rewrote the query using proper join conditions and added appropriate indexes. I also partitioned the data by date since most queries were time-based. Finally, I implemented incremental processing instead of full reloads. These changes reduced the job time to 45 minutes and made it much more scalable.
161
Resposta de referência
Describe how you helped without blame. For example, you helped debug the issue, provided support, and ensured the team learned from the mistake.
162
Resposta de referência
OLTP (Online Transaction Processing) systems handle real-time operations with frequent reads and writes (e.g., banking systems). OLAP (Online Analytical Processing) systems are designed for complex queries and analytics on historical data. Data warehouses are optimized for OLAP workloads.
163
Resposta de referência
Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity. It involves breaking down larger tables into smaller, more focused tables and establishing relationships between them.
164
Resposta de referência
| Data Engineer | Data scientist | | The primary role is to design and implement highly maintainable database management systems. | The primary role of a data scientist is to take raw data presented on the data and apply analytic tools and modeling techniques to analyze the data and provide insights to the business. | | Data engineers transform the big data into a structure that one can analyze. | Data scientists perform the actual analysis of Big Data. | | They must ensure that the infrastructure of the databases meets industry requirements and caters to the business. | They must analyze the data and develop problem statements that can process the data to help the business. | | Data engineers have to take care of the safety, security and backing up of the data, and they work as gatekeepers of the data. | Data scientists should have good data visualization and communication skills to convey the results of their data analysis to various stakeholders. | | Proficiency in the field of big data, and strong database management skills. | Proficiency in machine learning is a requirement. |
165
Resposta de referência
Data governance is a set of processes, roles, policies, standards, and metrics that ensure the effective and efficient use of information in enabling an organization to achieve its goals. It establishes the processes and responsibilities for data quality, security, and compliance.
166
Resposta de referência
I follow a few newsletters — Benn Stancil, Seattle Data Guy, the dbt blog — and read post-mortems from engineering orgs I respect. I set aside Friday afternoons for small experiments, usually running a toy pipeline with a tool I am curious about. Conferences like Coalesce or Data Council are worth it every couple of years. Mostly I try to stay sceptical; I adopt tools when they solve a concrete pain in what we are running, not because they trended on LinkedIn.
167
Resposta de referência
Talk through what to check first: cardinality estimates, whether predicates are pushed down, whether the join order matches the cardinality, and whether a CTE is being recomputed each time it's referenced. Always ask what the table sizes are first before guessing.
168
Resposta de referência
Sharding distributes data across multiple servers to improve performance and scalability. Each shard holds a subset of the data. Sharding is commonly used in high-traffic systems to avoid bottlenecks.
169
Resposta de referência
def sort_odd_numbers(arr): odd_numbers = [num for num in arr if num % 2 != 0] odd_numbers.sort() return odd_numbers # Example: sort_odd_numbers([4, 3, 2, 1, 5]) returns [1, 3, 5]
170
Resposta de referência
Amazon S3 (Simple Storage Service) is an object storage service offered by Amazon Web Services (AWS). It provides scalable, durable, and highly available storage for various types of data, making it popular for data lakes and backup solutions.
171
Resposta de referência
The candidate should be able to formulate a plan for the data pipeline to handle more data. They should tell you what would be needed, such as needing more database instances in the cloud on Amazon Web Services, Microsoft Azure, or Google Cloud Platform. Or they could suggest better data compression, or removing old sets of data, or redirecting subsets of data to other parts of the architecture. They should be able to point to the various components and give ideas about preparing those pieces for an increase in data volume.
172
Resposta de referência
A Kafka topic is a log-structured stream where events are stored. Topics are partitioned for parallelism and replicated for fault tolerance.
173
Resposta de referência
Moving older, rarely-accessed data to cheaper, slower storage tiers (like S3 Glacier) to optimize costs while keeping current data in fast "hot" storage.
174
Resposta de referência
An agreement between data providers and consumers that defines the schema and quality of the data, ensuring that changes at the source don't silently break downstream apps.
175
Resposta de referência
A foreign key is a field or a collection of fields in one table that can refer to the primary key in another table. The table which contains the foreign key is the child table, and the table containing the primary key is the parent table or the referenced table. The purpose of the foreign key constraint is to prevent actions that would destroy links between tables.
176
Resposta de referência
repartition() can increase or decrease partitions and triggers a full shuffle. coalesce() can only decrease partitions and avoids a full shuffle, making it more efficient for reducing file count.
177
Resposta de referência
A strong answer describes the source system, extraction method (batch or streaming), transformation steps (ETL or ELT), orchestration tool, error handling, monitoring, and how data is loaded into the warehouse. Candidates should explain the full lifecycle and tradeoffs made.
178
Resposta de referência
Data modelling is a process where entire information systems or components are visually represented to demonstrate linkages between data structures and data points. The objective behind data modelling is to showcase the various data types stored and used in a given system, the relationship between multiple data points, their classification, arrangements, features and formats. Data professionals usually model data according to the specific needs of the project or business with varying degrees of abstraction. Data modelling starts when end-users and stakeholders provide information about the objectives. These guidelines are turned into data structures which help in creating concrete database designs.
179
Resposta de referência
Data engineering focuses on implementing data analysis and data collection. Data collected from multiple resources is just unprocessed information. Data engineers transform this bare information into usable information. In other words, data engineering transforms, cleanses, profiles and aggregates large data sets for data scientists and analysts to use.
180
Resposta de referência
Data models can be organized into three main types: conceptual, logical, and physical. - A conceptual data model focuses on the big-picture. It identifies key business concepts and the relationships between them, without much detail. This type of model is primarily used for getting management and stakeholders on the same page about what the data represents. - A logical data model delves deeper into the structure of the data, focusing on business rules rather than technical ones. It identifies attributes for each entity and the relationships between entities. This type of model is free from specifics about how the data will be stored or its physical characteristics. - A physical data model deals with the specific implementation of the data design. It organizes data in a way that makes it efficient for a particular database management system (DBMS) or storage technology. It includes details such as data types, indexes, and partitions.
181
Resposta de referência
Explain your method: align with business impact, use frameworks like Eisenhower matrix, communicate with stakeholders, and reassess regularly. Provide an example of a prioritization decision.
182
Resposta de referência
Data lineage refers to the tracking of data's origin, movement, and transformations throughout its lifecycle. It's important for ensuring data integrity, compliance with regulations, and understanding the impact of changes in data sources or processing.
183
Resposta de referência
Candidates describe a high-pressure situation, how they managed it technically and communicatively, and the lessons learned. Shows resilience and a growth mindset.
184
Resposta de referência
The CAP theorem states that a distributed database can provide only two of the following three guarantees: Consistency, Availability, and Partition Tolerance. In practice, data engineers must prioritize which two guarantees are most critical based on the specific application needs.
185
Resposta de referência
A DAG (Directed Acyclic Graph) defines a workflow of tasks with dependencies, executed by Airflow's scheduler.
186
Resposta de referência
A group of consumers that work together to read from a topic. Each partition is assigned to only one member of the group, ensuring parallel processing without duplicating messages.
187
Resposta de referência
A specific topic where messages that fail to process are sent for later manual review, ensuring the main stream continues to flow.
188
Resposta de referência
Data lineage tracks data as it traverses through different data pipeline stages. Moreover, it helps the engineer understand the data's origin, transformation, and consumption. Data lineage is crucial for compliance. Therefore, it ensures data governance and regulatory requirements are met by providing a clear audit trail for data. Data lineage also aids with debugging and optimizing data pipelines.
189
Resposta de referência
A database optimized for time-stamped data, such as IoT sensor readings or stock market prices, allowing for very fast time-based aggregations.
190
Resposta de referência
Some of the skills required by data engineers are Amazon Web Services, Python, Hadoop and SQL. Other tools and platforms required as a part of their skillset are MongoDB, PostgreSQL, Apache Kafka, Apache Spark, Snowflake, Amazon Redshift and Athena.
191
Resposta de referência
Data replication is the process of copying data from one location to another to ensure high availability, fault tolerance, and disaster recovery. It's important in distributed systems to maintain data consistency across multiple nodes and to ensure that data remains accessible even if one part of the system fails.
192
Resposta de referência
def flatten_json(obj, parent_key='', sep='_'): items = [] if isinstance(obj, dict): for k, v in obj.items(): new_key = f'{parent_key}{sep}{k}' if parent_key else k if isinstance(v, dict): items.extend(flatten_json(v, new_key, sep=sep).items()) else: items.append((new_key, v)) elif isinstance(obj, list): for i, item in enumerate(obj): new_key = f'{parent_key}{sep}{i}' items.extend(flatten_json(item, new_key, sep=sep).items()) else: items.append((parent_key, obj)) return dict(items)
193
Resposta de referência
Communicate early and transparently. Explain the issue, impact, expected resolution timeline, and any actions needed from the team. Use clear language appropriate for the audience. Follow up with a post-incident summary and preventive measures.
194
Resposta de referência
Start by understanding business requirements and key metrics. Use star or snowflake schemas depending on query patterns. Design fact tables for measurements and dimension tables for descriptive attributes. Consider slowly changing dimensions for historical tracking. Prioritize query performance and usability for analysts.
195
Resposta de referência
To design a real-time analytics platform, I'd use Kafka for streaming data ingestion, Spark Structured Streaming or Flink for processing, and store results in a low-latency database like Apache Druid or Elasticsearch. For dashboards, I'd use Grafana or Superset. I'd ensure horizontal scaling, implement checkpointing for recovery, and use partitioned storage to handle growing volumes with minimal delay.
196
Resposta de referência
Data modeling is a structured approach to designing a data storage system, whether it's a database, data warehouse, or any other data repository. It serves as a blueprint for organizing and storing data effectively. - Structural Organization: Establishing the relationships, constraints, and attributes of the data. - Standardization: Ensuring uniformity, consistency, and data quality. - Integrity: Safeguarding against data anomalies, duplications, and inconsistencies. - Data Governance: Enforcing data security, privacy, and regulatory compliance.
197
Resposta de referência
CI/CD, or Continuous Integration and Continuous Delivery/Deployment, is a set of software development practices that automate the integration, testing, and delivery of code changes. It involves regularly merging code changes from multiple contributors (GIT), automatically building and testing the software, and delivering it to various environments.
198
Resposta de referência
Data Engineers use SQL to interact with databases. Moreover, it helps them exchange and analyze data.
199
Resposta de referência
The Snowflake schema is a logical arrangement of tables in multidimensional databases and is an enlarged version of the Star Schema. Snowflake schema helps organize tables and explain related dimensions as well as how they are interlinked with other dimensions, forming a snowflake pattern.
200
Resposta de referência
The candidate should discuss techniques like parallel processing, data partitioning and caching. Strong candidates will emphasize the importance of monitoring and continuous improvement in optimizing data pipelines. They should mention particular technologies or tools they use, such as Apache Kafka for stream processing.