Tip 1: Prepare a good resume that is ATS-friendly. This is the first step to getting a chance for an interview.
Tip 2: Prepare all the fundamental core technical subjects and practice problem-solving extensively (15-20 questions from each topic). Also, having 2-3 projects in your resume is a must.
Tip 3: Try to set up mock interviews with seniors or friends before the actual interview.
Tip 4: Prepare solid principles, design patterns, and high-level system design thoroughly.
Tip 1: Add at least 2-3 projects and try to provide links to your projects where you have deployed them or stored the codebase.
Tip 2: Do not write false information; you will be caught during interviews.
The interview was conducted in an online virtual format and lasted approximately one hour. It was scheduled at a reasonable time, not late at night, ensuring a comfortable and focused environment. The setting was professional, with no interruptions, which helped maintain a smooth flow throughout the discussion.
The interviewer was highly professional, courteous, and focused. They created a friendly yet goal-oriented atmosphere, which made it easier to approach the problem-solving tasks with confidence.
The round primarily focused on DSA (Data Structures and Algorithms).
Input: ‘N’ = 5, ‘K’ = 4, ‘NUMS’ = [ 1, 2, 1, 0, 1 ]
Output: 4
There are two subarrays with sum = 4, [1, 2, 1] and [2, 1, 0, 1]. Hence the length of the longest subarray with sum = 4 is 4.
The key idea is to use a HashMap (or dictionary) to store the cumulative sum at each index. This allows us to efficiently find the subarray sums without having to recalculate them repeatedly.
In this round, I was provided with a project setup in advance, which included setting up a Java Spring Boot repository along with all its dependencies, such as an H2 in-memory database. The task involved configuring the project to ensure it was fully functional.
During the interview, the interviewer presented a set of user stories and asked me to:
1. Design and Implement APIs:
2. Test the APIs Using Postman:
3. Write JUnit Test Cases:
This round required a strong understanding of Spring Boot, RESTful API development, unit testing with JUnit, and an ability to approach problem-solving in a dynamic, hands-on environment.
This round took place on the same day as the API Design Round, which was 1 hour long and scheduled during the daytime.
An island is a 4-directionally (North, South, East, West) connected group of 1s.
Input: 'grid' = [[1,0],
[0,1]]
Output: 3
Explanation:
We can change the 0 at (0,1) to 1 and get an island of size 3.
Approach to Solve the Problem:
This problem can be solved using Depth-First Search (DFS) or Breadth-First Search (BFS) to explore all connected 1s.
You are given data representing a list of cities, where each city has the following attributes:
The task is to find the top K cities with the highest temperatures from this data.
To efficiently solve this problem, we need to consider an optimized approach for selecting the top K elements based on temperatures.
Brute Force Approach:
Sort the list of cities based on temperature in descending order and select the first K cities.
Time Complexity: O(N log N), where N is the number of cities.
Optimized Approach:
Use a Min-Heap (priority queue) of size K.
Insert the first K cities into the heap.
For the remaining cities, compare their temperature with the smallest element in the heap (the root). If the current city's temperature is higher, replace the root with the current city.
At the end, the heap will contain the top K cities with the highest temperatures.
Time Complexity: O(N log K), where N is the number of cities and K is the size of the heap.
This round also happened on the same day as the API design round. It was a 45-minute long round in which they focused on system design and LLD.
Designing a low-level design (LLD) for a cricket game organization involves creating a system to manage various entities, such as players, teams, matches, tournaments, and related operations. Below is a structured approach to designing this system.
Understand Requirements
Break Down the Problem
Plan Design
Optimize Solution
Best Practices
Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
Which SQL keyword removes duplicate records from a result set?