Open In App

PalTech Interview Experience for Trainee Software Engineer

Last Updated : 03 Apr, 2025
Comments
Improve
Suggest changes
2 Likes
Like
Report

About PalTech Company

Nature: IT consulting firm specializing in digital transformation services for organizations of all sizes.
Type: Service-based company

Interview Procedure

  • Round 1: DSA Coding
  • Round 2: Advanced DSA Coding
  • Round 3: Technical Interview (TR)
  • Round 4: HR Interview

Placement Location

  • On-Campus:
    • My college is located in Mylavaram, Vijayawada, Andhra Pradesh.
    • PalTech usually visits colleges in Andhra Pradesh and Telangana.
    • However, this company has never visited our college, but we were offered an interview drive at PalTech only for a few students who excel in DSA.
    • Our college selected a list of candidates to send for the drive, which took place at K.L.U University (a deemed university in Guntur, Andhra Pradesh) on October 24, 2024.
    • Approximately 200-300 students attended the interview.

Round 1: DSA Coding

  • Question: Max subsequence sum without adjacent elements
  • My Approach: Backtracking Method (Pick, Non-Pick Approach)
  • Useful Resources: Striver DSA Channel on YouTube (My learning)

In the first round of coding, the question was displayed on a projector, and we were given sheets of paper to write our logic (no computers were required). We simply needed to write the logic and dry run a test case on paper, similar to our practical lab internal and external exams, where we showcased our code on paper rather than using a computer or laptop.

I presented the backtracking approach and dry ran the given test case for one employer, but they indicated they wanted an optimized approach. Later, I discovered they were looking for a solution using dynamic programming. They partially accepted my backtracking approach and allowed me to proceed to the second round of coding. In this round, they filtered many candidates, but those who wrote good logic or explained their logic clearly were selected for the next round.

Java
public class MaxSubsequenceSum {

    public static int maxSum(int[] arr, int index) {
        if (index >= arr.length) {
            return 0;
        }
        int pick = arr[index] + maxSum(arr, index + 2);
        int notPick = maxSum(arr, index + 1);
        return Math.max(pick, notPick);
    }

    public static void main(String[] args) {
        int[] arr = {3, 2, 5, 10, 7};
        int result = maxSum(arr, 0);
        System.out.println("Maximum sum of non-adjacent elements: " + result);
    }
}

Output
Maximum sum of non-adjacent elements: 15


Round 2: Advanced DSA Coding

  • Question: Length of the longest substring without repeating characters
  • Constraints: No inbuilt functions, no HashSet usage, no list usage

The procedure was the same as in the first round, with the employees displaying the question on a projector. This time, I felt confident since I had practiced this question before (from Striver DSA and Aditya Verma's playlist).

Initially, I wrote and presented an O(n²) approach. They requested an optimized solution.

Approach 1: Brute-Force with Character Frequency Counting

Java
public class LongestSubstringWithoutRepeating {

    public static int lengthOfLongestSubstring(String s) {
        int maxLength = 0;
        int n = s.length();

        for (int i = 0; i < n; i++) {
            int[] arr = new int[26]; 
            boolean hasRepeatingChar = false; 

            for (int j = i; j < n; j++) {
                char currentChar = s.charAt(j);
                
                arr[currentChar - 'a']++; 

                for (int k = 0; k < 26; k++) {
                    if (arr[k] > 1) {
                        hasRepeatingChar = true; 
                        break; 
                    }
                }

                if (hasRepeatingChar) {
                    break; 
                }

                maxLength = Math.max(maxLength, j - i + 1); 
            }
        }

        return maxLength; 
    }

    public static void main(String[] args) {
        String input = "ganinaggani";
        int result = lengthOfLongestSubstring(input);
        System.out.println("Length of the longest substring without repeating characters: " + result);
    }
}

Output
Length of the longest substring without repeating characters: 3

Then i come up with sliding window approach.

Approach 2 : Sliding Window Technique

Java
public class LongestSubstringWithoutRepeating {

    public static int lengthOfLongestSubstring(String s) {
        int n = s.length();
        int[] arr = new int[26];
        int maxLength = 0;
        int i = 0;
        int j = 0; 

        while (j < n) {
            arr[s.charAt(j) - 'a']++;

            while (arr[s.charAt(j) - 'a'] > 1) {
                arr[s.charAt(i) - 'a']--;
                i++;
            }

            maxLength = Math.max(maxLength, j - i + 1);
            j++; 
        }

        return maxLength;
    }

    public static void main(String[] args) {
        String input = "ganeshjagginenigani";
        int result = lengthOfLongestSubstring(input);
        System.out.println("Length of the longest substring without repeating characters: " + result);
    }
}

Output
Length of the longest substring without repeating characters: 7

They accept it and select me to interview round


Round 3: Technical Interview

  • Interview Duration: 1 to 1.5 hours (for mine)
  • Interview Type: Viva type (not 1:1, but it is an in-person interview)
  • Key Suggestion: The staff mainly focus on your resume.
  • Tip: Prepare thoroughly your resume to crack the job.

They mostly covered all topics that freshers may learn. My resume primarily consisted of cybersecurity topics, which they also touched upon.

Questions:

Networking:

  • Started with self-introduction.
  1. Write some Linux commands.
  2. Given a diagram of the architecture of a file, asked me to write a command to remove subdirectories:
    /home
    ├── user
    │ ├── documents
    │ │ ├── resume.docx
    │ │ ├── project.pdf
    │ │ └── notes.txt
    │ ├── downloads
    │ │ ├── ganesh.mp4
    │ │ └── ganesh_jaggineni.png
    Answer: rm -ri path/to/subdirectory
  3. Follow-up question: Remove without prompt confirmation.
    Answer: rm -r path/to/subdirectory
  4. What is an IP address?
  5. Provide a list of 10 protocols and their protocol numbers.
  6. Port numbers for Remote Desktop Protocol (RDP) and SQL.
  7. What is IEEE 802.11?
    Answer: Wi-Fi technology related.
  8. Briefly explain OSI layers.

Ethical Hacking (Based on My Resume)

  1. Difference between Red Hat and White Hat hackers.
  2. What does a flag mean? (This question was asked because I included a bullet point about flagging suspicious activity in my final year project.)
  3. Types of attacks.
  4. Classification of attacks in general.
  5. Explain MITM attack (Man In The Middle Attack).
  6. About Burp Suite tool (used by cybersecurity specialists).
  7. What is penetration testing?

SQL

  1. Write an SQL query to get the 5th highest salary.
  2. Inner join vs outer join.
  3. Any type of join example.
  4. Definitions of all normal forms.

HTML/JavaScript

  1. List of HTML tags.
  2. What is event handling in JavaScript?
  3. Difference between let and var in JavaScript.

OOP Concepts

  1. Method overloading vs method overriding (Java).
  2. What are the basic OOP principles?
  3. Implement interface code.
  4. Is multiple inheritance possible in Java?

Machine Learning

  1. What is SVM (Support Vector Machines)?
  2. What is a hyperplane?
  3. Difference between sample and population.

Miscellaneous

  1. Are you aware of any new technologies?
  2. GATE rank.
  3. EAMCET/EAPCET rank.
  4. What is your favorite subject in academics?

Round 4: HR Interview

Candidates were called individually without the round being explicitly labeled as HR.

  • Explain about your hometown.
  • Are you open to night shifts?
  • Are you willing to learn new technologies?

My Suggestion: Answer confidently in both the technical and HR interviews; they often check for basic knowledge and your confidence.

The entire interview procedure happened in one day only.

Verdict:

  • Status: SELECTED
  • Salary: 5 + 1 LPA (the 1 LPA mentioned is a retention bonus)
  • Training Period Salary: 3 LPA
  • Training Period Duration: 6 months
  • Role in Training: Trainee Software Engineer
  • Role in Job: Software Engineer (JD)
  • Bond Agreement: 2 years
  • Hours of Work: Monday to Friday
  • Offer Letter: Within 3 days
  • Place of Posting: Hyderabad
  • Joining Date: After completion of the final semester

Explore