Open In App

Loyalty Juggernaut Interview Experience for Product Engineer Role

Last Updated : 16 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

I applied to Loyalty Juggernaut through the AngelList website and received a call from their HR shortly after to discuss interview scheduling. Given that I was in my 6th semester with the on-campus placement drive approaching, I decided to explore my options. Nonetheless, I proceeded with the interview rounds to gain valuable experience.

Background Verification:

The interview process commenced with a telephone interview during which I discussed my background, career aspirations, and the role I was applying for. The HR representative provided insights into the company’s culture and expectations.

Round 1 – Technical Interview:

Following the initial discussion, I progressed to the technical assessment phase. This round, conducted via Google Meet, proved to be quite rigorous. The questions primarily revolved around arrays and dynamic programming. The questions asked in this round are listed below:

  • Finding an element in an array where the sum of elements to its left equaled the sum of elements to its right.

Java




public class EquilibriumIndex {
    public static int findEquilibriumIndex(int[] arr)
    {
        int totalSum = 0;
        int leftSum = 0;
  
        for (int num : arr) {
            totalSum += num;
        }
  
        for (int i = 0; i < arr.length; i++) {
            totalSum -= arr[i]; // deduct the current
                                // element from total sum
            if (leftSum == totalSum) {
                return i;
            }
            leftSum += arr[i]; // add current element to
                               // left sum
        }
  
        return -1; // return -1 if no equilibrium
    }
  
    public static void main(String[] args)
    {
        int[] arr = { 1, 2, 3, 4, 3, 2, 1 };
        int result = findEquilibriumIndex(arr);
        if (result != -1) {
            System.out.println(
                "Equilibrium index found at index " + result
                + ": " + arr[result]);
        }
        else {
            System.out.println(
                "No equilibrium index found in the array.");
        }
    }
}


Output

Equilibrium index found at index 3: 4
  • Determining the first missing positive number in an array.

Java




public class FirstMissingPositive {
    public static int firstMissingPositive(int[] nums)
    {
        int n = nums.length;
  
        // Step 1: mark non-positive numbers and numbers
        // greater than n as n+1
        for (int i = 0; i < n; i++) {
            if (nums[i] <= 0 || nums[i] > n) {
                nums[i] = n + 1;
            }
        }
  
        // Step 2: mark the presence of +ve numbers within
        // the range [1, n]
        for (int i = 0; i < n; i++) {
            int num = Math.abs(nums[i]);
            if (num <= n) {
                nums[num - 1] = -Math.abs(nums[num - 1]);
            }
        }
  
        // Step 3: find the first missing +ve number
        for (int i = 0; i < n; i++) {
            if (nums[i] > 0) {
                return i + 1;
            }
        }
  
        return n + 1; // no +ve numbers, return n+1
    }
  
    public static void main(String[] args)
    {
        int[] nums = { 3, 4, -1, 1 };
        int result = firstMissingPositive(nums);
        System.out.println(
            "The first missing +ve number is: " + result);
    }
}


Output

The first missing +ve number is: 2

Round 2 – Technical Interview:

In the subsequent technical round, the scope expanded to more theoretical concepts. I was asked to explain the OOPs concept, multithreading and some questions from DBMS which are listed below:

  • Retrieve the names of employees who have the highest salaries, ordered by salary in descending order.
SELECT FirstName, LastName, Salary
FROM Employees
WHERE Salary = (SELECT MAX(Salary) FROM Employees)
ORDER BY Salary DESC;
  • What is the purpose of the GROUP BY clause in SQL?
  • What is the difference between INNER JOIN and LEFT JOIN in SQL?
  • What is normalization in the context of relational databases?

Round 3 – Technical Interview:

The third technical round further assessed my coding and problem-solving prowess. The questions asked in this round are listed below:

  • Calculating the minimum number of steps necessary to traverse an array and reach its end.

Java




public class MinimumJumpsToEnd {
    public static int minJumpsToEnd(int[] arr) {
        int n = arr.length;
        if (n <= 1) {
            return 0// 1 element or is empty, no jumps needed
        }
  
        int jumps = 1;
        int maxReach = arr[0];  // max reach from the first position
        int steps = arr[0];  // steps available from the first position
  
        for (int i = 1; i < n; i++) {
            if (i == n - 1) {
                return jumps;  // reached the end
            }
  
            maxReach = Math.max(maxReach, i + arr[i]);  // Update max reach
            steps--;
  
            if (steps == 0) {
                if (i >= maxReach) {
                    return -1// Can't proceed further
                }
                jumps++;
                steps = maxReach - i;
            }
        }
  
        return -1// end not reachable
    }
  
    public static void main(String[] args) {
        int[] arr = {2, 3, 1, 1, 4};
        System.out.println(minJumpsToEnd(arr));
    }
}


Output

2

  • Given two strings, find the length of their longest common subsequence. A subsequence is a sequence that appears in the same relative order in both strings, but not necessarily consecutively. For example, for the strings “ABCD” and “ACDF”, the longest common subsequence is “ACD”, with a length of 3.

Java




public class LongestCommonSubsequence {
    public static int
    longestCommonSubsequenceLength(String str1, String str2)
    {
        int m = str1.length();
        int n = str2.length();
  
        // a table to store the lengths of longest common
        // subsequences
        int[][] dp = new int[m + 1][n + 1];
  
        // fill the table using dp
        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                if (str1.charAt(i - 1)
                    == str2.charAt(j - 1)) {
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                }
                else {
                    dp[i][j] = Math.max(dp[i - 1][j],
                                        dp[i][j - 1]);
                }
            }
        }
  
        return dp[m][n];
    }
  
    public static void main(String[] args)
    {
        String str1 = "ABCD";
        String str2 = "ACDF";
        int result
            = longestCommonSubsequenceLength(str1, str2);
        System.out.println(
            "Length of longest common subsequence: "
            + result);
    }
}


Output

Length of longest common subsequence: 3

HR Interview:

After successfully completing the technical rounds, I moved on to the HR interview, where I had the opportunity to discuss the internships and the projects I had worked on.

During this interview, the HR representative was genuinely interested in learning more about my practical experiences. Some of the questions asked in the round are listed below:

  • As a student with a core academic background, what sparked your interest in pursuing a career in the tech industry and, specifically, in joining a company like Loyalty Juggernaut?
  • Could you highlight a project that you’re particularly proud of?
  • In a team environment, can you describe a situation where you had to collaborate with diverse individuals to achieve a common goal?

Throughout the interview process, the conversation frequently veered towards my projects. This allowed me to showcase my practical experience and deepened the interviewers’ understanding of my skillset.

Despite my academic commitments and the impending on-campus placement drive, I appreciated the performance-based pre-placement offer (PPO) extended by Loyalty Juggernaut. This gesture underscored the company’s recognition of talent and potential.

Ultimately, while I opted not to accept the PPO due to ongoing commitments and the upcoming on-campus placements, I left with a positive impression of Loyalty Juggernaut’s interview process. The company’s swift response time, meticulous approach, and comprehensive technical assessment left me with a sense of accomplishment and heightened confidence for future interviews.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads