Data Science Interview Questions

Data Science Interview Questions  

What is data science?

Data science is an interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights from structured and unstructured data. It combines statistics, mathematics, computer science, and domain expertise to analyze and interpret complex data.

What is the difference between supervised and unsupervised learning?

Supervised and unsupervised learning are two main categories of machine learning algorithms, each serving different purposes and requiring different types of input data. Some key diffrences between supervised and unsupervised learning are:

Aspect Supervised Learning Unsupervised Learning
Input Data Requires labeled data, where each example in the training dataset is associated with a target variable or outcome. Works with unlabeled data, where there is no predefined target variable or outcome.
Objective Predicts the outcome or target variable based on input features, using known labeled examples. Discovers patterns, structures, or relationships within the data without guidance from a target variable.
Training Process Involves training the model on a labeled dataset by minimizing the error between predicted and actual outcomes. Involves extracting meaningful information from the input data without explicit guidance on what to look for.
Example  Email spam detection, sentiment analysis, predicting house prices, image classification. Customer segmentation, market basket analysis, anomaly detection in network traffic, identifying topics in text documents.

Explain the bias-variance tradeoff.

The bias-variance tradeoff is a key concept in machine learning that describes the balance between two sources of error: bias (error from inaccurate assumptions) and variance (error from sensitivity to small fluctuations in the training data). High bias can cause underfitting, while high variance can cause overfitting. The goal is to find a balance that minimizes total error.

What is cross-validation?

Cross-validation is a technique used to assess the performance of a machine learning model by dividing the data into multiple subsets. The model is trained on some subsets and tested on others to ensure it generalizes well to unseen data. A common method is k-fold cross-validation.

from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

data = load_iris()
X, y =,

model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5)

print("Cross-validation scores:", scores)
print("Mean cross-validation score:", scores.mean())

Describe the steps of a data science project.

The typical steps include:

  • Define the problem
  • Collect and preprocess data
  • Explore and analyze data
  • Build and evaluate models
  • Interpret results and communicate findings
  • Deploy the model and monitor performance

What is the central limit theorem?

The central limit theorem states that the sampling distribution of the sample mean will tend to be normally distributed, regardless of the original population distribution, provided the sample size is sufficiently large.

Explain the difference between a population and a sample.

Some key difference between population and a sample:

Aspect Population Sample
Definition The entire set of individuals or items of interest in a study. A subset of the population selected for analysis.
Size Usually large and encompasses all possible data points. Typically smaller and more manageable for study purposes.
Representation Complete representation of the entire group of interest. Represents a portion of the population; used to make inferences.
Parameters vs. Statistics Described by parameters (e.g., population mean 𝜇μ, variance 𝜎2σ2). Described by statistics (e.g., sample mean 𝑥ˉxˉ, variance 𝑠2s2).
Accuracy Provides precise and accurate results about the entire group. Results are estimates and subject to sampling error.
Cost and Time Generally more costly and time-consuming to collect data. Less costly and quicker to collect data from a smaller group.

What is a p-value?

A p-value measures the probability that the observed data (or something more extreme) would occur if the null hypothesis were true. A low p-value (typically ≤ 0.05) indicates strong evidence against the null hypothesis, suggesting that the observed effect is statistically significant.

What is correlation and how is it different from causation?

Correlation measures the strength and direction of a linear relationship between two variables. Causation implies that changes in one variable directly cause changes in another. Correlation does not imply causation; two variables may be correlated without a causal relationship.

What are Type I and Type II errors?

Type I and Type II errors are two types of errors that can occur in hypothesis testing and binary classification tasks. Some key difference between Type I and Type II errors are:

Aspect Type I Error Type II Error
Definition Also known as a "false positive." Occurs when a true null hypothesis is incorrectly rejected. Also known as a "false negative." Occurs when a false null hypothesis is incorrectly accepted.
Symbol Denoted by 𝛼α. Denoted by 𝛽β.
Occurrence Happens when the researcher concludes that there is a significant effect or difference when there isn't one in reality. Happens when the researcher fails to detect a significant effect or difference when there is one in reality.
Consequence May lead to incorrect conclusions and wasted resources by acting upon a non-existent effect or difference. May result in missed opportunities or failure to address an existing problem or effect.
Example Concluding that a new drug is effective when it actually has no effect. Failing to identify a defective product during quality control testing.
Probability Controlled by the significance level (𝛼α) chosen by the researcher. Controlled by the power of the test (1 - 𝛽β), which depends on factors such as sample size and effect size.
Trade-off As 𝛼α decreases, the probability of Type I error decreases, but the probability of Type II error increases. As 𝛽β decreases (power increases), the probability of Type II error decreases, but the probability of Type I error increases.

What is overfitting and how can it be prevented?

Overfitting occurs when a model learns the noise in the training data rather than the underlying pattern, resulting in poor generalization to new data. It can be prevented by:

  • Using more training data
  • Simplifying the model
  • Using regularization techniques
  • Cross-validation

What is a confusion matrix?

A confusion matrix is a table used to evaluate the performance of a classification model. It shows the actual vs. predicted classifications and includes true positives, true negatives, false positives, and false negatives. It helps in calculating metrics like accuracy, precision, recall, and F1-score.

from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

data = load_iris()
X, y =,

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = RandomForestClassifier(), y_train)
y_pred = model.predict(X_test)

cm = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:\n", cm)

Explain the difference between L1 and L2 regularization.

L1 and L2 regularization are techniques used in machine learning to prevent overfitting by adding a penalty to the loss function. Some key differences between L1 and L2 regularization are:

Aspect L1 Regularization (Lasso) L2 Regularization (Ridge)
Penalty Term Adds the absolute value of the coefficients: (\lambda \sum w_i
Effect on Coefficients Can drive some coefficients to exactly zero, effectively performing feature selection. Shrinks coefficients towards zero but does not set them exactly to zero.
Sparsity Results in sparse models with fewer predictors (useful for feature selection). Results in non-sparse models with all predictors retained but with smaller coefficients.
Solution Typically leads to a solution where some weights are zero, simplifying the model. Typically leads to a solution where all weights are small but non-zero.
Optimization Optimization problem can be solved using linear programming methods. Optimization problem remains a quadratic programming problem.
Use Case Useful when you suspect that many features are irrelevant or when interpretability is important. Useful when you suspect that all features are relevant but you want to prevent any one from having too much influence.

What are decision trees and how do they work?

Decision trees are models that split the data into subsets based on the value of input features, forming a tree-like structure. Each node represents a decision based on a feature, and each branch represents the outcome of that decision. Leaves represent the final prediction or outcome.

What is the role of Python in data science?

Python is a popular language in data science due to its simplicity and extensive libraries for data manipulation, analysis, and visualization (e.g., NumPy, pandas, Matplotlib, Seaborn). It also has powerful machine learning libraries like Scikit-learn, TensorFlow, and PyTorch.

What is the difference between bagging and boosting?

Bagging and boosting are ensemble learning techniques used to improve the performance of machine learning models by combining multiple weak learners. Some key differences between bagging and boosting are:

Aspect Bagging Boosting
Objective Reduce variance (overfitting) Reduce bias (underfitting)
Base Learners Independent models trained parallelly Weak learners trained sequentially
Weighting Equally weighted models Sequentially weighted based on performance
Handling Outliers Less sensitive due to averaging More sensitive due to sequential correction
Parallelization Can be parallelized Typically cannot be parallelized
Performance Reduces overfitting and variance Achieves higher accuracy but may overfit easily

Explain the use of pandas library in Python.

Pandas is a powerful library for data manipulation and analysis in Python. It provides data structures like Series and DataFrame, allowing for easy handling, cleaning, merging, reshaping, and visualization of datasets.

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']

df = pd.DataFrame(data)
print("DataFrame:\n", df)

# Data manipulation example
df['Age'] = df['Age'] + 1
print("\nUpdated DataFrame:\n", df)

# Filter rows
filtered_df = df[df['Age'] > 30]
print("\nFiltered DataFrame:\n", filtered_df)

What is SQL and why is it important in data science?

SQL (Structured Query Language) is used to communicate with databases. It is essential in data science for querying and managing large datasets stored in relational databases. SQL allows for efficient data retrieval, manipulation, and aggregation.

How do you handle missing data in a dataset?

Handling missing data can be done by:

  • Removing rows/columns with missing values
  • Imputing missing values using mean, median, mode, or more advanced techniques like KNN imputation
  • Using algorithms that support missing values natively

What is version control and why is it important?

Version control systems like Git track changes in code and data, facilitating collaboration, and maintaining a history of modifications. It is important for managing different versions of a project, reverting to previous states, and collaborating with other team members.

What is exploratory data analysis (EDA)?

EDA involves summarizing and visualizing the main characteristics of a dataset, often using statistical graphics and plotting tools. It helps in understanding the data's structure, detecting anomalies, testing hypotheses, and informing further analysis.

What is a histogram and what is it used for?

A histogram is a graphical representation of the distribution of a dataset. It displays data by grouping adjacent values into bins and showing the frequency of data points within each bin. It is used to visualize the underlying distribution of a dataset.

Explain the difference between a bar chart and a histogram.

Some key differences between a bar chart and a histogram are:

Aspect Bar Chart Histogram
Data Type Used to represent categorical data or discrete values. Used to represent the distribution of continuous data.
X-Axis Typically represents categories or discrete values. Represents continuous intervals or ranges (bins).
Y-Axis Represents the frequency, count, or proportion of each category. Represents the frequency or count of data points in each bin.
Bar Gaps There are usually gaps between bars to denote separate categories. Bars are typically adjacent with no gaps, as they represent continuous intervals.
Width The width of each bar is uniform and may vary based on preference. The width of each bar is determined by the range of each bin.
Example Use Cases Comparing quantities or frequencies of different categories. Visualizing the distribution and frequency of continuous data.

What is principal component analysis (PCA)?

PCA is a dimensionality reduction technique that transforms data into a set of orthogonal components, ordered by the amount of variance they explain. It reduces the number of features while retaining the most important information, helping in data visualization and reducing computational complexity.

from sklearn.decomposition import PCA
from sklearn.datasets import load_iris

data = load_iris()
X =

pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)

print("Original shape:", X.shape)
print("Reduced shape:", X_reduced.shape)

How do you assess the quality of a model?

The quality of a model can be assessed using various metrics, depending on the task:

  • For classification: accuracy, precision, recall, F1-score, ROC-AUC
  • For regression: R-squared, Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE)
  • Cross-validation and holdout sets also help in assessing model performance.

What is deep learning and how does it differ from traditional machine learning?

Deep learning is a subset of machine learning that uses neural networks with many layers (deep networks) to model complex patterns in data. Unlike traditional machine learning, which often requires manual feature extraction, deep learning automatically learns features from raw data.

What are convolutional neural networks (CNNs)?

CNNs are a class of deep learning models designed for processing structured grid data like images. They use convolutional layers to automatically and adaptively learn spatial hierarchies of features from input data, making them highly effective for image and video recognition tasks.

What is a recurrent neural network (RNN)?

RNNs are a type of neural network designed for sequential data. They maintain a hidden state that captures information from previous time steps, making them suitable for tasks like time series forecasting, language modeling, and speech recognition.

What is transfer learning?

Transfer learning involves taking a pre-trained model (trained on a large dataset) and fine-tuning it on a smaller, task-specific dataset. It leverages the knowledge gained from the pre-trained model, reducing training time and improving performance on the target task.

What is reinforcement learning?

Reinforcement learning is a type of machine learning where an agent learns to make decisions by interacting with an environment and receiving rewards or penalties. The goal is to learn a policy that maximizes cumulative rewards over time.

What is A/B testing?

A/B testing is a statistical method used to compare two versions of a variable (A and B) to determine which one performs better. It involves randomly splitting a population into two groups, exposing them to different variants, and analyzing the results to inform decisions.

What is the difference between precision and recall?

Precision and recall are two important metrics used to evaluate the performance of classification models, especially in binary classification tasks. Some key differences between precision and recall:

Aspect Precision Recall
Definition The proportion of true positive predictions among all positive predictions. The proportion of true positive predictions among all actual positives.
Objective Focuses on minimizing false positives. Focuses on minimizing false negatives.
High Value Indicates that most of the positive predictions are correct. Indicates that most of the actual positives are correctly identified.
Low Value Indicates a high rate of false positives. Indicates a high rate of false negatives.
Use Case Useful when the cost of false positives is high. Useful when the cost of false negatives is high.

What is the ROC curve?

The ROC (Receiver Operating Characteristic) curve is a graphical plot that illustrates the diagnostic ability of a binary classifier by plotting the true positive rate (sensitivity) against the false positive rate (1-specificity) at various threshold settings. The area under the curve (AUC) measures model performance.

You have a high dimensional dataset. What steps would you take to handle it?

Handling high-dimensional data involves:

  • Dimensionality reduction techniques (PCA, t-SNE)
  • Feature selection methods (filter, wrapper, embedded methods)
  • Regularization techniques to prevent overfitting
  • Considering domain knowledge to identify irrelevant features

What is ETL and why is it important in data science?

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 destination database or data warehouse. ETL is crucial for data integration, ensuring data quality, and making data accessible for analysis and modeling.

import pandas as pd
from sqlalchemy import create_engine

# Extract
data = pd.read_csv('data.csv')

# Transform
data['new_column'] = data['existing_column'] * 2

# Load
engine = create_engine('sqlite:///:memory:')
data.to_sql('transformed_data', engine, index=False)

print("ETL process completed and data loaded to database.")

Explain the concept of data warehousing.

A data warehouse is a centralized repository that stores large volumes of structured data from various sources. It is designed to support business intelligence activities, providing a unified view of data for querying and analysis. Data warehouses optimize data retrieval and support complex queries.

How do you approach cleaning a messy dataset?

Cleaning a dataset involves:

  • Identifying and handling missing values
  • Removing or correcting outliers
  • Standardizing or normalizing data
  • Handling duplicate records
  • Encoding categorical variables

What is the difference between OLTP and OLAP?

OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) are two different types of systems used in data management and analysis. Some key differences between OLTP and OLAP are:

Full Form Online Transaction Processing Online Analytical Processing
Purpose Optimized for transactional operations, such as inserting, updating, and deleting data in real-time. Optimized for complex queries and analytical operations on large volumes of historical data.
Database Structure Typically uses a normalized database structure to minimize redundancy and ensure data integrity. Often uses a denormalized or star or snowflake schema to facilitate complex queries and aggregations.
Data Volume Handles a high volume of short, simple transactions. Analyzes and aggregates large volumes of historical data.
Queries Executes simple, real-time queries to support day-to-day business operations. Executes complex analytical queries to gain insights into business trends and patterns.
Transaction Size Processes small to moderate-sized transactions. Processes large, read-heavy transactions.
Performance Emphasizes speed and concurrency for fast transaction processing. Emphasizes query performance and scalability for complex analytical queries.

What is the k-nearest neighbors (k-NN) algorithm?

k-NN is a simple, non-parametric, lazy learning algorithm used for classification and regression. It classifies a data point based on the majority class of its k-nearest neighbors in the feature space. For regression, it predicts the value based on the average of the k-nearest neighbors.

Explain the support vector machine (SVM) algorithm.

SVM is a supervised learning algorithm used for classification and regression. It finds the optimal hyperplane that maximizes the margin between different classes in the feature space. SVM is effective in high-dimensional spaces and for cases where the number of dimensions exceeds the number of samples.

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

data = datasets.load_iris()
X, y =,

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = SVC(), y_train)
y_pred = model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)
print("SVM Accuracy:", accuracy)

What is a random forest?

A random forest is an ensemble learning method that combines multiple decision trees to improve model accuracy and control overfitting. Each tree is trained on a random subset of the data and features. The final prediction is made by averaging the predictions of all trees for regression or taking a majority vote for classification.

What is a neural network?

A neural network is a computational model inspired by the human brain, consisting of layers of interconnected nodes (neurons). Each neuron receives inputs, applies a weighted sum and an activation function, and passes the output to the next layer. Neural networks can learn complex patterns from data through backpropagation.

Explain the concept of dropout in neural networks.

Dropout is a regularization technique used to prevent overfitting in neural networks. During training, dropout randomly sets a fraction of input units to zero at each update, preventing the network from relying too heavily on specific neurons. This helps the network generalize better to unseen data.

What is a generative adversarial network (GAN)?

GANs consist of two neural networks, a generator and a discriminator, that compete against each other. The generator creates fake data, while the discriminator evaluates its authenticity. The generator aims to produce data indistinguishable from real data, while the discriminator tries to differentiate between real and fake data. GANs are used for generating realistic images, videos, and other types of data.

What is time series analysis?

Time series analysis involves analyzing data points collected or recorded at specific time intervals to identify patterns, trends, and seasonal variations. Techniques like moving averages, autoregressive models, and ARIMA are used to model and forecast time-dependent data.

Explain the difference between descriptive and inferential statistics.

Descriptive statistics summarize and describe the main features of a dataset through measures like mean, median, mode, and standard deviation. Inferential statistics use sample data to make inferences or predictions about a population, employing techniques like hypothesis testing and confidence intervals.

Descriptive and inferential statistics are two branches of statistics that serve different purposes in data analysis. Some key differences between descriptive and inferential statistics:

Aspect Descriptive Statistics Inferential Statistics
Purpose Summarizes and describes the main features of a dataset. Uses sample data to make inferences or predictions about a population.
Data Analysis Level Focuses on analyzing and summarizing the available data. Involves making predictions or inferences beyond the available data.
Examples Mean, median, mode, standard deviation, percentiles, histograms, etc. Hypothesis testing, confidence intervals, regression analysis, etc.
Population vs. Sample Describes characteristics of a known population or dataset. Uses sample data to make predictions or inferences about a larger population.
Objective Aims to provide a concise summary and understanding of the dataset. Aims to draw conclusions or make predictions about a larger population based on sample data.
Statistical Tests Generally does not involve statistical tests. Involves various statistical tests to make inferences about the population.
Example Scenario Analyzing the distribution of students' exam scores in a class. Drawing conclusions about the average exam scores of all students in the school based on a sample of students.
import numpy as np
import pandas as pd
from scipy import stats

# Descriptive statistics
data = [2, 3, 5, 7, 11]
mean = np.mean(data)
median = np.median(data)
std_dev = np.std(data)

print("Descriptive Statistics:")
print(f"Mean: {mean}, Median: {median}, Standard Deviation: {std_dev}")

# Inferential statistics
population_data = np.random.normal(loc=50, scale=5, size=1000)
sample_data = np.random.choice(population_data, size=100, replace=False)

t_stat, p_value = stats.ttest_1samp(sample_data, 50)

print("\nInferential Statistics:")
print(f"T-statistic: {t_stat}, P-value: {p_value}")

What is a box plot and what does it show?

A box plot (or whisker plot) is a graphical representation of the distribution of a dataset. It displays the median, quartiles, and potential outliers. The box represents the interquartile range (IQR), with lines (whiskers) extending to the minimum and maximum values within 1.5 * IQR. Outliers are plotted as individual points.

What is ensemble learning?

Ensemble learning combines multiple machine learning models to improve overall performance. Techniques include bagging (e.g., random forests), boosting (e.g., AdaBoost, Gradient Boosting), and stacking. Ensemble methods reduce variance, bias, or improve predictions by leveraging the strengths of different models.

What is gradient boosting?

Gradient boosting is an ensemble technique where models are trained sequentially, each correcting the errors of its predecessor. It uses gradient descent to minimize the loss function. Popular implementations include Gradient Boosting Machines (GBMs), XGBoost, and LightGBM.

What is a recommendation engine and how does it work?

A recommendation engine suggests items to users based on various techniques, such as collaborative filtering (using user-item interactions), content-based filtering (using item features), and hybrid methods (combining both). It aims to personalize user experiences by predicting user preferences.

import pandas as pd
from sklearn.neighbors import NearestNeighbors

# Sample user-item interaction matrix
data = {
    'User': [1, 1, 2, 2, 3, 3],
    'Item': [1, 2, 2, 3, 1, 3],
    'Rating': [5, 3, 4, 2, 3, 4]

df = pd.DataFrame(data)
user_item_matrix = df.pivot(index='User', columns='Item', values='Rating').fillna(0)

model = NearestNeighbors(metric='cosine', algorithm='brute')

# Find recommendations for User 1
distances, indices = model.kneighbors(user_item_matrix.iloc[0, :].values.reshape(1, -1), n_neighbors=2)
print("Recommendations for User 1 based on similar users:", indices)

What is Apache Spark and how does it differ from Hadoop?

Apache Spark is a distributed computing system for big data processing, known for its speed and ease of use. It provides in-memory computing capabilities, which makes it faster than Hadoop's disk-based MapReduce. Spark supports batch and stream processing, whereas Hadoop primarily focuses on batch processing.

What is NoSQL and when should you use it?

NoSQL databases are non-relational databases designed to handle large volumes of unstructured or semi-structured data. They are suitable for applications requiring flexible schema design, high scalability, and real-time processing, such as social media platforms, IoT data storage, and content management systems.

What is Apache Kafka used for?

Apache Kafka is a distributed streaming platform used for building real-time data pipelines and streaming applications. It is designed to handle high-throughput, low-latency data streams and is used for log aggregation, real-time analytics, event sourcing, and stream processing.

What is hyperparameter tuning?

Hyperparameter tuning involves finding the optimal set of hyperparameters for a machine learning model to improve its performance. Techniques include grid search, random search, and Bayesian optimization. Cross-validation is often used to evaluate the performance of different hyperparameter configurations.

What is an ROC AUC score?

The ROC AUC score (Area Under the Receiver Operating Characteristic Curve) measures the ability of a binary classifier to distinguish between classes. It ranges from 0 to 1, with 1 indicating perfect classification and 0.5 representing random guessing. A higher AUC indicates better model performance.

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
from sklearn.preprocessing import label_binarize

data = load_iris()
X, y =,

# Binarize the output for multi-class
y = label_binarize(y, classes=[0, 1, 2])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = RandomForestClassifier(), y_train)

y_score = model.predict_proba(X_test)

# Compute ROC AUC score
roc_auc = roc_auc_score(y_test, y_score, multi_class='ovr')
print("ROC AUC Score:", roc_auc)

What is k-fold cross-validation?

K-fold cross-validation is a technique for evaluating the performance of a machine learning model. The dataset is divided into k subsets (folds). The model is trained on k-1 folds and tested on the remaining fold. This process is repeated k times, and the results are averaged to provide an overall performance estimate.

What is data leakage and how can it be prevented?

Data leakage occurs when information from outside the training dataset is used to create the model, leading to overly optimistic performance estimates. It can be prevented by:

  • Ensuring proper data splitting (training, validation, test sets)
  • Avoiding the use of future information in model training
  • Regularly reviewing data preprocessing steps

What is the difference between batch processing and stream processing?

Batch processing and stream processing are two different approaches to handling data processing tasks, each suited to specific scenarios. Some key differences batch processing and stream processing:

Aspect Batch Processing Stream Processing
Data Processing Processes data in fixed-size batches or chunks. Processes data continuously as it arrives, in real-time.
Data Arrival Processes data after it has been collected and stored. Processes data as it arrives, without storing it first.
Latency Generally has higher latency, as it waits for all data in a batch to arrive before processing. Offers lower latency, as it processes data immediately upon arrival.
Use Cases Suited for scenarios where latency is not critical, and data can be processed in periodic intervals. Ideal for real-time analytics, monitoring, and reacting to data as it happens.
Data Size Typically handles large volumes of data in each batch. Handles continuous data streams of varying sizes.
Processing Model Follows a stateless processing model, where each batch is processed independently of others. Often follows a stateful processing model, where data is processed in the context of the entire stream.
Fault Tolerance Easier to implement fault tolerance due to the bounded nature of batches. Requires more sophisticated mechanisms for fault tolerance, as data is continuously flowing.