i
Persistent
Systems
Work with us
Filter interviews by
Repartition increases or decreases the number of partitions in a DataFrame, while Coalesce only decreases the number of partitions.
Repartition can increase or decrease the number of partitions in a DataFrame, leading to a shuffle of data across the cluster.
Coalesce only decreases the number of partitions in a DataFrame without performing a full shuffle, making it more efficient than repartition.
Repartition is typi...
DAGs handle fault tolerance by rerunning failed tasks and maintaining task dependencies.
DAGs rerun failed tasks automatically to ensure completion.
DAGs maintain task dependencies to ensure proper sequencing.
DAGs can be configured to retry failed tasks a certain number of times before marking them as failed.
Use Spark and SQL to find the top 5 countries with the highest population.
Use Spark to load the data and perform data processing.
Use SQL queries to group by country and sum the population.
Order the results in descending order and limit to top 5.
Example: SELECT country, SUM(population) AS total_population FROM table_name GROUP BY country ORDER BY total_population DESC LIMIT 5
Cores and worker nodes are decided based on the workload requirements and scalability needs of the data processing system.
Consider the size and complexity of the data being processed
Evaluate the processing speed and memory requirements of the tasks
Take into account the parallelism and concurrency needed for efficient data processing
Monitor the system performance and adjust cores and worker nodes as needed
Enforcing schema ensures that data conforms to a predefined structure and rules.
Ensures data integrity by validating incoming data against predefined schema
Helps in maintaining consistency and accuracy of data
Prevents data corruption and errors in data processing
Can lead to rejection of data that does not adhere to the schema
To find different records for different joins using two tables
Use the SQL query to perform different joins like INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN
Identify the key columns in both tables to join on
Select the columns from both tables and use WHERE clause to filter out the different records
Use the len() function to check the length of the data frame.
Use len() function to get the number of rows in the data frame.
If the length is 0, then the data frame is empty.
Example: if len(df) == 0: print('Data frame is empty')
SCD stands for Slowly Changing Dimension, a concept in data warehousing to track changes in data over time.
SCD is used to maintain historical data in a data warehouse.
There are three types of SCD - Type 1, Type 2, and Type 3.
Type 1 SCD overwrites old data with new data.
Type 2 SCD creates a new record for each change, preserving history.
Type 3 SCD maintains both old and new values in the same record.
SCD is importan...
Merging two schemas in PySpark involves combining DataFrames with different structures into a unified format.
Use the `unionByName()` method to merge DataFrames with different column names.
Example: df1.unionByName(df2, allowMissingColumns=True) merges df1 and df2, filling missing columns with nulls.
For schema evolution, use `mergeSchema` option when reading from Parquet files.
Example: spark.read.option('mergeSchema...
Reverse a string using SQL and Python codes.
In SQL, use the REVERSE function to reverse a string.
In Python, use slicing with a step of -1 to reverse a string.
I applied via Naukri.com and was interviewed in Aug 2024. There were 2 interview rounds.
I am a Senior Data Engineer with experience in developing data pipelines and optimizing data storage for various projects.
Developed data pipelines using Apache Spark for real-time data processing
Optimized data storage using technologies like Hadoop and AWS S3
Worked on a project to analyze customer behavior and improve marketing strategies
My day-to-day job in the project involved designing and implementing data pipelines, optimizing data workflows, and collaborating with cross-functional teams.
Designing and implementing data pipelines to extract, transform, and load data from various sources
Optimizing data workflows to improve efficiency and performance
Collaborating with cross-functional teams including data scientists, analysts, and business stakeholde...
DAGs handle fault tolerance by rerunning failed tasks and maintaining task dependencies.
DAGs rerun failed tasks automatically to ensure completion.
DAGs maintain task dependencies to ensure proper sequencing.
DAGs can be configured to retry failed tasks a certain number of times before marking them as failed.
Shuffling is the process of redistributing data across partitions in a distributed computing environment.
Shuffling is necessary when data needs to be grouped or aggregated across different partitions.
It can be handled efficiently by minimizing the amount of data being shuffled and optimizing the partitioning strategy.
Techniques like partitioning, combiners, and reducers can help reduce the amount of shuffling in MapRed...
Repartition increases or decreases the number of partitions in a DataFrame, while Coalesce only decreases the number of partitions.
Repartition can increase or decrease the number of partitions in a DataFrame, leading to a shuffle of data across the cluster.
Coalesce only decreases the number of partitions in a DataFrame without performing a full shuffle, making it more efficient than repartition.
Repartition is typically...
Incremental data is handled by identifying new data since the last update and merging it with existing data.
Identify new data since last update
Merge new data with existing data
Update data warehouse or database with incremental changes
SCD stands for Slowly Changing Dimension, a concept in data warehousing to track changes in data over time.
SCD is used to maintain historical data in a data warehouse.
There are three types of SCD - Type 1, Type 2, and Type 3.
Type 1 SCD overwrites old data with new data.
Type 2 SCD creates a new record for each change, preserving history.
Type 3 SCD maintains both old and new values in the same record.
SCD is important for...
Reverse a string using SQL and Python codes.
In SQL, use the REVERSE function to reverse a string.
In Python, use slicing with a step of -1 to reverse a string.
Use Spark and SQL to find the top 5 countries with the highest population.
Use Spark to load the data and perform data processing.
Use SQL queries to group by country and sum the population.
Order the results in descending order and limit to top 5.
Example: SELECT country, SUM(population) AS total_population FROM table_name GROUP BY country ORDER BY total_population DESC LIMIT 5
To find different records for different joins using two tables
Use the SQL query to perform different joins like INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN
Identify the key columns in both tables to join on
Select the columns from both tables and use WHERE clause to filter out the different records
A catalyst optimizer is a query optimization tool used in Apache Spark to improve performance by generating an optimal query plan.
Catalyst optimizer is a rule-based query optimization framework in Apache Spark.
It leverages rules to transform the logical query plan into a more optimized physical plan.
The optimizer applies various optimization techniques like predicate pushdown, constant folding, and join reordering.
By o...
Used query optimization techniques to improve performance in database queries.
Utilized indexing to speed up search queries.
Implemented query caching to reduce redundant database calls.
Optimized SQL queries by restructuring joins and subqueries.
Utilized database partitioning to improve query performance.
Used query profiling tools to identify and optimize slow queries.
Merging two schemas in PySpark involves combining DataFrames with different structures into a unified format.
Use the `unionByName()` method to merge DataFrames with different column names.
Example: df1.unionByName(df2, allowMissingColumns=True) merges df1 and df2, filling missing columns with nulls.
For schema evolution, use `mergeSchema` option when reading from Parquet files.
Example: spark.read.option('mergeSchema', 't...
Use the len() function to check the length of the data frame.
Use len() function to get the number of rows in the data frame.
If the length is 0, then the data frame is empty.
Example: if len(df) == 0: print('Data frame is empty')
Cores and worker nodes are decided based on the workload requirements and scalability needs of the data processing system.
Consider the size and complexity of the data being processed
Evaluate the processing speed and memory requirements of the tasks
Take into account the parallelism and concurrency needed for efficient data processing
Monitor the system performance and adjust cores and worker nodes as needed
Enforcing schema ensures that data conforms to a predefined structure and rules.
Ensures data integrity by validating incoming data against predefined schema
Helps in maintaining consistency and accuracy of data
Prevents data corruption and errors in data processing
Can lead to rejection of data that does not adhere to the schema
I applied via Naukri.com and was interviewed before Jun 2023. There were 3 interview rounds.
It’s just reasoning type questions.
SSIS stands for SQL Server Integration Services, a tool provided by Microsoft for data integration and workflow applications.
SSIS is a platform for building high-performance data integration and workflow solutions.
It allows you to create packages that move data from various sources to destinations.
SSIS includes a visual design interface for creating, monitoring, and managing data integration processes.
You can use SSIS ...
SSIS packages are used for ETL processes in SQL Server. Union combines datasets vertically, while merge combines them horizontally.
SSIS packages are used for Extract, Transform, Load (ETL) processes in SQL Server.
Union in SSIS combines datasets vertically, stacking rows on top of each other.
Merge in SSIS combines datasets horizontally, matching rows based on specified columns.
Union All in SSIS combines datasets vertica...
What people are saying about Persistent Systems
I applied via Recruitment Consulltant and was interviewed before Apr 2021. There were 3 interview rounds.
Standard Aptitude questions
Based on strings and array
Developed a web-based project management tool for a startup
Used React for the frontend and Node.js for the backend
Implemented user authentication and authorization using JWT
Integrated with third-party APIs such as Trello and Slack
Implemented real-time updates using WebSockets
Deployed on AWS using EC2 and RDS
I am a software engineer with experience in developing web applications and mobile apps.
Proficient in programming languages such as Java, Python, and JavaScript
Skilled in using frameworks like React, Angular, and Spring Boot
Experienced in working with databases such as MySQL and MongoDB
Familiar with Agile development methodologies and DevOps practices
My dream is to build innovative software solutions that positively impact people's lives.
Developing cutting-edge technology
Creating user-friendly interfaces
Solving complex problems
Collaborating with talented individuals
Making a difference in society
Continuous learning and growth
posted on 16 Dec 2015
posted on 11 Feb 2016
I applied via Referral
Data structures are a way to organize and store data efficiently.
Data structures are used to store and manipulate data in a structured manner.
They provide different ways to access and perform operations on the data.
Examples include arrays, linked lists, stacks, queues, trees, and graphs.
Developed a web-based project management tool for tracking tasks and deadlines
Used React.js for front-end development
Implemented RESTful APIs using Node.js and Express for back-end
Utilized MongoDB for database management
Incorporated user authentication and authorization features
Integrated real-time notifications using Socket.io
My name is John Smith.
Full name is John Smith
Common name in English-speaking countries
Easy to remember and pronounce
The question is unrelated to the medical field and is not a puzzle or riddle.
The question is asking about the meaning of the interviewer's name.
You can ask the interviewer about the origin or cultural significance of their name.
You can also mention that names often have different meanings in different languages or cultures.
My strengths include problem-solving skills, attention to detail, and strong communication abilities.
Strong problem-solving skills - I enjoy tackling complex issues and finding creative solutions.
Attention to detail - I am meticulous in my work and strive for accuracy in all tasks.
Strong communication abilities - I can effectively convey ideas and collaborate with team members.
I applied via Campus Placement
Worked on a group project to develop a mobile app for a charity organization
Collaborated with team members to define project scope and requirements
Assigned tasks and set deadlines to ensure timely completion
Conducted regular meetings to discuss progress and address any issues
Implemented agile methodology to adapt to changing requirements
Delivered a functional and user-friendly app within the given timeframe
To create a calculator program, use a GUI framework and implement basic arithmetic operations.
Choose a programming language and a GUI framework such as JavaFX or Tkinter.
Implement the basic arithmetic operations such as addition, subtraction, multiplication, and division.
Add functionality for decimal points, clear button, and negative numbers.
Test the program thoroughly to ensure accuracy and usability.
I am excited to work for this organisation because of its reputation for innovation and commitment to employee growth.
I am impressed by the company's track record of developing cutting-edge technology
I appreciate the emphasis on professional development and growth opportunities for employees
I am drawn to the company's culture of collaboration and teamwork
I am excited about the potential to work on projects that have a ...
In 5 years, I see myself as a senior software engineer leading a team of developers to create innovative solutions.
Leading a team of developers to create innovative solutions
Continuing to learn and stay up-to-date with the latest technologies
Contributing to the growth and success of the company
Mentoring and coaching junior developers
Taking on more responsibilities and challenges
Some of the top questions asked at the Persistent Systems Senior Data Engineer interview -
based on 2 interview experiences
Difficulty level
Duration
based on 3 reviews
Rating in categories
Software Engineer
4.6k
salaries
| ₹2.5 L/yr - ₹11.1 L/yr |
Senior Software Engineer
4.5k
salaries
| ₹5.1 L/yr - ₹18.7 L/yr |
Lead Software Engineer
3.6k
salaries
| ₹7.4 L/yr - ₹19.4 L/yr |
Lead Engineer
3.5k
salaries
| ₹10 L/yr - ₹27.4 L/yr |
Project Lead
2.1k
salaries
| ₹12.5 L/yr - ₹39.3 L/yr |
Cognizant
TCS
IBM
LTIMindtree