Application Shortlisting
Process: Josh Technologyâs recruitment team reviews submitted applications to shortlist candidates based on academic performance, resume, and relevant project experience.
Purpose: To identify candidates who meet the eligibility criteria and possess the desired skills for the software developer role.
Online MCQ and Coding Test
Process: Shortlisted candidates undergo an online test that includes multiple-choice questions (MCQs) and coding problems.
Purpose: To evaluate candidates' understanding of programming concepts, data structures, algorithms, and coding skills.
Sample Questions:
- MCQs
- What is the time complexity of a binary search algorithm?
- Explain the difference between a stack and a queue.
- Which Java collection class is synchronized?
- Coding Problems
- Write a program to find the longest palindromic substring in a given string.
- Implement a function to detect a cycle in a linked list.
- Solve a problem involving sorting an array of integers using merge sort.
Technical Interview (First Round - Medium Difficulty)
Process: Candidates who clear the online test proceed to the first technical interview with a member of the Josh Technology engineering team.
Purpose: To assess candidates' technical proficiency and problem-solving skills, with a focus on data structures and algorithms (DSA).
Sample Questions:
- Explain how a hash table works and discuss its time complexities for various operations.
- Solve a problem involving binary tree traversal (in-order, pre-order, post-order).
- Write a function to find the intersection point of two singly linked lists.
- Discuss your experience with dynamic programming and solve a related problem, such as the 0/1 knapsack problem.
Technical Interview (Second Round - Medium Difficulty)
Process: Candidates who pass the first technical interview undergo a second technical interview with another member of the engineering team.
Purpose: To further evaluate candidates' technical capabilities and depth of understanding of data structures and algorithms.
Sample Questions:
- Design an algorithm to find the shortest path in an unweighted graph using BFS.
- Implement a balanced binary search tree and explain how it maintains balance.
- Solve a problem involving array manipulation, such as finding the maximum subarray sum using Kadaneâs algorithm.
- Explain how you would optimize a solution to a given problem and discuss trade-offs.