아무것도 놓치고 싶지 않으신가요?

인증 시험 합격 팁

최신 시험 소식 및 할인 정보

전문가가 선별하고 최신 정보를 제공합니다.

예, 뉴스레터를 보내주세요

다른 면접 문제 보기

1
참고 답변
Partitioning is done by ingestion or timestamp columns; clustering orders data within partitions by keys like user_id or region, reducing scan costs.
2
참고 답변
The DataNode and NameNode in Hadoop regularly communicate. In Hadoop, Heartbeat refers to the signal that DataNode regularly sends NameNode to state its presence.
커리어 가속

자격증을 취득하여 이력서를 돋보이게 하세요.

데이터 분석에 따르면 IT 자격증 보유자의 연봉은 평균 구직자보다 26% 높습니다. SPOTO에서 자격증 취득과 면접 준비를 동시에 진행하여 경력 성장을 가속할 수 있습니다.

1 100% 합격률
2 2주간 덤프 연습
3 자격증 시험 합격
3
참고 답변
Azure secures data through encryption at rest and in transit: - Encryption at rest: Data is automatically encrypted using Azure Storage Service Encryption (SSE). - Encryption in transit: Data is protected during transfer using TLS (Transport Layer Security). - Column-level encryption: Sensitive database columns (e.g., in Azure SQL) can be individually encrypted. Example: Encrypting credit card numbers for compliance. Azure Purview is a unified solution that helps: - Discover and classify sensitive data across cloud and on-prem systems. - Track data lineage to visualize flow through pipelines. - Ensure compliance with regulations like GDPR and HIPAA.
4
참고 답변
The candidate should discuss techniques like data validation, error handling and data cleansing. Top candidates will emphasize the importance of data governance and adherence to established data quality standards.
5
참고 답변
I analyze the Execution Plan to check for missing indexes, large joins that can be filtered earlier, data skew among nodes, or unnecessary column selection (avoiding SELECT *).
6
참고 답변
Strategies include using table partitioning, clustering, selective SELECT statements, avoiding SELECT * , and materialized views for common aggregations.
7
참고 답변
It is a utility or feature included with a Hadoop distribution that allows developers or programmers to construct Map-Reduce programs in many programming languages such as Python, C++, Ruby, Pearl, and others. We can use any language that can read from standard input (STDIN), such as keyboard input, and write using standard output (STDOUT).
8
참고 답변
Check for missing or fragmented indexes, outdated statistics, changes in data volume or distribution, blocking/locking, suboptimal execution plans, and resource contention. Use EXPLAIN plans, monitor wait stats, and review recent schema or data changes. Solutions include adding indexes, updating stats, rewriting the query, or partitioning tables.
9
참고 답변
I've built several real-time processing systems using Apache Kafka and Spark Streaming. In my current role, I developed a fraud detection pipeline that processes credit card transactions in under 100ms. We use Kafka to ingest transaction events, Spark Streaming for real-time feature engineering, and Redis for low-latency lookups of customer risk scores. The challenging part was handling out-of-order events and ensuring exactly-once processing. I implemented watermarking and used Kafka's transactional APIs to maintain data consistency.
10
참고 답변
Scalability is achieved through horizontal scaling, partitioning, parallelism, and backpressure handling. Cloud platforms support autoscaling to adjust resources dynamically. These practices allow systems to handle millions of events per second without downtime.
11
참고 답변
Collaborative filtering is a method used by recommendation engines. In the narrow sense, collaborative filtering is a technique used to automatically predict a user's tastes by collecting various information regarding the interests or preferences of many other users. This technique works on the logic that if person 1 and person 2 have the same opinion on one particular issue, then person 1 is likely to have the same opinion as person 2 on another issue than another random person. In general, collaborative filtering is the process that filters information using techniques involving collaboration among multiple data sources and viewpoints.
12
참고 답변
Use structured prioritization frameworks (e.g., Eisenhower Matrix or MoSCoW). Align with business objectives, communicate priorities clearly, and focus team energy on the projects with the highest impact and urgency. Revisit priorities regularly as needs change.
13
참고 답변
Data Warehouses store structured data for BI/reporting with schema-on-write. Data Lakes store raw, multi-structured data for exploration/DS with schema-on-read.
14
참고 답변
Capacity planning involves: - Analyzing current resource usage and growth trends - Forecasting future data volumes and processing requirements - Considering peak load scenarios and seasonality - Evaluating different scaling options (vertical vs. horizontal) - Assessing costs and budget constraints - Planning for redundancy and fault tolerance - Considering cloud vs. on-premises infrastructure options
15
참고 답변
I would first assess the bottleneck (e.g., source extraction, transformation, or loading). Strategies include scaling horizontally by adding more processing nodes, optimizing transformation logic, using incremental loading instead of full loads, leveraging cloud auto-scaling services, and partitioning data for parallel processing.
16
참고 답변
You can split a single column into multiple columns using string functions like SUBSTRING , SPLIT_PART , or REGEXP depending on your database. Query (Using SPLIT_PART ) : SELECT SPLIT_PART(full_name, ' ', 1) AS first_name, SPLIT_PART(full_name, ' ', 2) AS last_name FROM users; Alternative Query (Using SUBSTRING and CHARINDEX ) : For databases without SPLIT_PART , you can use SUBSTRING and CHARINDEX (e.g., in SQL Server): SELECT SUBSTRING(full_name, 1, CHARINDEX(' ', full_name) - 1) AS first_name, SUBSTRING(full_name, CHARINDEX(' ', full_name) + 1, LEN(full_name)) AS last_name FROM users; SPLIT_PART : Splits the string based on a delimiter (e.g., space).SUBSTRING : Extracts a portion of the string based on start and end positions.CHARINDEX : Finds the position of the delimiter.
17
참고 답변
The Driver is the master process that coordinates tasks. Executors are worker nodes that perform the actual processing. The Cluster Manager (like YARN or Kubernetes) allocates resources to the application.
18
참고 답변
For handling billions of daily transactions, I'd design a distributed architecture using load balancers, Kafka for ingestion, and Spark or Flink for real-time processing. Storage would be split across columnar warehouses like BigQuery or Redshift and NoSQL stores for fast lookups. I'd also use partitioning, sharding, and caching (like Redis) to ensure fast response times and resilience under heavy load.
19
참고 답변
Data cleansing removes or corrects inaccurate, incomplete, or corrupt data to improve its quality and reliability. Example Approach: Handling Missing Values: - Impute missing values with mean, median, or a default value. - Example: Replacing missing ages in a dataset with the average age. Removing Duplicates: - Identify and delete duplicate records. - Example: Dropping duplicate customer entries in a CRM database. Correcting Inconsistencies: - Standardize formats for dates, addresses, or text fields. - Example: Converting date formats from MM/DD/YYYY to YYYY-MM-DD. Identifying Outliers: - Use statistical methods or visualization to detect and handle outliers. - Example: Removing unusually high transaction amounts in financial data.
20
참고 답변
The main responsibilities of a data engineer include: - Designing and implementing data pipelines - Creating and maintaining data warehouses - Ensuring data quality and consistency - Optimizing data storage and retrieval systems - Collaborating with data scientists and analysts to support their data needs - Implementing data security and governance measures
21
참고 답변
cache() uses the default storage level (Memory only). persist() allows the user to specify the storage level, such as "Memory and Disk" or "Serialized."
22
참고 답변
Join there in Warehouse like Snowflake or Redshift itself. We can do partitoning on join key and will join corresponding partitions and merge into snowflake table It might be the case that we do join and then filter. So it's better to filters df's first and then join or select only relevant cols.
23
참고 답변
When asked about strengths and weaknesses in an interview, it's important to be honest and self-aware. Highlight strengths that are relevant to the job and provide examples. For weaknesses, choose something you are actively working to improve and explain the steps you are taking to address it.
24
참고 답변
FSCK is short for File System Check, a command that HDFS uses for checking inconsistencies and problems within a file.
25
참고 답변
The median() function can be used to find the median value in a column. E.g.- employees["age"].median()
26
참고 답변
Apache Airflow addresses several challenges in data engineering workflows, including dependency management, scheduling, and monitoring of data pipelines. Airflow's Directed Acyclic Graphs (DAGs) allow users to define workflows in a way that reflects their true dependencies, ensuring that tasks are executed in the correct order. It provides a robust scheduler that handles job queuing and execution based on time or external triggers. Furthermore, its rich user interface facilitates monitoring and troubleshooting of data pipelines, providing insights into job performance and failures, thus improving the maintainability and reliability of complex data processing workflows.
27
참고 답변
Share a situation where a request was infeasible or harmful. Explain how you respectfully declined, provided reasoning based on data or constraints, and offered an alternative solution. Emphasize that you prioritized the customer's long-term success over short-term demands.
28
참고 답변
- ETL (Extract, Transform, Load): Data is transformed before it is loaded into the destination. Used when storage is expensive or the destination cannot handle complex processing. - ELT (Extract, Load, Transform): Data is loaded into the destination in its raw form and transformed inside the data warehouse. The Trend: ELT is the modern standard used with cloud warehouses (Redshift, BigQuery, Snowflake) because these tools have massive separation of compute and storage.
29
참고 답변
A database index is a data structure that provides a quick lookup of data in a column or columns of a table. It enhances the speed of operations accessing data from a database table at the cost of additional writes and memory to maintain the index data structure. Indexes are typically created on one or more columns of a database table and contain a copy of the data in the indexed columns along with a pointer to the corresponding row in the table. When a query is executed that includes a search condition on the indexed column(s), the DBMS can use the index to quickly identify the rows that satisfy the condition, significantly reducing the time and resources required for the operation.
30
참고 답변
The IF function in Excel performs the logic test and is used to check whether a given condition is true or false, then perform further operations based on the result. The syntax is: =IF (test condition, value if true, value if false)
31
참고 답변
Batch processing handles large volumes of data at scheduled intervals Stream processing handles real-time data with low latency Interviewers often expect real-world examples where each approach is used.
32
참고 답변
Use schema validation or contract checks. Maintain versioning. Design pipelines to be resilient to non-breaking changes. For breaking changes, isolate, communicate, and update logic. Add monitoring for schema drift.
33
참고 답변
Logistic regression is a classification rather than a regression model, which involves modeling the probability of a discrete outcome given an input variable. It is a simple and efficient method that can approach binary and linear classification problems. Logistic regression is a statistical method that works well with binary classifications but can be generalized to multiclass classifications.
34
참고 답변
COSHH stands for Classification and Optimization-based Scheduling for Heterogeneous Hadoop Systems and is a job scheduler that provides execution and multiplexing of multiple tasks in a typical data center.
35
참고 답변
I would identify duplicates by grouping on key columns and using SQL functions like ROW_NUMBER() or COUNT() to detect rows with identical values. For elimination, I would use DISTINCT in queries or DELETE/CTE operations to remove duplicates. For large datasets, I would use distributed processing frameworks like Spark to handle scale.
36
참고 답변
Azure Stream Analytics (ASA) is a real-time processing engine that ingests, analyzes, and transforms data from sources like Azure Event Hubs, IoT Hub, and Blob Storage. It lets users filter, aggregate, and route data to destinations such as Azure SQL, Power BI, or Data Lake Storage. How ASA works with Event Hubs: - Ingestion: Event Hubs buffers real-time data streams. - Processing: ASA uses SQL-like queries to process events in real time. - Output: Results are sent to destinations like Data Lake, Cosmos DB, or Power BI. Performance optimizations: - Parallel processing: Use Streaming Units (SUs) to scale for high event volume. - Partitioning: Configure Event Hub partitions to distribute processing load efficiently.
37
참고 답변
Managers are expected to build systems with compliance in mind. This includes: - Implementing data masking and anonymization techniques for sensitive fields. - Setting up role-based access controls and audit logs. - Designing data retention and deletion policies aligned with regulations like GDPR or CCPA. - Collaborating with legal and security teams to review new data sources and pipelines.
38
참고 답변
One of the things hiring managers value most is constant improvements of the existing environment, especially if you initiate those improvements yourself, as opposed to being assigned to do it. So, if you're a self-starter, definitely point this out. This will showcase your ability to think creatively and the importance you place on the overall company's success. If you lack such experience, explain what changes you would propose as a data engineer. In case your ideas were not implemented for reasons such as lack of financial resources, you can mention that. However, try to focus on your continuous efforts to find novel ways to improve data quality. Answer Example "Data quality and reliability have always been a top priority in my work. While working on a specific project, I discovered some discrepancies and outliers in the data stored in the company's database. Once I've identified several of those, I proposed to develop and implement a data quality process in my department's routine. This included bi-weekly meetups with coworkers from different departments where we would identify and troubleshoot data issues. At first, everyone was worried that this would take too much time off their current projects. However, in time, it turned out it was worth it. The new process prevented the occurrence of larger (and more costly) issues in the future."
39
참고 답변
Block, the minor factor, is the single entity of data. Basically, Hadoop breaks a large file into smaller chunks called blocks. Moreover, we use a block scanner to confirm whether the loss of blocks created via Hadoop is effectively placed on the DataNode.
40
참고 답변
The time complexity to look up a value in a list in Python is O(n) since the whole list iterates through to find the value. Since a dictionary is a hash table, the time complexity to find the value associated with a key is O(1). Hence, a lookup is generally faster with a dictionary, but a limitation is that dictionaries require unique keys to store the values.
41
참고 답변
Pipelines break when data changes — this question checks if you plan ahead. A thoughtful answer includes using schema validation, versioning datasets, or applying tools like Avro or Protobuf with backward compatibility. It shows you're not just building pipelines — you're maintaining them as data evolves.
42
참고 답변
Common challenges include: - Data Silos: Integrating data from isolated systems. - Data Quality: Ensuring consistency and accuracy across sources. - Latency: Managing delays in data transfer. - Scalability: Handling large volumes of data. Addressing these challenges involves using robust ETL tools, implementing data quality checks, optimizing data transfer processes, and designing scalable architectures.
43
참고 답변
Azure Data Factory (ADF) is a cloud-based data integration service for orchestrating and automating workflows across various sources and destinations. Key ADF components for orchestration: - Pipelines – Containers defining data movement and transformation. - Activities – Tasks within pipelines (e.g., Copy, Data Flow, Stored Procedure). - Datasets – References to data in Blob Storage, SQL, Data Lakes, etc. - Linked services – Connections to data sources and destinations.
44
참고 답변
Window functions perform calculations across a set of table rows that are related to the current row. Unlike GROUP BY functions, window functions do not collapse rows into a single output; they retain the row identity. Common Use Case: Calculating a running total, a moving average, or ranking items within a category (e.g., RANK() OVER (PARTITION BY department ORDER BY salary DESC)).
45
참고 답변
Prevention: - Validate data at ingestion (schema, null checks, ranges) - Add data contracts with upstream teams - Monitor source data drift Detection: - Implement automated quality checks after each pipeline stage - Compare row counts between source and target - Track metrics over time (sudden 50% drop in rows = problem) Response: - Don't write bad data to production—quarantine it - Alert on-call engineer - Have a documented runbook for common issues # Example quality check def check_completeness(df, date_column, expected_date): actual_dates = df[date_column].unique() if expected_date not in actual_dates: raise DataQualityError(f"Missing data for{expected_date}") row_count = len(df[df[date_column] == expected_date]) if row_count < MIN_EXPECTED_ROWS: raise DataQualityError(f"Only{row_count} rows, expected{MIN_EXPECTED_ROWS}+") Why interviewers ask this: Bad data causes bad decisions. Data engineers are responsible for catching problems before they reach dashboards.
46
참고 답변
Engage with stakeholders early and often to understand their needs. Design with usability in mind: clear naming conventions, documentation, and reliable freshness. Gather feedback post-launch and iterate. Prioritize data quality and monitoring to maintain trust.
47
참고 답변
You should accurately mention the name of scripting languages like Python, Java, Bash, and others that you are familiar with, as well as your level of expertise with each.
48
참고 답변
Hiring managers want to know how you transformed unstructured data into a complete product. Practice explaining your logic for choosing certain algorithms in an easy-to-understand manner to demonstrate you really know what you're talking about. Be prepared for follow-up questions based on this project.
49
참고 답변
To ensure data consistency in a distributed system, I would adopt techniques like distributed transactions that maintain atomicity, consistency, isolation, and durability (ACID) properties. Consensus algorithms like Raft or Paxos can handle distributed agreement and guarantee data consistency. I would also consider fault-tolerant mechanisms to handle partial failures and ensure data integrity.
50
참고 답변
Storage queues and Service Bus queues are the two queue techniques that Azure offers. - Storage queues- Azure Storage system includes storage queues. You can save a vast quantity of messages on them. Authorized HTTP or HTTPS calls allow you to access messages from anywhere. A queue can hold millions of messages up to the storage account's overall capacity limit. Queues can build a backlog of work for asynchronous processing. - Service Bus queues are present in the Azure messaging infrastructure, including queuing, publish/subscribe, and more advanced integration patterns. They mainly connect applications or parts of applications that encompass different communication protocols, data contracts, trust domains, or network settings.
51
참고 답변
Evaluate based on business impact, urgency, dependencies, and effort. Communicate priorities with stakeholders and set expectations. Use a structured framework like impact vs. effort matrix. Revisit priorities as new information arises.
52
참고 답변
Pandas is a library for data manipulation on a single machine. You should not use it for "Big Data" that exceeds a single machine's RAM; for that, use PySpark or Dask.
53
참고 답변
In Azure Databricks, Spark operations are classified into Transformations and Actions. Here are their differences: | Aspect | Transformations | Actions | | Definition | Operations that define a new dataset from an existing one | Operations that trigger the execution of transformations | | Execution | Lazy – they build a logical plan but don't run immediately | Eager – they force Spark to execute the DAG and compute results | | Result | Returns a new RDD or DataFrame (transformed dataset) | Returns a value to the driver or writes data to storage | | Purpose | Used to define what should be done | Used to specify when to execute and retrieve data | | Examples | map(), filter(), select(), groupBy(), withColumn() | count(), collect(), show(), save(), write() | | Optimization | Enables Spark to optimize the execution plan before running | Executes the optimized plan |
54
참고 답변
Terraform allows infrastructure-as-code provisioning. You can version control and automate the deployment of cloud services like S3 buckets, BigQuery datasets, or IAM roles. It ensures reproducibility and reduces manual config drift across environments.
55
참고 답변
Data versioning tracks and manages changes to datasets over time, enabling reproducibility, auditability, and consistent workflows. Example Use Case: Delta Lake automatically maintains a version history of datasets. Analysts can query past versions or roll back to a specific version if needed. Importance: Reproducibility: - Ensures consistent results in analytics or machine learning workflows. - Example: Training an ML model on a specific dataset version. Auditability: - Tracks changes to datasets for compliance and debugging. - Example: Verifying the dataset used for a financial report. Error Recovery: - Allows rollback to a previous state if an issue is detected. - Example: Restoring a dataset after accidental deletion of records.
56
참고 답변
Window functions allow you to perform calculations across a set of rows related to the current row, without collapsing the result set into groups (as with GROUP BY ). They are useful for tasks like ranking, cumulative sums, moving averages, and comparing values within a partition. function_name(expression) OVER ( [PARTITION BY partition_expression] [ORDER BY sort_expression] [ROWS/RANGE BETWEEN start AND end] ) Calculate Rank of Employees by Salary SELECT name, department, salary, RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rank_within_department FROM employees; RANK() : Assigns a rank to each employee based on their salary within their department.PARTITION BY department : Divides the data into partitions (groups) by department.ORDER BY salary DESC : Sorts employees within each department by salary in descending order. Common Window Functions : - Ranking Functions : RANK() ,DENSE_RANK() ,ROW_NUMBER() - Aggregate Functions : SUM() ,AVG() ,MIN() ,MAX() - Analytic Functions : LEAD() ,LAG() ,FIRST_VALUE() ,LAST_VALUE()
57
참고 답변
MapReduce is a processing model where large data tasks are split into two phases: Map, which filters and sorts data, and Reduce, which aggregates or summarizes the results.
58
참고 답변
Design for scalability from the start: use incremental processing instead of full refreshes, choose scalable storage (cloud warehouses), implement partitioning and clustering, optimize query patterns, and plan for cost monitoring. Regularly performance test as data grows.
59
참고 답변
SELECT * FROM student WHERE stud_name like '%T';
60
참고 답변
A SPOF is any component that, if it fails, stops the entire system. Data engineers mitigate this by building redundancy and high-availability (HA) clusters so that if one node fails, another takes over.
61
참고 답변
Exactly-once semantics ensure each event is processed a single time with no duplicates or data loss. They are achieved through idempotent producers, transactional writes, or checkpointing. This is critical for use cases like financial transactions or billing systems where precision matters.
62
참고 답변
- Azure Data Lake offers high throughput for raw or other data types for analytics, real-time reporting, and monitoring. - It's highly flexible and auto-scalable, with payment handling flexibility. - U-SQL can process any structured and unstructured data using SQL syntax and Azure custom functions to set up new ADFS driver functions. - It offers a highly accessible on-premise data warehouse service for exploring data for analytics, reporting, monitoring, and Business Intelligence using various tools.
63
참고 답변
Optimizations include using pushdown predicates, partition pruning, efficient file formats (Parquet/ORC), and tuning worker node types. Job bookmarking ensures incremental loads instead of full scans.
64
참고 답변
The full form of HDFS is Hadoop Distributed File System. Hadoop works with several scalable file systems such as HFTP FS, S3, HDFS and FS. HDFS is made using the Google File System, which is so designed that it runs easily on large clusters in a computer system.
65
참고 답변
Python is popular in data engineering due to: - Ease of use and readability - Rich ecosystem of libraries and frameworks for data processing (e.g., Pandas, NumPy) - Support for big data technologies (e.g., PySpark) - Integration with various data sources and APIs - Strong community support and documentation
66
참고 답변
Apache Spark is an open-source, distributed computing system that provides in-memory processing, making it faster than Hadoop's MapReduce. Spark is used in data engineering for batch and stream processing, offering higher performance and ease of use compared to Hadoop.
67
참고 답변
Normalization is a method used to minimize redundancy, inconsistency, and dependency in a database by organizing the fields and tables. It involves adding, deleting, or modifying fields that can go into a single table. Normalization allows you to break the tables into smaller partitions and link these partitions through different relationships to avoid redundancy. Some rules followed in database normalization, which is also known as Normal forms are 1NF - first normal form 2NF - second normal form 3NF - third normal form BCF - Boyce-Codd normal form
68
참고 답변
Partitioning splits data into smaller chunks that can be processed in parallel — this speeds things up and reduces memory pressure on each machine. It also helps organize data by keys like date or region for faster queries. Mentioning partition strategies in Spark, Hive, or data lakes shows you understand how to optimize performance at scale.
69
참고 답변
Batch processing handles large volumes of data at scheduled intervals. Stream processing processes data continuously as it arrives, providing real-time insights.
70
참고 답변
- Type 0: Retain original - Type 1: Overwrite - Type 2: Add new row - Type 3: Add new attribute - Type 4: Add mini-dimension - Type 5: Add mini-dimension and Type 1 outrigger - Type 6: Add Type 1 attributes to Type 2 dimension - Type 7: Dual Type 1 and Type 2 dimensions
71
참고 답변
To handle streaming data, I'd use tools like Kafka for ingestion and Spark Streaming or Apache Flink for processing. I'd set up checkpoints to ensure fault tolerance and use sliding or tumbling windows for real-time aggregations. Monitoring lag and throughput is key to tuning performance. In a past project, I used Spark Structured Streaming to process live order data and update dashboards with sub-second latency.
72
참고 답변
Freeze panes are used in MS Excel to lock a particular row or column. The rows or columns you lock will be visible on the screen even when scrolling the sheet horizontally or vertically. To freeze panes on Excel: - First, select the cell to the right of the columns and below the rows to be kept visible. - Select View > Freeze Panes > Freeze Panes.
73
참고 답변
Batch processing is a method of running high-volume, repetitive data jobs where a group of transactions is collected over time, then processed all at once. It's efficient for processing large amounts of data when immediate results are not required.
74
참고 답변
Azure Databricks is a cloud-based analytics platform optimized for Apache Spark. It enables efficient large-scale data processing through distributed computing. It uses Spark's model for large data transformations, partitioning data and processing it in parallel across cluster nodes. Features for large-scale transformation: - Distributed computing: Spark divides large datasets into partitions and distributes them across a cluster of nodes. - Lazy evaluation: Transformations in Spark (e.g.,map,filter,groupBy) are not executed immediately. Instead, Spark builds a logical execution plan and waits until an action (e.g.,count,collect,save) is called. - Resilient Distributed Datasets (RDDs): RDDs are the core data abstraction in Spark, allowing fault-tolerant, parallel operations. - High-level APIs: In addition to RDDs, Azure Databricks supports DataFrames and Spark SQL, which are more performant and easier to use for most data engineering tasks. - Delta Lake support: Azure Databricks also supports Delta Lake, a storage layer that adds ACID transactions and schema enforcement on top of Parquet files
75
참고 답변
A data engineer has several responsibilities in an organisation.
76
참고 답변
- Insertion & Deletion - When a new record is inserted/deleted into a table with indexes, the DBMS needs to update the index to include the new data. The complexity of this operation depends on the type of index and the database system but is typically O(log n) or O(1) for most practical purposes. However, in some cases, if the index structure needs to be rebalanced or modified, it can approach O(n), where n is the number of rows in the table. - Search (Lookup): Searching for a specific record based on an indexed column is typically very efficient, with a complexity of O(log n) in the case of B-tree and balanced tree indexes, and O(1) for hash indexes. This means that the time it takes to find a specific record does not increase linearly with the size of the table.
77
참고 답변
In Hadoop's architecture, the NameNode serves as the central controller, managing the file system's metadata, while DataNodes store and process the actual data, with multiple DataNodes typically supporting one NameNode's operations. The Secondary NameNode is often misunderstood as a backup NameNode, but it performs housekeeping tasks for the NameNode, such as merging the edit log with the FsImage (filesystem image) to keep the edit log size within limits, which helps in improving the performance of the NameNode. Each component is crucial in maintaining the efficiency and reliability of the Hadoop Distributed File System (HDFS).
78
참고 답변
I validate by comparing row counts, checking checksums/hashes, running queries to compare key metrics or aggregates, and performing spot checks on sample data to ensure accuracy and completeness.
79
참고 답변
Serializer/Deserializer is popularly known as SerDe. For IO, Hive employs the SerDe protocol. Serialization and deserialization are handled by the interface, which also interprets serialization results as separate fields for processing. The Deserializer turns a record into a Hive-compatible Java object. The Serializer now turns this Java object into an HDFS-compatible format. The storage role is then taken over by HDFS. Anyone can create their own SerDe for their own data format.
80
참고 답변
Ensuring data consistency involves: - Strong Consistency Models: Using models like linearizability or serializability. - Distributed Transactions: Implementing protocols like two-phase commit (2PC) or Paxos. - Eventual Consistency: Designing systems that accept eventual consistency for better availability. - Conflict Resolution: Implementing strategies to resolve conflicts that arise from concurrent updates.
81
참고 답변
-- Find duplicate emails SELECT email, COUNT(*) as occurrence FROM users GROUP BY email HAVING COUNT(*) > 1; -- Find and return the actual duplicate rows SELECT * FROM users WHERE email IN ( SELECT email FROM users GROUP BY email HAVING COUNT(*) > 1 ); Why interviewers ask this: Duplicate detection is a daily task in data engineering. Dirty source data, failed pipeline retries, and merge issues all create duplicates. This question tests practical problem-solving, not just syntax knowledge.
82
참고 답변
Workflow orchestration manages dependencies, schedules, and monitors data pipelines. Example: Apache Airflow orchestrates tasks in an ETL pipeline using Directed Acyclic Graphs (DAGs). Role: Ensures that workflows execute in the correct sequence, enabling automation and monitoring.
83
참고 답변
It has clear ownership, reliable pipelines with monitoring, strong data quality, good documentation, cross-team collaboration, and a balance between speed and maintainability. It supports business growth with scalable systems.
84
참고 답변
In Azure, SQL is widely used for querying data from services like Azure SQL Database, Azure Synapse Analytics, and Azure Data Explorer. Understanding core SQL commands is essential for tasks like data exploration, transformation, and reporting. Key SQL commands: SELECT – Retrieves data from tables.WHERE – Filters records by condition.ORDER BY – Sorts results.GROUP BY – Groups rows with the same values.HAVING – Filters grouped records.JOIN – Combines data from multiple tables. Example: Extracting Insights with SQL in Azure Synapse: SELECT d.name AS department, AVG(e.salary) AS avg_salary FROM employees e JOIN departments d ON e.dept_id = d.id WHERE e.status = 'active' GROUP BY d.name HAVING AVG(e.salary) > 80000 ORDER BY avg_salary DESC; This query might be used in Azure Synapse Analytics to analyze average salaries by department, filtering for only active employees and high-paying departments.
85
참고 답변
Implement IAM roles and fine-grained access policies. Use encryption at rest and in transit (e.g., KMS, TLS). Monitor access logs via services like AWS CloudTrail or GCP Audit Logs. Apply data classification tags and restrict PII access.
86
참고 답변
Reliable pipelines are built with idempotent operations, retry logic, and checkpointing to recover from failures. Observability is ensured by adding metrics on throughput, latency, and error rates, along with structured logging and distributed tracing. Dashboards and alerting systems are configured to notify the team of anomalies. Together, these practices guarantee that pipelines can scale while maintaining trust in the data.
87
참고 답변
A data lake stores raw, unструктурирани data in its native format. It uses 'schema-on-read,' offering flexibility for various analytical uses, unlike a rigid data warehouse.
88
참고 답변
Use a slowly changing dimension (SCD) Type 2 approach. Create a customer_address table with fields: customer_id, address, effective_start_date, effective_end_date, and is_current flag. Insert a new row with the new address and update the previous row's end_date and is_current flag when an address changes.
89
참고 답변
Data requires a system to move from the source location to its destination location, like a data warehouse. This system is called a data pipeline. In a pipeline, data gets converted and optimised along the transportation journey. It reaches a point where it is ready for evaluation and can give strong business insights. All the processes involved when you aggregate, organise and transport data are called a data pipeline. Data pipelines help in automating most of the manual operations required when you process and improve continuous data loads.
90
참고 답변
Suggest partitioning, caching, and tuning the number of executors.
91
참고 답변
Break the problem into smaller, investigable pieces. Use available data to form hypotheses. Test and iterate. Communicate assumptions and progress. Seek input from colleagues or stakeholders. Balance speed with rigor.
92
참고 답변
When designing a scalable data pipeline, I start by understanding the data volume, velocity, and variety requirements. In my previous role, I built a pipeline that needed to process 100GB of log data daily. I used Apache Kafka for real-time ingestion because it can handle high throughput and provides durability. For processing, I chose Apache Spark with auto-scaling capabilities on AWS EMR. I designed the pipeline with these key principles: horizontal scaling through partitioning, idempotent operations for reliability, and comprehensive monitoring with CloudWatch. The result was a system that could scale from 100GB to 1TB daily without architectural changes.
93
참고 답변
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("AggregationJob").getOrCreate() # Read Parquet File input_df = spark.read.parquet("/s3/path/to/data") # Perform Aggregation aggregated_df = input_df.groupBy("user_id").agg({"sku_count": "sum"}) # Write back to Parquet aggregated_df.write.mode("overwrite").parquet("/s3/path/to/output") - A Spark session named AggregationJob is created to facilitate DataFrame operations. - The code reads data from a specified S3 path in Parquet format into a DataFrame called input_df. - The DataFrame is grouped by the user_id column, and the sku_count values are summed up for each user, resulting in a new DataFrame called aggregated_df. - The aggregated DataFrame is written back to a specified S3 output path in Parquet format using the overwrite mode to replace any existing data at that location.
94
참고 답변
ETL (Extract, Transform, Load) and ELT (Extract, Load, Transform) are data-processing approaches, but they differ when and where the transformation occurs. With ETL, Data is transformed before loading; however, with ELT, Data is transformed after loading. ETL is better when you have structured data that needs to be pre-processed and high-quality for business intelligence (BI) dashboards.
95
참고 답변
- Schema Changes: few cols got added or data types changes - Data Inconsistencies: Inconsitencies in data from Sources - Insufficient Resources: Due to Race Conditions or OOM - Configuration Changes - Patches or updates in Software or libraries like python or certificate issues .pem file - Configuration Drift: Due to Env and lack of Testing
96
참고 답변
This question tests algorithmic thinking, loops, and efficiency in Python. It specifically checks whether you can implement prime detection using control structures and optimization. To solve this, use trial division up to √N for each candidate number, appending only primes to the result list. In real-world data engineering, efficient prime detection maps to designing optimized algorithms for filtering and deduplication in large-scale datasets.
97
참고 답변
Prioritize the quickest temporary fix (manual extraction or partial data). Explain the trade-offs clearly. Plan a long-term pipeline improvement afterward.
98
참고 답변
Here, the goal is to test how well you compare modern data warehouse technologies. Redshift is tightly integrated with AWS and requires cluster management. BigQuery is serverless and scales automatically without worrying about infrastructure. Snowflake runs independently across clouds, separating compute from storage for flexible scaling. Knowing these trade-offs shows you can recommend the right platform based on workload and team needs.
99
참고 답변
Approaches to data pipeline testing include: - Unit testing individual components - Integration testing to ensure components work together - End-to-end testing of the entire pipeline - Data validation testing to ensure data integrity - Performance testing under various load conditions - Fault injection testing to verify error handling - Regression testing after making changes
100
참고 답변
My default is batch unless the use case genuinely needs sub-minute latency — fraud detection, real-time personalisation, operational dashboards feeding live decisions. For most analytical reporting, hourly or even daily batch with dbt and Airflow is simpler, cheaper, and easier to debug. When streaming is justified, I've used Kafka with Flink or Spark Structured Streaming, landing to an iceberg or delta lake table that batch jobs can also consume. I try to avoid running two parallel code paths for the same logic.
101
참고 답변
Indexing is a process that helps improve database performance and storage by reducing the number of disc access necessary to run a query. Indexing helps to structure data queries and link them with relevant fields in the table, helping establish a relationship.
102
참고 답변
AWS Glue is a serverless ETL service that automates job scheduling, dependency tracking, and code generation. It supports Spark under the hood and integrates with Redshift, S3, and RDS. Glue Data Catalog also provides metadata management across services.
103
참고 답변
Star schema with fact at the grain of the individual sale. Use either a bridge table or a role-playing dimension where the customer dimension is referenced twice from the fact, once as buyer_id and once as decision_maker_id, with a different alias each time.
104
참고 답변
A data warehouse is a centralized system optimized for analytics and reporting. It stores structured, historical data from multiple sources and supports complex analytical queries. Unlike transactional databases, data warehouses are designed for read-heavy workloads and business intelligence.
105
참고 답변
Mention task prioritization, communicating realistic timelines, and automating repetitive work. Show that you balance speed with accuracy instead of rushing.
106
참고 답변
In a database table, every row has its distinctive attribute, the primary key. Thus, it ensures that each row is distinct and allows users to access and reference individual records. A foreign key, on the other hand, helps two tables to establish a link with each other. It also creates a connection between the tables, allowing referential integrity. Thus, foreign keys aid data consistency and enforce relationships among related data.
107
참고 답변
Slowly changing dimension (SCD) is a concept in data warehousing that describes how to handle changes to dimension data over time. There are different types of SCDs, with the most common being: - Type 1: Overwrite the old value - Type 2: Create a new row with the changed data - Type 3: Add a new column to track changes
108
참고 답변
NoSQL databases are non-relational, like document or key-value stores. I'd use them for flexible schemas, massive data volumes, high write throughput, or when horizontal scalability is a primary requirement.
109
참고 답변
SQL is fundamental because it's used for querying, transforming, and managing structured data in relational databases. It's essential for data extraction, aggregation, and pipeline logic.
110
참고 답변
ETL (Extract, Transform, Load) transforms data before loading into the target system. ELT (Extract, Load, Transform) loads raw data first and transforms within the target system. ELT leverages modern warehouse compute and preserves raw data for flexibility.
111
참고 답변
A Kafka topic is a named stream where messages are published. Each topic is split into partitions for parallelism and scalability. Partitions ensure that multiple consumers can read data in parallel, enabling high-throughput stream processing.
112
참고 답변
In Microsoft Azure, there are five storage types classified into two categories. - The first group comprises Queue Storage, Table Storage, and Blob Storage. It is built with data storage, scalability, and connectivity and is accessible through a REST API. - The second group comprises File Storage and Disk Storage, which boosts the functionalities of the Microsoft Azure Virtual Machine environment and is only accessible through Virtual Machines. - Queue Storage enables you to create versatile applications that comprise independent components depending on asynchronous message queuing. Azure Queue storage stores massive volumes of messages accessible by authenticated HTTP or HTTPS queries anywhere. - Table Storage in Microsoft Azure holds structured NoSQL data. The storage is highly extensible while also being efficient in storing data. However, if you access temporary files frequently, it becomes more expensive. This storage can be helpful to those who find Microsoft Azure SQL too costly and don't require the SQL structure and architecture. - Blob Storage supports unstructured data/huge data files such as text documents, images, audio, video files, etc. In Microsoft Azure, you can store blobs in three ways: Block Blobs, Append Blobs, and Page Blobs. - File Storage serves the needs of the Azure VM environment. You can use it to store huge data files accessible from multiple Virtual Machines. File Storage allows users to share any data file via the SMB (Server Message Block) protocol. - Disk Storage serves as a storage option for Azure virtual machines. It enables you to construct virtual machine disks. Only one virtual machine can access a disk in Disk Storage.
113
참고 답변
Designing a system to deduplicate streaming data involves using techniques like Bloom Filters or Cuckoo Filters to inspect for duplicates efficiently, windowing, and time-based checks to ensure data consistency.
114
참고 답변
You can use window functions like FIRST_VALUE() and LAST_VALUE() to extract the first and last transactions for each user. SELECT DISTINCT user_id, FIRST_VALUE(transaction_date) OVER ( PARTITION BY user_id ORDER BY transaction_date ) AS first_transaction, LAST_VALUE(transaction_date) OVER ( PARTITION BY user_id ORDER BY transaction_date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) AS last_transaction FROM transactions; PARTITION BY user_id : Groups transactions by each user.FIRST_VALUE(transaction_date) : Finds the earliest transaction date for each user.LAST_VALUE(transaction_date) : Finds the latest transaction date for each user.ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING : EnsuresLAST_VALUE() considers all rows in the partition.
115
참고 답변
- Web Server - used for tracking the status of our jobs and in reading logs from a remote File Store - Scheduler - used for scheduling our jobs and is a multithreaded python process which use DAGb object - Executor - used for getting the tasks done - Metadata Database - used for storing the Airflow States
116
참고 답변
A Data Warehouse stores structured, highly processed data optimized for specific analytical tasks using a "Schema-on-Write" approach. A Data Lake stores vast amounts of raw data in any format (structured, semi-structured, or unstructured) and uses a "Schema-on-Read" approach for maximum flexibility.
117
참고 답변
Databases using Delete SQL statements, Insert, and Update SQL statements focus on speed and efficiency, so analyzing data can be more challenging. With data warehouses, the primary focus is on calculations, aggregations, and select statements that make it ideal for data analysis.
118
참고 답변
Share a specific improvement, such as optimizing a slow SQL query, automating a manual report, or implementing better data quality checks. Quantify the impact (e.g., 50% faster execution, saved 10 hours/week).
119
참고 답변
- ETL (Extract, Transform, Load): Data is extracted from source systems, transformed to fit operational needs, and then loaded into a target system, such as a Data Warehouse. Example: Using Azure Data Factory to ETL data from on-premises SQL Server to Azure Synapse Analytics. - ELT (Extract, Load, Transform): Data is extracted and loaded into the target system first, where transformations occur. This is common when the target system can handle heavy processing, like a Data Lake. Use Case: ELT is often used with big data tools like Apache Spark for scalability.
120
참고 답변
When designing data pipelines, start by understanding the project's requirements. Ask stakeholders about the data's purpose, its validation status, and the frequency of data extraction. Determine how the data will be utilized and identify who will manage the pipeline. This ensures alignment with business needs and helps in creating an efficient and effective data pipeline. Document these insights for clarity and future reference.
121
참고 답변
Whenever a database is modified, the system executes a trigger command.
122
참고 답변
from numpy import random x = random.randint(500, size=(4, 7))
123
참고 답변
To answer this question, mention how Big Data in a cloud computing environment can efficiently enable the company to get many benefits like: - Secure access to information from any location (especially useful in a remote working setup) - Access controls ensure that despite working in a virtual workspace, every individual is only permitted to access particular information depending on their level of access - Flexibility to scale operations as needed - Backup facility to prevent any chances of data loss
124
참고 답변
In data engineering, CI/CD ensures that data pipelines are versioned, tested, and deployed safely. I've used GitHub Actions to trigger tests when code is pushed, followed by deployment scripts that update DAGs in Airflow or code in Lambda functions. I include unit tests for data quality and rollback scripts to revert to previous states if needed. This setup reduces manual errors and keeps deployments smooth.
125
참고 답변
A strong answer describes the issue, how the candidate simplified the explanation without losing accuracy, and how they communicated impact and next steps. They show ability to adjust language for the audience.
126
참고 답변
Some ways you can handle missing values in Big Data are as follows: - Deleting rows with missing values: You simply delete the rows or columns in a table with missing values from the dataset. You can drop the entire column from the analysis if a column has more than half of the rows with null values. You can use a similar method for rows with missing values in more than half of the columns. This method may not work very well in cases where a large number of values are missing. - Using Mean/Medians for missing values: In a dataset, the columns with missing values and the column's data type are numeric; you can fill in the missing values by using the median or mode of the remaining values in the column. - Imputation method for categorical data: If you can classify the data in a column, you can replace the missing values with the most frequently used category in that particular column. If more than half of the column values are empty, you can use a new categorical variable to place the missing values. - Predicting missing values: Regression or classification techniques can predict the values based on the nature of the missing values. - Last Observation carried Forward (LCOF) method: The last valid observation can fill in the missing value in data variables that display a longitudinal behavior. - Using Algorithms that support missing values: Some algorithms, such as the k-NN algorithm, can ignore a column if values are missing. Another such algorithm is Naive Bayes. The RandomForest algorithm can work with non-linear and categorical data.
127
참고 답변
Use partitioning to isolate updates to specific partitions, implement indexing strategies for update performance, consider using a queue or batch updates to reduce contention, and use read replicas for read queries. For high update tables, consider using a time-based or hash-based partition scheme.
128
참고 답변
- DELETE: A DML (Data Manipulation Language) command. It removes rows one by one and logs each deletion. It is slower but can always be rolled back. - TRUNCATE: A DDL (Data Definition Language) command. It removes all rows by deallocating the data pages. It is extremely fast. - Note: In some databases (like SQL Server or Postgres), TRUNCATE can be rolled back if inside a transaction, but in others (like Oracle), it cannot. It typically resets identity counters. - DROP: Removes the entire table structure and data from the database.
129
참고 답변
In a dataset, an outlier is an observation that lies at an abnormal distance from the other values in a random sample from a particular data set. It is left up to the analyst to determine what can be considered abnormal. Before you classify data points as abnormal, you must first identify and categorize the normal observations. Outliers may occur due to variability in measurement or a particular experimental error. Outliers must be identified and removed before further analysis of the data not to cause any problems.
130
참고 답변
AWS's highly available and stable infrastructure builds Route 53. The DNS servers' widely distributed design helps maintain a constant ability to direct end-users to your application by avoiding internet or network-related issues. Route 53 delivers the level of dependability that specific systems demand. Route 53 uses a worldwide anycast network of DNS servers to automatically respond to inquiries from the best location available based on network circumstances. As a result, your end consumers will experience low query latency.
131
참고 답변
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.
132
참고 답변
Distributed computing refers to the use of multiple computer systems, (nodes or processors), to work collaboratively on a task or solve a problem. Instead of relying on a single, powerful machine, distributed computing leverages the combined processing power and resources of multiple interconnected devices. There are several reasons to use distributed computing: - Parallel Processing: Distributed computing allows a task to be divided into smaller sub-tasks that can be processed simultaneously by different nodes. - Fault Tolerance: If one node in a distributed system fails, the others can continue working. - Scalability: Distributed systems can easily scaled (scale up or scale out). This makes it possible to handle larger workloads or more extensive datasets. - Resource Utilization: By distributing tasks across multiple machines, the overall resources of a network can be used more efficiently. This is particularly important for large-scale computational tasks.~~ Distributed Compute was evolving from SMP (Symmetric Multiprocessing) to MPP (Massively Parallel Processing) and lastly EPP (Elastic Parallel Processing)
133
참고 답변
Choose a technically challenging problem, such as optimizing a petabyte-scale data pipeline or designing a fault-tolerant distributed system. Explain the complexity, your approach, and the outcome.
134
참고 답변
str.isalnum() can be used to check whether a string ‘str' contains only letters and numbers.
135
참고 답변
To explain the difference, clarify that DELETE is a DML command used for removing specific records, allowing for conditions via the WHERE clause. In contrast, TRUNCATE is a DDL command that removes all rows from a table without conditions, quickly and without logging individual row deletions. Emphasize that TRUNCATE resets any identity columns, while DELETE retains the table structure.
136
참고 답변
- Structured data: Structured data refers to data that is organized in a specific, pre-defined format and is typically stored in databases or other tabular formats. It is highly organized and follows a schema - Semi-structured data: It is information that does not reside in a relational database but that has some organizational properties that make it easier to analyze. Example: XML data. - Unstructured data: It is based on character and binary data. Example: Audio, Video files, PDF, Text, etc.
137
참고 답변
Immutable objects are usually hashable, meaning they have a fixed hash value. - Immutable Data Types: Tuples, Strings, Integers, Floats, Booleans, Frozen Sets - Mutable Data Types: Lists, Dictionaries, Sets, Byte Arrays
138
참고 답변
In SQL, a primary key refers to a field in a table that can uniquely identify rows in that table. Primary keys must have unique values, and a primary key value cannot be NULL. A table can have only one primary key and can be a single field or multiple fields. When you use multiple fields as the primary key, they are collectively known as the composite key.
139
참고 답변
- Volume: refers to the size of the data sets to be analyzed or processed. The size is generally in terabytes and petabytes. - Velocity: the speed at which you generate data. The data generates faster than traditional data handling techniques can handle it. - Variety: the data can come from various sources and contain structured, semi-structured, or unstructured data. - Veracity: the quality of the data to be analyzed. The data has to be able to contribute in a meaningful way to generate results.
140
참고 답변
Throughout my career in data engineering, I have been deeply involved in designing, implementing, and maintaining ETL processes. I've utilized various tools, including Apache Nifi, Talend, and Informatica PowerCenter, each offering unique strengths that enhance data transformation and integration. Informatica PowerCenter is the most effective due to its robust feature set that supports complex transformations and efficient data integration. Its visual interface and extensive connectivity options have allowed me to streamline workflows and significantly improve data processing times in various projects, enhancing the overall data quality and accessibility in real-time business environments.
141
참고 답변
| Network File System | Hadoop Distributed File System | | NFS can store and process only small volumes of data. | Hadoop Distributed File System, or HDFS, primarily stores and processes large amounts of data or Big Data. | | The data in an NFS exists in a single dedicated hardware. | The data blocks exist in a distributed format on local hardware drives. | | NFS is not very fault tolerant. In case of a machine failure, you cannot recover the data. | HDFS is fault tolerant and you may recover the data if one of the nodes fails. | | There is no data redundancy as NFS runs on a single machine. | Due to replication across machines on a cluster, there is data redundancy in HDFS. |
142
참고 답변
Data quality involves ensuring data accuracy, completeness, and consistency. Example Approach: Implementing validation rules using tools like Great Expectations to check for null values or duplicates.
143
참고 답변
Data partitioning divides a large dataset into smaller, manageable pieces, often by a key (e.g., date range). Sharding distributes these partitions across multiple servers or databases. Both improve scalability by distributing load, reducing contention, and enabling parallel processing of data.
144
참고 답변
- init - Prepare your working directory for other commands - validate - Check whether the configuration is valid - plan - Show changes required by the current configuration - apply - Create or update infrastructure - destroy - Destroy previously-created infrastructure
145
참고 답변
When asked this, explain that a physical data model defines how data is actually stored in the database. You should highlight features like tables, columns with data types, indexes, constraints, relationships, and partitioning strategies. Emphasize that unlike a logical model, the physical model is tied to a specific database system and includes performance tuning considerations. This shows interviewers you understand how design choices affect scalability, storage efficiency, and query speed in production systems.
146
참고 답변
One set of data can be kept in several files with various yet compatible schemas with schema evolution. The Parquet data source in Spark can automatically recognize and merge the schema of those files. Without automatic schema merging, the most common method of dealing with schema evolution is to reload past data, which is time-consuming.
147
참고 답변
Describe specific projects where you built end-to-end dashboards using tools like Tableau, Power BI, or QuickSight. Include details on metrics chosen, data sources, stakeholder requirements, and how the dashboard drove decisions. Avoid confidential information.
148
참고 답변
These kinds of questions investigate your level of understanding of the product development cycle, especially how data engineering fits into the puzzle. To ace this question, be sure to detail how your data engineering skills could simplify or improve product development at that particular organization. You could use examples from your previous experiences, but you should come prepared with sufficient knowledge of the company's products. For instance, if you were to answer this question by describing the ways you would improve the product development of that company's flagship product, your chances of nailing this question are high.
149
참고 답변
First check logs and alerts to identify the failure pattern. Assess business impact and communicate with stakeholders. Apply a temporary fix if needed. Investigate root causes such as upstream schema changes, data volume spikes, or resource constraints. Implement permanent fixes like retry logic, validation checks, or monitoring improvements.
150
참고 답변
Apache Hadoop is a collection of open-source libraries for processing large amounts of data. Hadoop supports distributed computing, where you process data across multiple computers in clusters. Previously, if an organization had to process large volumes of data, it had to buy expensive hardware. Hadoop has made it possible to shift the dependency from hardware to achieve high performance, reliability, and fault tolerance through the software itself. Hadoop can be useful when there is Big Data and insights generated from the Big Data. Hadoop also has robust community support and is evolving to process, manage, manipulate and visualize Big Data in new ways.
151
참고 답변
Usually, data maintenance is scheduled and covers a particular task list. Therefore, when everything is operating according to plan, the tasks don't change as often. However, it's inevitable that an unexpected issue arises every once in a while. As this might cause uncertainty on your end, the hiring manager would like to know how you would deal with such high-pressure situations. Answer Example "It's true that data maintenance may come off as routine. But, in my opinion, it's always a good idea to closely monitor the specified tasks. And that includes making sure the scripts are executed successfully. Once, while I was conducting an integrity check, I located a corrupt index that could have caused some serious problems in the future. This prompted me to come up with a new maintenance task that prevents corrupt indexes from being added to the company's databases."
152
참고 답변
There are two design schemas available in data modeling: - Star Schema - Snowflake Schema
153
참고 답변
A common design uses S3 for raw storage, Glue for cataloging, EMR/Spark for processing, and Athena/Redshift Spectrum for querying. Partitioning and Parquet formats reduce costs and improve query speed.
154
참고 답변
Classification and Optimization-based Scheduling for Heterogeneous Hadoop Systems (COSHH), as the name implies, enables scheduling at both the cluster and application levels to have a direct positive impact on task completion time.
155
참고 답변
The candidate should list relevant programming languages, such as Java, Python and SQL, and databases like MongoDB and MySQL. Top candidates would state their proficiency and discuss specific projects where they've applied them.
156
참고 답변
It's very important to Hide PII, PHI Data like mobile number, Person name, Health Issue, Address etc. These are confidential so while making Pipeline it's necessary to not logs these details as well as Having Role Based Access Control. Prod ENV: Dynamic Masking In Prod Env, We generally make RBAC(Policy) so that different users get different data based on their Role. Some will get Masked while Some will ge actual Data. Non-Prod: Static Masking : It's better to make a view which is not having actual column rather a mask Column. In this way for Dev-Testing It can be used and avoid any chances of data breach. CREATE MASKING POLICY email_mask AS (val STRING) RETURNS STRING -> CASE WHEN CURRENT_ROLE() IN (‘FULL_ACCESS') THEN val ELSE ‘***MASKED***' END; ALTER TABLE customer MODIFY COLUMN email SET MASKING POLICY email_mask;
157
참고 답변
Idempotency means that if you run the same pipeline multiple times with the same input, the result remains the same. It prevents duplicate data. How to achieve it: - Use INSERT OVERWRITE (if supported) or MERGE statements. - Use 'Upsert' logic (Update if exists, Insert if new) based on a primary key. - Explicitly delete data for the specific time window before writing new data.
158
참고 답변
NameNode is used for storing metadata for HDFS which includes namespace and block information.
159
참고 답변
Monitoring focuses on binary states (up/down) and predefined thresholds. Observability uses logs, metrics, and traces to understand the internal state of a complex system and troubleshoot unknown "silent" failures, like data drift.
160
참고 답변
Stream processing handles each event individually in near real time, while micro-batching groups small sets of events for efficiency. Spark Streaming traditionally uses micro-batching, while Flink and Kafka Streams provide true event-by-event processing. The choice depends on latency and throughput requirements.
161
참고 답변
This question allows the hiring manager to determine whether the candidate understands the fundamentals of Python, which is the most commonly used language among data engineers. NumPy, which is used for efficient processing of arrays of numbers, and pandas, which is useful for statistics and data preparation for machine learning work, should be included in your solution.
162
참고 답변
Some popular type of bias that occurs while sampling is - Undercoverage- The undercoverage bias occurs when there is an inadequate representation of some members of a particular population in the sample. - Observer Bias- Observer bias occurs when researchers unintentionally project their expectations on the research. There may be occurrences where the researcher unintentionally influences surveys or interviews. - Self-Selection Bias- Self-selection bias, also known as volunteer response bias, happens when the research study participants take control over the decision to participate in the survey. The individuals may be biased and are likely to share some opinions that are different from those who choose not to participate. In such cases, the survey will not represent the entire population. - Survivorship Bias- The survivorship bias occurs when a sample is more concentrated on subjects that passed the selection process or criterion and ignore the subjects who did not pass the selection criteria. Survivorship biases can lead to overly optimistic results. - Recall Bias- Recall bias occurs when a respondent fails to remember things correctly. - Exclusion Bias- The exclusion bias occurs due to the exclusion of certain groups while building the sample.
163
참고 답변
Describe how you proactively identified the issue, communicated it, and worked to mitigate it. Show leadership and concern for team welfare.
164
참고 답변
This question checks how well you handle ranking and filtering — two things data engineers do every day. Interviewers want to see if you can extract specific insights from a dataset without overcomplicating the query. The simplest way is to use a subquery or a window function like DENSE_RANK(). Both show you're comfortable writing clean, efficient SQL.
165
참고 답변
ETL stands for Extract, Transform, Load. It is a process used to extract data from various sources, transform it into a suitable format, and load it into a data warehouse or database. ETL is crucial in data engineering for integrating and preparing data for analysis.
166
참고 답변
Backfills are run idempotently on partitioned tables, typically by overwriting or merging data for specific time windows. Using SQL MERGE operations in warehouses like BigQuery or Snowflake prevents duplication, while staging environments validate changes before production.
167
참고 답변
-- GROUP BY Example SELECT department, COUNT(*) AS employee_count FROM employees GROUP BY department; -- ORDER BY Example SELECT name, salary FROM employees ORDER BY salary DESC;
168
참고 답변
Choose partitions based on access patterns—commonly by date, region, or customer ID. The goal is to reduce the amount of scanned data during queries. Avoid high cardinality columns and monitor skew in partition sizes.
169
참고 답변
Techniques include using indexes to speed up data retrieval, optimizing queries by avoiding unnecessary columns and joins, using execution plans to identify bottlenecks, denormalizing tables to reduce joins, and caching frequently accessed data. Partitioning and proper schema design also help.
170
참고 답변
Interviewers ask this to understand if you think about performance — not just writing code, but writing efficient code. Lists are flexible and hold mixed data types, but they don't support vectorized operations. NumPy arrays are built for numerical tasks and are faster and more memory-friendly. A good answer shows you know when to use each, especially in data-heavy environments.
171
참고 답변
Materialized views store precomputed query results, making reporting faster. Use them for repetitive, expensive aggregations (e.g., daily sales rollups). They can be scheduled for refresh or triggered automatically in modern warehouses.
172
참고 답변
Idempotency refers to the property of an operation that allows it to be applied multiple times without changing the result beyond the initial application. In data engineering, this concept is crucial when designing data pipelines, APIs, or any other system that may need to handle retries, failures, or duplicate requests. Importance of Idempotency: - Handling Retries: In distributed systems, network failures, timeouts, or other issues can cause operations to be retried automatically. If an operation is not idempotent, these retries could lead to unintended side effects, such as duplicate entries in a database or incorrect data aggregation. By designing operations to be idempotent, the system ensures that repeated execution of the same operation produces the same result, preventing data corruption. - Data Integrity: Idempotency is crucial for maintaining data integrity in systems that process large volumes of data or involve complex data transformations. For example, in an ETL pipeline, if a data transformation step is idempotent, running it multiple times on the same input data will yield the same output, ensuring consistent results.
173
참고 답변
- Normalization: The process of organizing data to reduce redundancy and improve integrity (OLTP). - Denormalization: The process of adding redundant data to speed up complex reads (OLAP). Rule of Thumb: Use Normalization for write-heavy operational systems. Use Denormalization for read-heavy analytical systems.
174
참고 답변
I'd start by analyzing the data size, change rate, and dependencies. For minimal downtime, I'd use a two-phase approach: first, bulk load historical data using AWS DMS or a similar tool, then implement CDC to capture ongoing changes. During the migration window, I'd switch to read-only mode, sync the final changes, and redirect traffic to the cloud database. I'd run data validation checks comparing row counts and checksums between source and target. I'd also keep the on-premise system available for quick rollback if needed.
175
참고 답변
dbt focuses on the transformation layer in ELT workflows, using SQL-based models to define transformations directly in warehouses. It brings software engineering practices like version control, testing, and documentation to analytics. DBT simplifies collaboration between data engineers and analysts.
176
참고 답변
- Local Executor - Helps in running multiple tasks at one time. - Sequential Executor - Helps by running only one task at a time. - Celery Executor - Helps by running distributed asynchronous Python Tasks. - Kubernetes Executor - Helps in running tasks in an individual Kubernetes pod.
177
참고 답변
The code ensures that the join operation is optimized through repartitioning, which is crucial for handling large datasets in distributed data processing applications: - The first two lines repartition table1 and table2 DataFrames into 100 partitions, using the column join_key as the partitioning key. This step helps optimize the subsequent join operation by ensuring that rows with the same join_key are located in the same partition, which can significantly improve performance. - The join method is called on table1_partitioned, joining it with table2_partitioned on the common column join_key. The result is a new DataFrame, joined_df, which contains rows where the join_key values match in both DataFrames. - The write method is used to save the joined_df DataFrame in Parquet format at the specified output path (/path_to_output). Parquet is a columnar storage format that is efficient for both storage and query performance. # Hash partitioning both tables on the same key table1_partitioned = table1.repartition(100, "join_key") table2_partitioned = table2.repartition(100, "join_key") # Perform the join operation efficiently joined_df = table1_partitioned.join(table2_partitioned, "join_key") # Write the joined result joined_df.write.parquet("/path_to_output")
178
참고 답변
To find the average quantity of each product purchased per transaction each year, group the transactions by year and product_id. Calculate the average quantity for each group and round the result to two decimal places. Ensure the output is sorted by year and product_id in ascending order.
179
참고 답변
Connect your personal values and career goals to Amazon's mission, scale, and Leadership Principles. Be specific about why Amazon's data challenges excite you and how you can contribute.
180
참고 답변
Prepare a story demonstrating customer obsession. For example: 'I proactively identified that our data pipeline was causing a 2-hour delay in customer-facing reports. I worked nights to optimize the ETL, reducing latency to 10 minutes. I also set up monitoring alerts and documented the solution for the team.'
181
참고 답변
I use a "Schema Evolution" strategy where the pipeline detects new columns in the incoming JSON/Parquet and automatically updates the destination table schema or routes the record to an "alert" queue for review.
182
참고 답변
I would implement validation checks at each stage: data profiling and schema validation during extraction, data cleansing and deduplication during transformation, and constraints (e.g., unique keys, referential integrity) during loading. I would also use monitoring tools, automated alerts for anomalies, and maintain data lineage for traceability.
183
참고 답변
Metadata describes structure, lineage, and context. Tools like AWS Glue Data Catalog, GCP Data Catalog, or Azure Purview centralize metadata and enable governance, discovery, and access control. This is critical for scaling pipelines across teams and environments.
184
참고 답변
Type 1: Overwrite the old value. No history preserved. -- Customer moves from NYC to LA UPDATE dim_customer SET city = 'Los Angeles' WHERE customer_id = 123; Type 2: Create a new row. Full history preserved. -- Add new row, mark old row as inactive UPDATE dim_customer SET is_current = FALSE, end_date = CURRENT_DATE WHERE customer_id = 123 AND is_current = TRUE; INSERT INTO dim_customer (customer_id, city, is_current, start_date, end_date) VALUES (123, 'Los Angeles', TRUE, CURRENT_DATE, '9999-12-31'); Type 3: Add a column for previous value. Limited history. -- Add previous_city column ALTER TABLE dim_customer ADD COLUMN previous_city VARCHAR(50); UPDATE dim_customer SET previous_city = city, city = 'Los Angeles' WHERE customer_id = 123; | Type | History | Storage | Query Complexity | Use Case | |---|---|---|---|---| | Type 1 | None | Low | Simple | Corrections, typos | | Type 2 | Full | High | Complex | Audit requirements | | Type 3 | Limited | Medium | Medium | Track one previous value | Why interviewers ask this: Real business data changes over time. How you handle changes affects reporting accuracy and storage costs.
185
참고 답변
BigQuery supports adding new nullable columns without breaking queries. For breaking changes, versioned tables or views are recommended.
186
참고 답변
Ownership involves first identifying the root cause, such as schema drift or infrastructure limits, and then leading the resolution process. Actions may include coordinating with upstream teams, rerunning backfills, or deploying fixes. Documenting the issue and implementing preventive monitoring demonstrate long-term accountability.
187
참고 답변
A data catalog is a metadata management tool that helps organizations discover, understand, and govern their data assets. It provides a searchable inventory of data resources, enabling data engineers and analysts to find and use data efficiently, ensuring that data is well-documented and easily accessible.
188
참고 답변
In data warehousing, Slowly Changing Dimensions (SCDs) are a method for handling data that changes over time, especially useful for maintaining historical records alongside new ones. There are three recognized types of SCD, each optimized for a specific data management use case: - SCD Type 1: This straightforward approach overwrites historical data with new information. It does not maintain a version history, making it suitable for scenarios that do not require tracking changes. - SCD Type 2: Here, new data gets its own record, while the existing record is marked as "expired." This method retains historical information and is useful for tracking changes over time. - SCD Type 3: This method adds new columns to the dimension table to store certain historical data, while keeping one main column for the current value. It strikes a balance between history retention and table simplicity. - Considerations: - Performance: Each SCD method can introduce different performance considerations. - Data Consistency: Maintaining consistency, especially when dealing with concurrent updates, is crucial. - Query Complexity: The method chosen can impact the complexity of queries that need to be constructed.
189
참고 답변
State the problem briefly → Explain your action steps → Show results and lessons learned. Highlight calm decision-making and clear communication.
190
참고 답변
Azure Data Factory is for ETL orchestration. Synapse is a unified analytics platform combining data warehousing and big data. Fabric is a SaaS analytics platform. For a new project today, pick Fabric if you want a managed, integrated experience; Synapse if you need dedicated SQL pools; ADF for lightweight orchestration.
191
참고 답변
When discussing data engineering projects, start by clearly outlining the problem you aimed to solve. Summarize your approach, detailing the tools and methodologies used. Highlight the steps taken during the project, including any challenges faced and how you overcame them. Conclude with the results achieved and key learnings, emphasizing what you would do differently in future projects to improve outcomes.
192
참고 답변
Since Spark 2.0, SparkSession is the unified entry point for reading data, using SQL, and managing configurations, replacing the older SparkContext.
193
참고 답변
Fault tolerance is achieved through checkpointing, replication, retries, and idempotent writes. Distributed systems like Kafka and Flink provide built-in resilience against node or network failures. This ensures continuous processing even under system disruptions.
194
참고 답변
While both roles work with data, their focus and responsibilities differ: - Data engineers primarily deal with the infrastructure and systems for data management, ensuring data is accessible, reliable, and efficient to use. - Data scientists focus on analyzing data, creating models, and extracting insights to solve business problems.
195
참고 답변
Key components of Hadoop include: - HDFS (Hadoop Distributed File System): A scalable storage layer for managing large datasets across clusters. - MapReduce: A programming model for processing big data in parallel. - YARN: A resource manager that handles cluster resource allocation and job scheduling. - Other tools include Hive (SQL querying), Pig (data flow scripting), and HBase (NoSQL database).
196
참고 답변
Data modeling for NoSQL databases involves: - Understanding the specific NoSQL database type (document, key-value, column-family, graph) - Designing for query patterns rather than normalized data structures - Considering denormalization and data duplication for performance - Planning for scalability and partitioning - Implementing appropriate indexing strategies - Handling schema flexibility and evolution
197
참고 답변
Frame your response using the STAR method. Explain the incident, how you diagnosed the root cause, involved stakeholders, restored service, and implemented preventive monitoring or alerts. Highlight your ownership and communication clarity.
198
참고 답변
SCDs are dimensions where attribute values can change over time. There are several types: - Type 1: Overwrite the old value - Type 2: Add a new row with versioning - Type 3: Add a new column for the historical value
199
참고 답변
One of the most challenging data engineering projects I worked on was implementing a real-time recommendation system for an e-commerce platform. The main challenge was handling the high data volume generated by user interactions and processing it in real-time. To overcome this, we designed a scalable data ingestion pipeline using Apache Kafka and implemented a microservices architecture for real-time data processing. We also incorporated machine learning models for personalized recommendations. It required extensive coordination and collaboration with cross-functional teams, and we overcame the challenges through agile project management practices and constant communication. This experience enhanced my skills in data processing, performance optimization, and project management.
200
참고 답변
Design a layered architecture: raw ingestion layer, staging, transformation, and serving layer. Use separate schemas or databases for analytics and product needs. Ensure data quality and lineage across both. Plan for scalability and cost management.