# 34

Graduate Test Engineer interview questions shared by candidates

## Top Interview Questions

Sort: Relevance|Popular|Date
New Graduate - Software Development Engineer In Test was asked...26 November 2012

### You are in a room by yourself and someone walks into the room, asks you to find the temperature, and leaves. How would you find the temperature in the room without leaving the room?

Cut a 5cm*5cm*5cm ice cube from the refrigerator, and test how long it take for it to melt completely. Less

Find two equal size ice cubes, for the first one, wait till it melts completely(0 ℃) , heat it till it boils, record the time t1. For the second one, wait long enough till the water has the same temperature with the room, than heat it till it boils, record the time t2. The room temperature is 100*t2/t1. Less

Call a friend to bring a thermometer over.

### Write a function (in your preferred language C, C++, or Java) that will take the given string and return the reverse. (ie. input:"abc def ghi" output:"ihg fed cba") Optimize the above code (if possible). Now knowing that the original function you wrote in pt1 is being used by other programs and cannot be modified write another function that when called will utilize the function from pt1 to only reverse the words in the sentence. (ie. input:"abc def ghi" output:"ghi def abc") Test your code.

public class TestRun2 { public static void main(String[] args) { String inputString = "abc def ghi"; System.out.println(reverseString(inputString)); // now reverse the words System.out.println(reverseWords(inputString)); } public static String reverseString(String input) { char[] inputCharArray = input.toCharArray(); char[] returnCharArray = new char[inputCharArray.length]; for(int i=0; i Less

string reverseString(string str) { int i = 0; while(i &lt; str.size()/2) { char temp = str[i]; str[i] = str[str.size() - i - 1]; str[str.size() - i - 1] = temp; ++i; } return str; } int main(int argc, char *argv[]) { string temp = "abc def ghi"; cout &lt;&lt; temp &lt;&lt; endl; cout &lt;&lt; reverseString(temp) &lt;&lt; endl; } To do the second part, give the algorithm each word, and concatenate them. Less

### 1. Started with questions about the organisation, so go through their website to be well informed. 2. Basic Technical questions with regards to Testing : What is testing ? , Pros and Cons of hiring a Test Engineer, What is Unit testing? , Agile Test environment ? 3. Logic Based Questions : 1. There are 7 balls of which there is one ball that is heavier than the other 6. There is a scale that tips towards the heavier side. In how many minimum number of weighs can you find the heaviest ball ? (Answer provided below) 2. There are 4 divers in a cave. The time they take to traverse the cave one way is A = 10mins, B=5mins, C=2mins and D=1min. There is one canister with Oxygen with two attached masks. Scenario 1 : Considering unlimited oxygen in the Canister how can you get all the divers out of the cave in 10 mins time before the cave is submerged in water. Even if the divers are on the mask they still escape, don't drown. Scenario 2. The Oxygen in the Canister lasts only for 18mins, so how will you get all the divers out of the cave safely. 4. Technical problem which involved testing a system which forms different types of triangles (Equilateral, Isosceles and Scalene). Test with Negative numbers, decimals, and different scenarios. Basically, the thought process was being judged.

1. C &amp; D go together and C goes back (4 mins) 2. A &amp; B go together and D goes back (11 mins) 3. C &amp; D go together (2 mins) Less

The answer to Logic Question 1 : Place three balls on either side of the scale. If both sides are equal, then the ball left out if the heaviest. If one of the side tips(heavier side) then remove the 3 other balls and weigh the heavier side balls by placing one ball each on the scale, now if the scale equals then the third ball is the heaviest. Else, if the heavier ball is weighed then it can be found out by the tipping of the scale, so ultimately 2 weighs is the minumum number of weighs to find the heaviest ball. The answer of logic question 2 : Scenario 1 : A = 10mins, B=5mins, C=2mins and D takes 1 min one way. First D+B will traverse the cave on the two attached masks of the cannister. Since B takes 5mins so they take 5 mins to get out of the cave and D takes 1 min to return back to the other divers, leaving B out of the cave, hence total time 6mins. Next, send D and C out of the cave, Since C takes 2 mins and D takes an additional 1 min to return, C is also out of the cave, time taken is 3 mins. We have lost 9 mins. Now A and D can be on the mask and escape, they don't drown as they are both are attached to the oxygen masks before the cave submerges in a total of 10 mins time. Scenario 2 : Only 18 mins of oxygen left in the canister. i don't know the answer... Less

### Write a function that when given a string will return the position of the starting point of the largest reoccurring character. (ie. given:"AAABBCCCCD" would return 5 (starting point of C)) Test your code.

import java.util.ArrayList; public class TestRun2 { public static void main(String[] args) { /* * Write a function that when given a string will return the position of * the starting point of the largest reoccurring character. (ie. * given:"AAABBCCCCD" would return 5 (starting point of C)) */ String input = "AAABBCCCCD"; System.out.print(largestReoccuringCharacter(input)); } public static int largestReoccuringCharacter(String input) { // 1. Count all the characters, find the character that reoccurs the // most // 2. Find the position of the first most reoccuring character if(input == null || input.isEmpty()) { return -1; } ArrayList charArrayList = new ArrayList(); ArrayList charIndexList = new ArrayList(); // Add all elements in input to ArrayList, and also a HashSet for (char c : input.toCharArray()) { Character inChar = (Character) c; // convert to object charArrayList.add(inChar); if (!charIndexList.contains(inChar)) { charIndexList.add(inChar); } } // For each char in the index, count occurences in arraylist. Find most // occuring int highestNumberOfOccurences = -1; Character highestChar = null; for (Character c : charIndexList) { int count = 0; while (charArrayList.contains(c)) { charArrayList.remove(c); count++; } if (count &gt; highestNumberOfOccurences) { highestNumberOfOccurences = count; highestChar = c; } } // found character with highest count. Return index position. return input.indexOf(highestChar.toString()); } } JUnit Test: import static org.junit.Assert.*; import org.junit.Test; public class TestRun2Test { @Test public void testLargestReoccuringCharacter() { String input1 = "AAABBCCCCD"; String input2 = "AAABBCCCCDDDDD"; String input3 = "AAABBCCCCDDDD"; String input4 = "AAABBCCCC AADDDD"; String input5 = " "; String input6 = ""; String input7 = null; assertEquals(TestRun2.largestReoccuringCharacter(input1), 5); assertEquals(TestRun2.largestReoccuringCharacter(input2), 9); assertEquals(TestRun2.largestReoccuringCharacter(input3), 5); assertEquals(TestRun2.largestReoccuringCharacter(input4), 0); assertEquals(TestRun2.largestReoccuringCharacter(input5), 0); assertEquals(TestRun2.largestReoccuringCharacter(input6), -1); assertEquals(TestRun2.largestReoccuringCharacter(input7), -1); } } Less

### Why Ten10?

Because they are brilliant, and the market leading software testing firm.

### Mathematical reasoning test: You have two ropes and a lighter. Each rope has the following property: If you light one end of the rope, it will take one hour to burn to the other end. They don't necessarily burn at a uniform rate. How can you measure a period of 45 minutes? And 15 minutes?

To measure 45 minutes with these two ropes, first you light one rope and wait for it to burn completely. When it's finished, light the other rope at both ends. Less

### Why do you want to work in technology?

I talked about my passion for technology and the many ways it has influenced my life. Less