Accolite Digital | SDE Interview | Accepted | 2022
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)
Tell Me About Yourself
Introduce yourself and provide a brief overview of your background, experience, and career aspirations.
Research Work Discussion
Discuss any research work you have conducted, including its objectives, methodologies, and outcomes.
Favorite Data Structure
Identify your favorite data structure and explain why, providing examples of its use cases.
Binary Tree Inorder Traversal
Binary Tree Zigzag Level Order Traversal
Given the root of a binary tree, return the zigzag level order traversal of its nodes' values. (i.e., from left to right, then right to left for the next level and alternate between).
Reverse Linked List
Given the head of a singly linked list, reverse the list, and return the reversed list.
Reverse Nodes in k-Group
Given the head of a linked list, reverse the nodes of the list k at a time, and return the modified list.
Word Search
Given an m x n grid of characters board and a string word, return true if word exists in the grid.
Recursion vs. Iteration Advantages
Discuss the advantages of using recursion compared to iteration for solving problems.
Programming Languages Experience
Enumerate the programming languages you have experience with and briefly describe your proficiency in each.
Multithreading in Java
Explain the concept of multithreading in Java, its benefits, and how it is implemented.
Website Performance Troubleshooting
Diagnose potential reasons for a slow website and propose a systematic approach to troubleshoot and resolve the performance issues.
Troubleshooting Java Memory Issues
Describe methods and tools for identifying and resolving memory-related problems in Java applications.
SQL Joins (Outer and Inner)
Explain the concepts of inner join and outer join in SQL, providing examples of when each would be used.
Coin Change
You are given an integer array coins representing coins of different denominations and an integer amount representing a total amount of money. Return the fewest number of coins that you need to make up that amount.
First Unique Character in a String (Multiple Approaches)
Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1. Be prepared to discuss multiple approaches to solve this problem.
Climbing Stairs
You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Burn the Binary Tree Starting From Target Node
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.
Why Accolite and Role Fit
Explain your motivation for joining Accolite and how your skills and experience align with the requirements of the role.
Strengths and Weaknesses
Discuss your key professional strengths and areas where you are working to improve, providing concrete examples.
Project Discussion
Describe your significant projects, detailing your role, the technologies used, challenges faced, and outcomes.
Time Management
Explain your strategies and techniques for effective time management and prioritization.