Application Review Process: Josh Technology's recruitment team evaluates submitted applications, considering academic performance, resumes, and relevant project experiences to shortlist candidates.
Online Assessment
Process: Shortlisted candidates are required to take an online assessment comprising multiple-choice questions (MCQs) and coding tasks.
Sample Questions:
- MCQs:
- Determine the time complexity of a binary search algorithm.
- Distinguish between a stack and a queue.
- Identify which Java collection class is synchronized.
- Coding Tasks:
- Create a program to identify the longest palindromic substring in a provided string.
- Write a function to detect a cycle within a linked list.
- Sort an array of integers using the merge sort algorithm.
First Technical Interview (Moderate Difficulty)
Process: Candidates who successfully pass the online assessment move on to the first technical interview with a Josh Technology engineering team member.
Sample Questions:
- Explain the functioning of a hash table and its time complexities for various operations.
Conduct a binary tree traversal (in-order, pre-order, post-order).
Write a function to determine the intersection point of two singly linked lists.
Discuss your revel in with dynamic programming and clear up a associated problem, including the 0/1 knapsack problem.
Second Technical Interview (Moderate Difficulty)
Process: Candidates who clear the first technical interview are invited to a second technical interview with another member of the engineering team.
Sample Questions:
- Devise an algorithm to find the shortest path in an unweighted graph using BFS.
- Implement a balanced binary search tree and explain how balance is maintained.
- Address an array manipulation problem, such as determining the maximum subarray sum using Kadane’s algorithm.
- Discuss optimization strategies for a given problem and analyze the trade-offs involved.