Filter interviews by
I applied via Campus Placement and was interviewed in Jun 2023. There were 4 interview rounds.
2 coding question bitmasking and dfs
I applied via Campus Placement and was interviewed in Mar 2023. There were 6 interview rounds.
It was a 90 min online coding test on hackerrank platform and the questions were from DSA.
I applied via LinkedIn and was interviewed in Jul 2021. There was 1 interview round.
I applied via Recruitment Consultant and was interviewed in Nov 2020. There were 4 interview rounds.
Celigo interview questions for popular designations
Top trending discussions
Code to delete duplicate nodes in a sorted linked list
Traverse the linked list and compare adjacent nodes
If nodes are equal, delete one of them
Repeat until all duplicates are removed
Printing all root to leaf paths in a binary search tree
Traverse the tree recursively and keep track of the current path
When a leaf node is reached, add the current path to the list of paths
Print all the paths in the list
Use an array of strings to store the paths
Find two integers in an array whose sum is closest to zero.
Sort the array in ascending order.
Initialize two pointers at the beginning and end of the array.
Move the pointers towards each other until the sum is closest to zero.
Count set bits in a 32-bit integer in linear time
Use bit manipulation to count set bits
Divide the integer into 16-bit chunks and count set bits in each chunk
Use lookup tables to count set bits in each 8-bit chunk
Use parallel processing to count set bits in multiple integers simultaneously
To determine the width of a binary tree using breadth-wise traversal, we need to count the number of nodes at each level.
Perform a breadth-first traversal of the binary tree
Count the number of nodes at each level
Keep track of the maximum number of nodes seen at any level
Return the maximum number of nodes seen
Files are preferred over databases for certain types of data and applications.
Files are faster for small amounts of data.
Files are easier to manage and backup.
Files are more flexible for certain types of data, such as images or videos.
Databases are better for complex data relationships and queries.
Databases are more secure and scalable for large amounts of data.
The choice between files and databases depends on the spec
I applied via Referral
I have contributed to my projects by developing and implementing new features, fixing bugs, and improving overall performance.
Developed and implemented new features
Fixed bugs and issues
Improved overall performance
Collaborated with team members to ensure project success
Provided technical support and troubleshooting assistance
I encourage open communication and collaboration to identify and solve problems within the team.
Encourage open communication and active listening
Identify the root cause of the problem
Brainstorm solutions as a team
Assign tasks and follow up on progress
Evaluate the effectiveness of the solution
Provide constructive feedback
Celebrate successes and learn from failures
I expect a company that values innovation, growth opportunities, and work-life balance.
Opportunities for professional development and growth
A culture that encourages innovation and creativity
A healthy work-life balance
Clear communication and transparency
Competitive compensation and benefits
Collaborative and supportive team environment
Yes, I am planning to pursue a Master's degree in Computer Science.
I am interested in specializing in Artificial Intelligence.
I have already researched and shortlisted a few universities.
I plan to apply for the next academic year.
I believe higher studies will help me gain a deeper understanding of the field and advance my career.
I am very flexible in my professional life and can adapt to changing situations easily.
I am open to learning new technologies and skills
I can work in different environments and with different teams
I am willing to take on new challenges and responsibilities
I can adjust my work schedule to meet project deadlines
I am comfortable with remote work and flexible work arrangements
I am a software engineer with experience in developing web applications and a passion for problem-solving.
Experienced in developing web applications using languages such as Java, Python, and JavaScript
Proficient in using frameworks such as Spring, Django, and React
Strong problem-solving skills and ability to work in a team environment
Passionate about learning new technologies and keeping up with industry trends
Find the minimum and maximum values in an array in a single traversal.
Initialize min and max variables with the first element of the array
Iterate through the array and update min and max if a smaller or larger value is found
Return the min and max values
The maximum number of squares on a chessboard is 64.
The chessboard has 64 squares in total.
The number of squares on a chessboard can be calculated using the formula n^2, where n is the number of rows or columns.
In this case, n = 8 (8 rows and 8 columns), so the maximum number of squares is 8^2 = 64.
C++ is a programming language. Deep copy creates a new object and copies all values, while shallow copy creates a reference to the original object.
C++ is a general-purpose programming language
Deep copy creates a new object with its own copy of the data
Shallow copy creates a reference to the original object
Deep copy is safer but can be slower and consume more memory
Shallow copy is faster but can lead to unexpected behav
Pre initialization refers to the process of initializing variables or objects before they are used in a program.
Pre initialization helps avoid errors or unexpected behavior caused by using uninitialized variables.
It is a good practice to pre initialize variables with default values.
Pre initialization can be done using constructors, default values, or initialization blocks.
Example: int count = 0; initializes the variabl
Reverse a linked list with and without using Recursion
Iterative approach: Use three pointers to reverse the links between nodes
Recursive approach: Recursively reverse the rest of the list and then fix the links
Polymorphism refers to the ability of an object to take on many forms. The diamond problem occurs in multiple inheritance.
Polymorphism can be achieved through method overloading and method overriding.
Method overloading allows multiple methods with the same name but different parameters.
Method overriding occurs when a subclass provides a specific implementation of a method already defined in its superclass.
The diamond p...
The program should differentiate between integers and characters when using the assignment operator (=).
Check the data type of the variable before assigning a value.
Use conditional statements to perform different actions based on the data type.
For integers, assign the value directly. For characters, convert the character to its ASCII value and assign it.
Sort an array by moving all zeroes to the end.
Iterate through the array and move all non-zero elements to the front.
Count the number of zeroes encountered and append them at the end of the array.
Use two pointers to swap elements and maintain the order.
The number of VTables created in a class hierarchy depends on the number of virtual functions and the number of derived classes.
VTables are used in object-oriented programming languages to implement dynamic dispatch.
Each class with at least one virtual function has its own VTable.
Derived classes inherit the VTable of their base class and add their own entries for any additional virtual functions.
The total number of VTa...
List is preferred when frequent insertion and deletion is required. Vector is preferred when random access is required.
List is implemented as a doubly-linked list, allowing for efficient insertion and deletion at any position.
Vector is implemented as a dynamic array, allowing for efficient random access.
Use List when the number of elements is expected to change frequently and the order of elements matters less.
Use Vect...
The given string needs to be reversed and the words need to be rearranged.
Split the string into an array of words
Reverse the array
Join the array elements with a space in between
Design a parking lot with Logic Flow Diagram, E-R diagram, DB tables with relations, and commands for transactions.
Identify the types of vehicles that will use the parking lot
Determine the number of parking spaces needed for each vehicle type
Create a flow diagram to show the process of entering and exiting the parking lot
Design an E-R diagram to show the relationships between entities such as vehicles, parking spaces, ...
To find min and max of an array in one traversal, initialize min and max to first element and compare with rest.
Initialize min and max to first element of array
Traverse the array and compare each element with min and max
Update min and max accordingly
Return min and max
Given a chessboard, find the maximum number of squares present.
Start with the smallest square and count all possible squares
Use the formula n*(n+1)*(2n+1)/6 to find the total number of squares in an n x n chessboard
Add up the squares of all sizes from 1 to n to get the maximum number of squares
For example, an 8 x 8 chessboard has 204 squares
C++ is a high-level programming language used for developing system software, application software, device drivers, and video games.
C++ was developed by Bjarne Stroustrup in 1983.
It is an extension of the C programming language.
C++ supports object-oriented programming, generic programming, and low-level memory manipulation.
It is used in developing operating systems, browsers, databases, and more.
Examples of popular sof...
Deep copy creates a new object with a new memory address, while shallow copy creates a new reference to the same memory address.
Deep copy duplicates the object and all its nested objects, while shallow copy only duplicates the top-level object.
Deep copy is slower and more memory-intensive than shallow copy.
Shallow copy can lead to unexpected behavior if the original object is modified.
In Python, deep copy can be achiev...
Preinitialization is the process of initializing data or objects before they are actually needed.
Preinitialization can improve performance by reducing the time needed to initialize data or objects when they are actually needed.
It can also help to avoid delays or interruptions during runtime.
Examples of preinitialization include preloading data into memory, initializing objects in advance, and caching frequently used da
Polymorphism can be achieved through method overloading, method overriding, and interfaces. Multiple inheritance can be solved using interfaces.
Method overloading allows multiple methods with the same name but different parameters
Method overriding allows a subclass to provide its own implementation of a method already defined in its superclass
Interfaces provide a way to achieve multiple inheritance by allowing a class ...
WAP to generate a matrix from a given tree.
Create a 2D array to store the matrix
Traverse the tree and fill the matrix accordingly
Use BFS or DFS to traverse the tree
The matrix will be symmetric along the diagonal
Primary key is a column or set of columns that uniquely identifies each row in a table. Unique key is a constraint that ensures uniqueness of values in a column or set of columns.
Primary key is used to enforce data integrity and ensure that each row in a table can be uniquely identified.
Unique key is used to ensure that no two rows in a table have the same values in a column or set of columns.
Primary key can be a singl...
Yes, a unique key can be a primary key.
A primary key is a unique identifier for a record in a table.
A unique key is a constraint that ensures the values in a column are unique.
A unique key can be used as a primary key if it meets the requirements.
A primary key cannot have NULL values, while a unique key can have one NULL value.
Foreign key is a column in a table that refers to the primary key of another table.
It establishes a relationship between two tables.
It ensures referential integrity.
It can be null, but only if it is defined as nullable.
It helps in joining tables.
Example: Customer table has a foreign key to the Order table's primary key.
Example: Order table's foreign key can be null if the order has not been placed by any customer yet.
Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity.
Normalization involves breaking down a database into smaller, more manageable tables.
It helps to eliminate data redundancy and inconsistencies.
Normalization ensures that each table has a primary key and that data is stored in a logical and consistent manner.
It improves data integrity and reduces the likelihood ...
Normalized form is better for data consistency and scalability.
Normalized form reduces data redundancy and ensures data consistency.
Normalized form allows for easier scalability and maintenance.
Single table/2 tables may be appropriate for small, simple datasets.
Normalized form may require more complex queries to retrieve data.
Normalized form may require more storage space due to additional tables.
Example: Normalized fo...
Create a database for Indian Premier League (IPL)
Identify entities like teams, players, matches, venues, etc.
Create tables for each entity with relevant attributes
Establish relationships between tables using foreign keys
Add constraints like unique, not null, default values, etc.
Populate tables with data from reliable sources
Query to find player with maximum runs in a match on given date and venue
Use MAX() function to find maximum runs
Join tables for player name, match details and runs scored
Filter by given date and venue
Order by runs scored and limit to 1 result
based on 2 interviews
Interview experience
Software Engineer
29
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
28
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
16
salaries
| ₹0 L/yr - ₹0 L/yr |
QA Engineer
16
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer2
9
salaries
| ₹0 L/yr - ₹0 L/yr |
Zapier
Mulesoft
Talend Data Integration Services
Boomi