Coditas interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Coditas
upvote
share-icon
2 rounds | 7 Coding problems

Interview preparation journey

expand-icon
Journey
I am an Information and Communication student passionate about technology and programming. I have spent countless hours studying, practicing coding, and working on personal projects to enhance my skills. In my final year of college, I started applying for IT jobs at various companies. I quickly realized that getting a job in the highly competitive IT industry would not be easy. I faced rejections and struggled to stand out among the many other applicants. However, I did not give up and continued to work hard and improve my skills. I received an interview invitation from our college regarding Coditas Solutions LLP on-campus hiring. I spent days researching the company, practicing interview skills, and preparing for potential questions. During the interview, I was able to showcase my strong technical skills and ability to think critically and problem-solve. I also emphasized my passion for technology and willingness to continuously learn and improve. The interviewer was impressed with my skills and enthusiasm and offered me a position at the company. I believe my hard work and dedication have paid off. I believe that with the right mindset and skills, anyone can succeed in this highly competitive field.
Application story
Applying for the Drive: I applied through my college's placement cell once the company announced the on-campus drive. I submitted my resume and any other required documents. Pre-Placement Talk: The company conducted a pre-placement talk where they provided an overview of their company, products, and services. This was a great opportunity to learn more about the company and ask any questions I had. Aptitude Test: The company then conducted an aptitude test to assess my logical, quantitative, and reasoning skills. Technical Interview + HR: I cleared the aptitude test and was called for a technical interview.
Why selected/rejected for the role?
Here are some possible reasons why I may be selected for this role: Technical Skills: Strong technical skills are often essential for IT roles. I have relevant technical skills and experience in the required programming languages, tools, and frameworks. Soft Skills: Soft skills such as communication, problem-solving, teamwork, and adaptability are also essential.
Preparation
Duration: 6 months
Topics: Programming Languages: To work in the IT industry, you should be proficient in at least one programming language such as Java, Python, C++, or JavaScript,Data Structures and Algorithms: This is a crucial topic for IT job interviews. You should be familiar with common data structures such as arrays, linked lists, and trees, as well as algorithms such as sorting and searching,Operating Systems: An understanding of how operating systems work is essential for many IT jobs. You should be familiar with concepts such as memory management, process management, and file systems,Networking: Knowledge of computer networking is important for IT jobs that involve developing and maintaining the network infrastructure. You should be familiar with concepts such as TCP/IP, routing, and switching,Databases: Many IT jobs require a strong understanding of databases and SQL. You should be comfortable working with relational databases, understanding data modeling, and using SQL to query data.
Tip
Tip

Tip 1: Research the Company: Research the company thoroughly before your interview. Understand their business, products, and services. This will help you understand their needs and align your skills and experiences with their requirements.

Tip 2: Practice Coding: Practicing coding problems is a great way to prepare for IT job interviews. Many online resources are available where you can find coding challenges and practice problems. This will help you improve your coding skills and prepare for technical interviews.

Tip 3: Review Your Resume: Make sure your resume is up to date and highlights your relevant experiences and skills.

Application process
Where: Campus
Eligibility: No active backlogs
Resume Tip
Resume tip

Tip 1: Tailor Your Resume: Tailor your resume to the job you are applying for. Highlight the skills and experiences that are most relevant to the position.

Tip 2: Showcase Projects: Showcase any relevant projects you have worked on. This will give the recruiter an idea of your practical skills and how you have applied your knowledge in real-world scenarios.

Tip 3: Highlight Technical Skills: Highlight your technical skills and experience in the field. List the programming languages, frameworks, and tools you are proficient in.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration90 mins
Interview date16 Oct 2022
Coding problem3

Timing: The round was conducted for 90 minutes.

Environment: As it was an online round, the environment would depend on the individual candidates. However, I recommended taking the test in a quiet and distraction-free environment with a stable internet connection.

Coding Questions: The coding round had two questions, which I had to solve within the given time frame. The questions were based on any programming language, and I was expected to write efficient code that could pass all the test cases.

Aptitude MCQ: Along with the coding questions, the round also included multiple-choice questions (MCQs) on aptitude. These questions covered a wide range of topics such as quantitative aptitude, logical reasoning, verbal ability, and data interpretation.

1. Check Permutation

Easy
15m average time
85% success
0/40
Asked in companies
OptumGrabUber

You have been given two strings 'STR1' and 'STR2'. You have to check whether the two strings are anagram to each other or not.

Note:
Two strings are said to be anagram if they contain the same characters, irrespective of the order of the characters.
Example :
If 'STR1' = “listen” and 'STR2' = “silent” then the output will be 1.

Both the strings contain the same set of characters.
Problem approach

Convert both strings to lowercase or uppercase to ensure case insensitivity. Remove all whitespace and punctuation marks from both strings using regular expressions. Convert both strings to arrays of characters. Sort both arrays of characters in ascending order. Compare both arrays of characters. If they are equal, the original strings are anagrams of each other; otherwise, they are not.

Try solving now

2. Insertion In Doubly Linked List

Easy
15m average time
95% success
0/40
Asked in companies
QualcommAmazonMicrosoft

You are given a Doubly linked list, where every node in the linked list contains two pointers ‘next’ and ‘prev’ which point to the next node and previous node in the list respectively. All nodes have some positive integer value associated with them. Your task is to insert an integer value ‘VAL’ in the linked list at a given position ‘K’.

Note:

The position given will always be less than or equal to the length of the linked list.
Assume that the Indexing for the linked list starts from 0.
EXAMPLE:
Input :
‘K’ = 3, ‘VAL’ = 4
list = [1, 2, 3]
Output: [1, 2, 3, 4]

The ‘VAL’ = 4, is inserted at end of the above doubly linked list.
Problem approach

Create a new node with the given data.

Check if the doubly linked list is empty:
a. If it is empty, set the new node as both the head and the tail of the list.
b. If it is not empty, proceed to the next step.

Set the next pointer of the new node to the current head of the list.

Set the prev pointer of the current head, if it exists, to the new node.

Set the new node as the new head of the list.

Try solving now

3. Count Leaf Nodes

Easy
10m average time
90% success
0/40
Asked in companies
SamsungOlaSlice

You are given a Binary tree. You have to count and return the number of leaf nodes present in it.

A binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child

A node is a leaf node if both left and right child nodes of it are NULL.

Problem approach

Create a function to traverse the binary tree recursively.

If the current node is None (indicating an empty subtree), return 0.

If both the left and right child nodes of the current node are None (indicating a leaf node), return 1.

Recursively traverse the left and right subtrees of the current node.

Sum up the leaf node counts obtained from the left and right subtrees and return the total count.

Try solving now
02
Round
Medium
Video Call
Duration30 mins
Interview date20 Oct 2022
Coding problem4

Introduction: The interview started with the interviewer asking me to introduce myself briefly. I mentioned my name, education, skills, and career aspirations.

Project Discussion: The interviewer then asked me to explain one of the projects I had mentioned on my resume. I briefly described the project, its purpose, and the role I played in it. The interviewer asked me some technical questions related to the project to gauge my understanding of the technology stack I had used.

Coding Question + CS Fundamentals: The interviewer presented me with a coding question related to arrays. I was given a few minutes to think about the solution and then asked to write the code. The interviewer assessed my problem-solving approach, coding skills, and ability to write clean and efficient code. After solving the coding question, I was asked basic questions from OS, DBMS, and CN.

HR Questions: After the coding question, the interviewer asked me some basic HR questions related to my strengths, weaknesses, and how I handle challenging situations at work. The questions were aimed at understanding my personality, communication skills, and how I would fit into the company culture.

Overall, the interview was a mix of technical and HR questions. The technical questions assessed my knowledge and skills in the relevant technologies, while the HR questions aimed to understand my personality and work ethic. The interviewer was friendly and supportive throughout the interview, and I felt comfortable discussing my experiences and answering the questions.

1. Invert a Binary Tree

Moderate
45m average time
55% success
0/80
Asked in companies
AppleSamsungFreshworks

You are provided with a Binary Tree and one of its leaf nodes. You have to invert this binary tree. Inversion must be done by following all the below guidelines:

• The given leaf node becomes the root after the inversion.

• For a node (say, ‘x’) 
    ○ If there exists the left child that is not yet taken then this child must become the right child of ‘x’.
    ○ If the left child is already taken then the right child is still on the right side of ‘x’.

• The parent of ‘x’ must be the left child of ‘x’.

For Example:

Example-img01
Example-img02

Consider the above binary tree (image- before inversion), if the given leaf node is ‘1’ then the binary tree after inversion becomes exactly the same as given in the image representing after inversion.

Note:

The given binary tree will only have distinct values of nodes.

Problem approach

Create a function to invert the binary tree recursively.

If the current node is None (indicating an empty subtree), return None.

Swap the left and right child nodes of the current node.

Recursively invert the left and right subtrees of the current node.

Return the updated current node.

Try solving now

2. Validate Binary Tree Nodes

Moderate
15m average time
85% success
0/80
Asked in companies
FacebookMakeMyTripIntuit

You are given ‘N’ binary tree nodes numbered from 0 to N - 1 where node ‘i’ has two children LEFT_CHILD[i] and RIGHT_CODE[i]. Return ‘True’ if and only if all the given nodes form exactly one valid binary tree. If node ‘i’ has no left child then 'LEFT_CHILD[i]' will equal -1, similarly for the right child.

Example:

Let’s say we have n=4 nodes, 'LEFT_CHILD' = {1, -1, 3, -1} and 
RIGHT_CHILD = {2, -1, -1, -1}. So the resulting tree will look like this:

It will return True as there is only one valid binary tree and each node has only one parent and there is only one root.
Problem approach

Create a function to validate the binary tree recursively.

Define a helper function that takes the current node, a lower bound, and an upper bound as parameters. This function will recursively validate each node's value against the bounds.

If the current node is None (indicating an empty subtree), return True as the empty subtree is considered valid.

If the current node's value is outside the lower or upper bounds, return False as it violates the BST property.

Recursively validate the left subtree, passing the updated upper bound as the current node's value and the lower bound unchanged.

Recursively validate the right subtree, passing the updated lower bound as the current node's value and the upper bound unchanged.

If both the left and right subtrees are valid (i.e., return True for both recursive calls), return True for the current node.

Try solving now

3. OS Question

Implement a program that simulates the process synchronization mechanism using semaphores. Consider a scenario where multiple threads need to access a shared resource simultaneously, but only a limited number of threads should be allowed access at a time. (Learn)

Problem approach

Initialize a semaphore variable, semaphore, with the maximum number of threads that can access the shared resource simultaneously.

When a thread wants to access the shared resource, it must acquire the semaphore. If the semaphore value is greater than 0, decrement the semaphore value by 1 and allow the thread to access the resource. If the semaphore value is 0, the thread must wait until it can acquire the semaphore. When a thread finishes accessing the shared resource, it must release the semaphore by incrementing the semaphore value by 1 to allow another waiting thread to acquire the resource.

4. DBMS Question

Optimize a database query to improve its performance and efficiency. Consider a scenario where a complex query takes a significant amount of time to execute, and you want to optimize it.

Problem approach

Analyze the query execution plan:

  • Check if the query is utilizing appropriate indexes on the relevant columns.
  • Identify any full table scans or inefficient join operations that can be optimized.

Review the query conditions and filters:

  • Ensure that the query conditions are selective enough to reduce the number of rows being processed.
  • Consider adding additional indexes on the columns used in the query conditions to improve filtering.

Optimize table join operations:

  • Check if the join conditions can be simplified or rewritten to reduce the number of comparisons.
  • Determine if using a different join algorithm (e.g., hash join or nested loop join) can improve performance.

Consider query rewriting or subquery optimization:

  • Evaluate if rewriting the query using alternative constructs can improve performance.
  • Identify any subqueries within the main query and optimize them individually.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by OYO
4657 views
0 comments
0 upvotes
SDE - 1
4 rounds | 4 problems
Interviewed by Coditas
2931 views
0 comments
0 upvotes
Associate Software Engineer
4 rounds | 8 problems
Interviewed by Coditas
1557 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
3452 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
2 rounds | 3 problems
Interviewed by BNY Mellon
6261 views
3 comments
0 upvotes
company logo
SDE - 1
3 rounds | 6 problems
Interviewed by BNY Mellon
0 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 5 problems
Interviewed by CIS - Cyber Infrastructure
2159 views
0 comments
0 upvotes