Accolite x Bounteous Interview Experience | Software Engineer (Bangalore) | 2.5+ Years Experience
Software EngineerInterview Experience: bounteous x Accolite
Software EngineerAccolite Digital || Software Engineer || January 2023 || Women In Tech || Off Campus || Selected
Software EngineerAccolite Digital | SDE Interview | Accepted | 2022
SDE IAccolite Digital | Intern+FTE | Hyderabad | July 2021 [Offer]
software engineer (intern+fte)Summary
I recently interviewed with Accolite for a Software Engineer position in Bangalore. The process consisted of an online coding assessment, a technical interview focused on Java 8, a detailed techno-managerial discussion, and a final HR round, culminating in a successful job offer.
Full Experience
My interview journey with Accolite for a Software Engineer role in Bangalore, with 2.5+ years of experience, was a comprehensive process culminating in an offer.
Round 1: Coding Test (Online Assessment)
This round was conducted on Accolite's internal assessment platform. Frankly, the platform was quite laggy and not very user-friendly, which made the experience a bit frustrating. The main coding question was similar to finding the Lowest Common Ancestor (LCA) in a Binary Search Tree (BST). The challenge wasn't just solving the problem; I also had to write JUnit test cases for my code. Due to the interface's slowness, a significant portion of my time was spent managing the platform rather than optimizing my solution. There were also some MCQs, but I could only attempt a few because of time constraints.
Round 2: Technical Interview
This round primarily delved into Java 8 and advanced Java concepts. The interviewer presented a coding problem and specifically asked me to solve it using modern Java 8 features like Streams, Lambdas, and Optionals. The problem itself wasn't overly complex, but the focus was entirely on my ability to effectively apply these modern Java constructs. Beyond the coding, we also discussed Multithreading and foundational Spring Boot concepts.
Round 3: Techno-Managerial Interview (Approx. 1.5 Hours)
This was the most in-depth round of the entire process, and it was here that I learned the position was ultimately for Goldman Sachs as the client. The round was split into two halves.
First Half (Technical):
We had a deep dive into various technologies including Spring Boot, Microservices architecture, REST APIs, API Gateways, the deployment process, and CI/CD pipelines. The questions were scenario-based, designed to test my approach to real-world challenges such as handling service failures, ensuring scalability, and managing versioning effectively.
Second Half (Managerial):
The discussion then shifted to a detailed exploration of my current project. I talked about my specific roles and responsibilities, highlighting the key features I had delivered. I was asked about story points assigned in my last sprint and my track record of on-time delivery. The interviewer's focus was clearly on my accountability, communication skills, and ownership of my work.
Round 4: HR Discussion (Approx. 30 Minutes)
This final round was very calm and straightforward. We covered standard HR topics like my salary expectations, family background, and preferred work mode. We also discussed benefits and allowances, and I made sure to clarify details regarding any joining bonus, relocation allowance, and temporary stay/accommodation support.
Interview Questions (2)
During the online coding assessment, I encountered a question similar to finding the Lowest Common Ancestor (LCA) in a Binary Search Tree (BST). A key requirement was to also write JUnit test cases for my solution.
In the techno-managerial round, we had a deep dive into advanced technical topics including Spring Boot, Microservices, REST APIs, API Gateway, deployment processes, and CI/CD pipelines. The questions were scenario-based, challenging me to describe my approach to real-world issues like handling service failures, ensuring scalability, and managing versioning.
Preparation Tips
My preparation focused on several key areas. For the coding assessment, I made sure to practice easy to easy-medium level DSA questions and familiarize myself with writing JUnit test cases, which proved very important. For the technical interviews, I extensively revised Java 8 features, particularly Streams API, Functional Interfaces, and Collectors, along with core Spring Boot annotations. I also ensured I had a strong, in-depth understanding of my current project's architecture, deployment flow, and my specific contributions, as this was heavily probed in the techno-managerial round. Additionally, I prepared to justify my salary expectations with clear reasons based on my technical expertise and project ownership.
Summary
I recently interviewed for a Software Engineer position at Accolite through an on-campus drive. The process included an online assessment with MCQs and a DSA problem, followed by an online interview where I discussed a LeetCode problem and various CS fundamentals. Although more rounds were scheduled, I decided to withdraw my candidacy due to a company bond associated with the offer.
Full Experience
My interview journey with Accolite for a Software Engineer role began with an online assessment. This assessment was split into two sections. The first section comprised 30 multiple-choice questions, which tested my knowledge in code debugging, output analysis, data structures and algorithms, SQL queries, and concepts in Java and C++. Notably, there were no questions on core computer science fundamentals in this section.
The second section presented a single Data Structures and Algorithms problem, for which I had 45 minutes to solve. The problem involved an ant moving on the x-axis, starting from the origin (0) and needing to reach a target position 'x'. The ant could move 'a' units forward or 'b' units backward, with the constraint of not going behind position 0. The objective was to find the minimum steps to reach 'x', and a hint suggested using a Breadth-First Search (BFS) approach.
Following the online assessment, I proceeded to the online interview round. The interviewer started by asking me to introduce myself, then quickly moved on to technical questions. I was asked to solve LeetCode problem #6, 'ZigZag Conversion'.
Beyond the DSA problem, the interviewer delved into several Computer Science fundamentals. We discussed the concepts of deadlock and starvation, along with various deadlock avoidance methods. I had to differentiate between processes and threads, and explain multiprogramming and page faults. Database concepts were also covered, specifically normalization (1NF, 2NF, 3NF), and I described network topologies and their types. Lastly, I clarified the distinctions between deep copy and shallow copy, and explained the use of a copy constructor.
Initially, two more technical rounds and an HR round were planned. However, I decided not to participate in the subsequent rounds as I was not comfortable with the two-year company bond clause associated with the offer.
Interview Questions (10)
An ant is traveling in a forest represented as the x-axis. Starting from the origin (position = 0), the ant must reach a target position x. With each step, the ant can move either ‘a’ units forward or ‘b’ units backward. The ant cannot move behind position 0, but it can go beyond position x if necessary to eventually reach x in a finite number of steps. The task is to find the minimum number of steps required for the ant to reach position x from the origin.
Hint: Consider using a Breadth-First Search (BFS) approach.
Explained the concepts of Deadlock and Starvation.
Deadlock avoidance methods.
Differentiate between Processes and Threads.
Multiprogramming and Page Faults.
Normalization in databases, including 1NF, 2NF, and 3NF.
Explain Network topologies and their types.
What is Deep copy and Shallow copy?
Describe the use of a Copy constructor.
Summary
I successfully navigated five rounds of interviews with Accolite Digital for a Software Engineer role in January 2023, ultimately receiving an offer. The process included an MCQ+Coding round, three technical interviews covering DSA, Java, DBMS, OS, Networking, and Git, followed by an HR discussion.
Full Experience
My interview journey with Accolite Digital began in January 2023 for a Software Engineer position through an off-campus drive. I was selected after successfully completing five rounds.
My first round was an MCQ and coding test on Accolite's Eduthrill platform, lasting 90 minutes with camera and web proctoring. It featured over 30 MCQs on topics like Java, DBMS, Networking, OS, and DSA, along with one coding question. After 2-3 days, I received a call for an interview.
My first technical interview followed. After a brief introduction, the interviewer immediately delved into technical questions. These included printing prime numbers from 1 to 20, checking if a given string is a palindrome, removing duplicates from an array, discussing Git commands, SQL joins and their types, deadlocks and how to avoid them, and fundamental data structures like recursion, arrays, stacks, and queues. We also discussed my projects. This round lasted about 30 minutes.
Later that same day, I moved on to the second technical interview. The interviewer was very friendly and made me comfortable, starting by asking about my city before my introduction. Questions covered finding missing numbers in a sorted array, determining the longest consecutive sequence in an unsorted array, reversing a linked list, explaining SQL clauses (WHERE, HAVING, GROUP BY) and writing some MySQL queries, the working principles and differences between NoSQL and SQL databases, and the distinctions between IPv4 and IPv6. My projects were discussed again. This round was about an hour long.
The next day, I had my third technical interview. After my introduction, we discussed the working mechanisms and complexities of Merge Sort and Quick Sort. I was asked to find the power of a given number using the Divide and Conquer approach without using an inbuilt function, and to explain Aggregation and Composition in Java. I also had to write some more MySQL queries. This round also lasted about an hour.
Finally, the HR round took place the following day. The HR representative introduced herself, I introduced myself, and she provided detailed information about the company. She asked me some questions and discussed various aspects like working locations, salary breakdown, and the work environment. I was presented with two offer choices: an Internship + FTE Offer or a direct FTE Offer, with the location choice being mine. This round was about 45 minutes.
Overall, my experience was very positive. The interviewers were friendly and supportive whenever I got stuck. All questions ranged from Easy to Medium difficulty. I recommend practicing extensively on platforms like LeetCode and GeeksforGeeks.
Interview Questions (17)
Write a program to print all prime numbers between 1 and 20, including both 1 and 20.
Given a string, determine if it is a palindrome.
Given an array, remove duplicate elements from it.
Discuss various common Git commands and their usage.
Explain what SQL joins are and describe different types of joins (e.g., INNER, LEFT, RIGHT, FULL).
Explain what a deadlock is in an operating system context and discuss methods to prevent or avoid deadlocks.
Explain the concepts of recursion, arrays, stacks, and queues.
Discuss the details, technologies, and challenges of your past projects.
Given a sorted array of integers, identify and print all the missing numbers within a certain range or sequence.
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. The algorithm should run in O(n) time.
Reverse a singly linked list.
Explain the usage of WHERE, HAVING, and GROUP BY clauses in SQL, and write some corresponding MySQL queries.
Explain the fundamental differences between SQL (Relational) and NoSQL databases, including their working principles and use cases.
Discuss the key differences between IPv4 and IPv6, including address format, address space, and features.
Discuss the working mechanism, time complexity, and space complexity of Merge Sort and Quick Sort algorithms.
Implement a function to calculate x raised to the power of n using the Divide and Conquer approach, without using any built-in power functions.
Explain the concepts of Aggregation and Composition in Java object-oriented programming, including their differences and use cases.
Preparation Tips
I highly recommend practicing as much as possible on platforms like LeetCode and GeeksforGeeks. Before writing any code, always think about your approach and explain it thoroughly to the interviewer. Once the approach is approved, make sure to write clean, understandable code using descriptive variable names. It's also beneficial to research the company's website to know more about them. During the interview, maintain composure and confidence, treating it more as a discussion rather than a stressful evaluation. Always prepare unique and interesting questions to ask the interviewers at the end.
Summary
I interviewed for a Software Development Engineer role at Accolite Digital in 2022 and successfully received an offer. The process involved an online assessment, two technical interview rounds, and a final HR discussion.
Full Experience
My interview journey with Accolite Digital for the Software Development Engineer role began with an initial online assessment. This test had two main sections: MCQs and a coding challenge. The MCQ section consisted of multiple quizzes, each with five questions. I needed to complete a minimum of 20 quizzes and maintain a success rate of at least 60%.
The coding section was an hour-long challenge, requiring me to solve one programming question which typically involved concepts from Graphs and Dynamic Programming.
First Interview Round
This round was focused on my background and data structures. The interviewer started with:
- "Tell me about yourself."
- "Tell me about your Research Work."
- "What is your favorite data structure?"
Following these behavioral and conceptual questions, we moved on to coding problems, many of which were directly from LeetCode:
- Print a tree in increasing order (Binary Tree Inorder Traversal)
- Spiral Order Traversal of a Tree (Binary Tree Zigzag Level Order Traversal)
- Reverse Linked List
- Reverse nodes in k group in Linked List
- Word Search
The interviewer also asked about fundamental concepts like, "What is the advantage of Recursion over Iteration?"
Second Interview Round
The second technical round delved deeper into my technical skills and problem-solving abilities. It started with general discussions like:
- "Tell me the Languages you have worked on."
- "What is multithreading in Java?"
We then moved to system-level thinking and troubleshooting:
- "We have a website, and it is slowing down? What could be the possible reason for that? How can you troubleshoot this problem? Give me a proper way of solving it."
- "How to troubleshoot memory issues in Java?"
- Questions on SQL, specifically "What is outer join?" and "What is inner join?"
This round also included more LeetCode-style problems:
- Coin Change
- First Unique Character in a String (an easy question, but I was asked to discuss 5 different approaches)
- Climbing Stairs
- Burn the Binary Tree Starting From Target Node
HR Round
The final round was with HR. It was a pleasant discussion that covered typical HR questions:
- "Tell me about myself."
- "Why Accolite and how do you fit into the role?"
- "What are your strengths and weaknesses?"
- "Tell me about your projects."
- "How do you manage your time?"
During this round, the interviewer described the company and then immediately informed me that I was selected and would receive an offer letter. It was a great outcome!
Interview Questions (22)
Introduce yourself and provide a brief overview of your background, experience, and career aspirations.
Discuss any research work you have conducted, including its objectives, methodologies, and outcomes.
Identify your favorite data structure and explain why, providing examples of its use cases.
Discuss the advantages of using recursion compared to iteration for solving problems.
Enumerate the programming languages you have experience with and briefly describe your proficiency in each.
Explain the concept of multithreading in Java, its benefits, and how it is implemented.
Diagnose potential reasons for a slow website and propose a systematic approach to troubleshoot and resolve the performance issues.
Describe methods and tools for identifying and resolving memory-related problems in Java applications.
Explain the concepts of inner join and outer join in SQL, providing examples of when each would be used.
Given the root of a binary tree and a target node, simulate burning the tree starting from the target. The fire spreads to adjacent nodes (parent, left child, right child) in one minute. Determine the minimum time required to burn the entire tree.
Explain your motivation for joining Accolite and how your skills and experience align with the requirements of the role.
Discuss your key professional strengths and areas where you are working to improve, providing concrete examples.
Describe your significant projects, detailing your role, the technologies used, challenges faced, and outcomes.
Explain your strategies and techniques for effective time management and prioritization.
Summary
I successfully interviewed with Accolite Digital for a Software Engineer Intern+FTE role in July 2021, progressing through five rigorous rounds that included MCQs, coding challenges, two technical deep-dives, and an HR discussion, ultimately leading to an offer.
Full Experience
My interview journey with Accolite Digital for the Software Engineer (Intern+FTE) role began on July 9th, 2021, and concluded with an offer on July 14th, 2021. The entire process consisted of five elimination rounds, each testing different aspects of my technical and behavioral skills. I was an undergraduate B.Tech Computer Science student at the time.
Round 1: Online Assessment (MCQ) - 09 July 2021
This round was conducted on Accolite's Eduthrill platform and comprised 30 multiple-choice questions to be solved within 30 minutes. The questions spanned a wide range of topics including Data Structures and Algorithms, Operating Systems, Object-Oriented Programming, Database Management Systems, Networking, Quantitative Aptitude, and Reasoning. The difficulty level was medium, and a minimum accuracy of 60% was required to qualify. I successfully cleared this round and received an email for the next stage shortly after.
Round 2: Online Coding - 09 July 2021
The second round was a coding challenge hosted on Accolite's Codelyzer platform. I had 1 hour to solve one coding question. The problem involved minimizing operations to transform an array of zeros into a target array using increment and doubling operations. To qualify, an 80% accuracy was needed. I passed this round and received the invitation for the technical interviews the following day.
Technical Interview 1 - 12 July 2021
This was a technical round held on Google Meet, lasting about 1 hour and 15 minutes. After introductions, the interviewer engaged in a normal conversation before diving into technical topics. They asked me about fundamental Object-Oriented Programming concepts like Encapsulation, and the distinction between Method Overloading and Method Overriding, as well as Inheritance. I also had to explain algorithms and various approaches to develop them. We then moved on to coding problems: determining if a given number is an Armstrong number, and printing numbers with odd occurrences in their original order. Database concepts were also covered, specifically Normalization, and I was asked to write an SQL query to calculate the average student marks per age, ordered by decreasing age. The round concluded with an opportunity for me to ask questions. I was informed of my selection for the next round within 30 minutes.
Technical Interview 2 - 12 July 2021
Also conducted on Google Meet, this round extended to about 1 hour and 30 minutes. After introductions, the interviewer focused on my major project, asking detailed questions. Following that, we discussed database concepts like ER-Models and different types of SQL JOINs. I was given a coding problem to remove duplicates from a given string. We also discussed and I was asked to explain and implement Kruskal's Minimum Spanning Tree Algorithm. Finally, a classic puzzle was posed: how to measure 4 litres of water using only 3-litre and 5-litre jugs. This round also ended with my chance to ask questions, and I was selected for the final HR round almost immediately.
HR Round - 13 July 2021
The final round was a 30-minute HR interview on Google Meet. It began with my self-introduction, followed by questions about my hobbies, family background, greatest successes and failures, and my 5-year career aspirations. I was also asked the classic "Why should we hire you?" question. The interviewer then spent some time discussing the company. I was given the opportunity to ask questions at the end.
All interviewers throughout the process were very friendly and made the interviews interactive. Two days after the HR round, I received my offer letter.
Interview Questions (18)
Consider an array with n elements and value of all the elements is zero. We can perform following operations on the array:
1. Incremental operations: Choose 1 element from the array and increment its value by 1.
2. Doubling operation: Double the values of all the elements of array.
Input: target[] = {2, 3}
Output: 4
To get the target array from {0, 0}, we first increment both elements by 1 (2 operations), then double the array (1 operation). Finally increment second element (1 more operation).
The interviewer asked me to explain the concept of Encapsulation in Object-Oriented Programming.
I was asked to differentiate between Method Overloading and Method Overriding, providing examples.
The interviewer asked me to explain the concept of Inheritance in Object-Oriented Programming.
The interviewer asked me to explain what an algorithm is and various approaches to develop algorithms.
Given a number x, determine whether the given number is an Armstrong number or not.
Input : 153
Output : Yes
111 + 555 + 333 = 153
Input : 120
Output : No
111 + 222 + 000 = 9
You need to print Odd Occurrence of the number in order of their occurrence. Counting of number is regardless of magnitude.
testcase 1
n = 15
Array = { 10, 0, 1, -1, 10, 7, -8, 9, -7, 2, 9, 3, 8, 8, -9 }
output = 0 -8 9 2 3
testcase 2
n = 17
Array = { 2, -12, 0, 12, 1, 8, 10, -2, 19, 7, 7, -7, -19, 5, 2, 0, 12}
output = 2 -12 1 8 10 7 5
I was asked to explain the concept of Normalization in databases.
Write an query to print Avg of student marks per age (e.g., 23, 24, 19) with decreasing age, for a table named STUDENT with columns Sr No., MARKS, Roll No, Age, Name.
Expected Output Format:
| Age | Avg. Marks |
| 24 | 67.8 |
| 23 | 65 |
The interviewer asked me about the Entity-Relationship (ER) Model.
I was asked to explain SQL JOINs and their different types (e.g., INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN).
Given a string S, the task is to remove all the duplicate characters in the given string.
input = "Leetcode"
output = "Letcod"
input = "LaBabAlce"
output = "LaBce"
I was asked to explain the Kruskal's Minimum Spanning Tree Algorithm and describe its implementation details.
The interviewer presented a puzzle: I have a 3-litre jug and a 5-litre jug, and I need to measure out exactly 4 litres of water using only these two jugs and an unlimited water source.
I was asked to introduce myself, including details about my hobbies and family background.
The interviewer asked me to share examples of my greatest successes and greatest failures, and what I learned from them.
I was asked about my career aspirations and where I envision myself in the next five years.
The interviewer asked why they should consider hiring me for the role.