SDET programming questions

Below is the compiled list of SDET programming questions asked in the interview in various companies for SDET role.

  1. Reverse a string using Stack in Java
import java.util.*;
public class QATechTools {
   static String reverseAStringUsingStack(String str){
       
        Stack myStack = new Stack();
        char[] chars = str.toCharArray();
        for(char c:chars){
            myStack.push(c);
        }
        StringBuilder sb=new StringBuilder();
        while (!myStack.isEmpty()) {
            sb.append(myStack.pop());
        }
        return sb.toString();
    }
    public static void main(String args[]){
        
        System.out.println(reverseAStringUsingStack("qatechtools"));
    }
}
//Output
sloothcetaq

2. Find the first repeating character in the Given string

import java.util.*;
public class QATechTools {
    static char firstRepeatingChar(char str[]){
        HashSet<Character> h= new HashSet<>();
        for (int i =0 ; i <str.length-1;i++){
            char c = str[i];
            if(h.contains(c)){
                return c;
            }
            else{
                h.add(c);
            }
        }
        return '\0';
    }
    public static void main(String args[]){
        String stringToBeVerified= "QAtechtools";
        char[] check= stringToBeVerified.toCharArray();
        System.out.println(firstRepeatingChar(check));    }
}
//output
t

3. Get count of character in a given String

import java.util.*;
public class QATechTools {
    static void getCountRepeatedCharacter(String str){
        HashMap<Character,Integer> charCount = new HashMap<Character,Integer>();
        char[] chars= str.toCharArray();
        for (char c:chars){
            if(charCount.containsKey(c)){
                charCount.put(c,charCount.get(c) + 1);
            }
            else{
                charCount.put(c,1);
            }
        }
        for (Map.Entry entry : charCount.entrySet()) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
    }
    public static void main(String args[]){
        String stringToBeVerified= "QAtechtools";
        getCountRepeatedCharacter(stringToBeVerified);    }
}
//output
Q 1
A 1
c 1
s 1
t 2
e 1
h 1
l 1
o 2

4. Find the index of the given char in the string

import java.util.*;
public class QATechTools {
    static int findCharIndexGivenChar(char str[], char x){
        int h = -1;
        for (int i= 0; i<str.length;i++){
            if(str[i]==x){
                h=i;
                break;
            }
        }
        return h;
    }
    public static void main(String args[]){
        String stringToBeVerified= "QAtechtools";
        char[] check= stringToBeVerified.toCharArray();
        System.out.println(findCharIndexGivenChar(check,'l'));
    }
}
//output
9

5 . Print Collatz sequence

Starting with any positive integer N, Collatz sequence is defined corresponding to n as the numbers formed by the following operations :

  1. If n is even, then n = n / 2.
  2. If n is odd, then n = 3*n + 1.
  3. Repeat above steps, until it becomes 1.
import java.util.*;
public class QATechTools {
    static void printCollatzSequence(int n) {
        while (n != 1) {
            System.out.print(n + " ");
            // If n is odd
            if ((n & 1) == 1)
                n = 3 * n + 1;
                // If even
            else
                n = n / 2;
        }
        System.out.print(n);
    }
    public static void main(String[] args) {
        printCollatzSequence(12);
    }
}
//output
12 6 3 10 5 16 8 4 2 1

6. Find the minimum no of rotation to find the original string

import java.util.*;
public class QATechTools {
    static int findRotations(String str)
    {
        String tmp = str + str;
        int n = str.length();
        for (int i = 1; i <= n; i++)
        {
            // substring from i index of original
            // string size.
            String substring = tmp.substring(i, str.length());
            // if substring matches with original string
            // then we will come out of the loop.
            if (str == substring)
                return i;
        }
        return n;
    }
    public static void main(String[] args) {
        System.out.println(findRotations("QAtechtools")) ;
    }
}
//output
11