Interview Experience at DLT Labs | Sr. Test Engineer- 5.5 Years Experience

One of the consultant called me and arranged an interview at DLT Labs. In this article I will be sharing the details of the interview.

Interview Experience at DLT Labs

Company - DLT Labs
Location - Noida
Interviewer - Binti
Job role - Senior Test Engineer
Experience - 5.5 Years in Manual + Automation

Round 1 - L1
  • Tell me about yourself?
  • Tell me about your project and client.
  • How many companies you have worked for?
  • Why do you want to switch?
  • What is Polymorphism and give a real time example where have you used Polymorphism?
  • What are access modifiers and access specifiers?
  • Explain your project framework?
  • Have your ever used Assertions in SOAP UI? Hw can they be helpful?
  • What is static binding and dynamic binding in Java?
  • What is Synchronisation?
  • How will you handle Synchronisation issues?
  • Create test cases for a file - ABC.txt placed in your Desktop for deletion functionality? - Cover read-only deletion scenario
  • Logic behind printing of below program
    • 1
    • 1 2
    • 1 2 3
    • 1 2 3 4
    • 1 2 3 4 5
  • Logic behind reversing the String?
  • What is Self Join and give an example as where we can use Self Join?
  • What are tier 2 and tier 3 in relation with the Database?
  • What do you understand by Final keyword?
  • What do you understand by Frames? How will you identify frames in the application? What Exception is thrown when frame is not identified? How will you find the xpath of the frame?
  • What do you understand about Serialization?
We have covered most of the above topics in our previous articles. We will be covering few topics which we faced as part of this interview.

Polymorphism real time example -
We use implicit wait in Selenium, it is an example of overloading. Such that we use different timestamps such as SECONDS, MINUTES, etc. Method overloading concept is a class having multiple methods with same name but different parameters. Whereas, Get method can be used multiple times for navigation is an example of method overriding.

Difference between Static and dynamic Binding?
  • Connecting a method call to the method body is called Binding.
  • There are two kinds of binding
    • Static Binding( Early Binding) - Compiled time
    • Dynamic Binding (Late Binding) - Run time
Java program to print below pattern - 
1
12
123
1234
12345
int i, j;
for (i=1;i<=5;i++)
{
for (j=1;j<=i;j++)
{
system. outprint(" "+j);
}
system. outprint /n();
}
Synchronisation
It is related to accessing a resource by multiple threads.

Self join and its need
When a table is joined by itself. When we need to compare the rows within table itself, then Self join is used.

Syntax of Self Join
SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;

T1 and T2 are aliases from the same table.

Frames in Selenium
When a webpage is embedded inside another webpage, it is referred as a frame. We cannot detect frame by xpath or by looking at the  page.
There are 2 ways to detect frame in a webpage
  1. by right click on the frame and we can see the frame
  2. by looking at the page source(Ctrl + U)
We can find out total number of frames in a webpage using below command in Selenium-

Int size = driver.findElements(By.tagName("iframe")).size();
We can switch over the frames using driver commands and there are 3 ways
  1. By index
  2. By name or id
  3. By webelement
How can we come out of a frame once we are in?
driver.switchTo().parentFrame();
driver.switchTo().defaultContent();
Serialisation - Mechanism to convert the state of an object into a byte steam.

Round 2 - L2

Interviewer - Mayank Sethi
Date - 9th Feb 2021
  • Write test cases for a simple textbox which takes numbers - 1 to 10000 as input and displays success
  • Write a SQL query to print 2nd highest salary of an employee
  • Write a program to count number of vowels and consonants in an input string
  • Difference between put and post
  • Difference between put and patch
  • What does error 401 and 403 signify?
  • What does API mean?
SQL query to print 2nd highest salary of an employee
SELECT name, MAX(salary) AS salary
  FROM employee
 WHERE salary < (SELECT MAX(salary)
                 FROM employee);
Program to find number of consonants and vowels in a given string.
  1. public class CountVowelConsonant {    
  2.     public static void main(String[] args) {    
  3.             
  4.         //Counter variable to store the count of vowels and consonant    
  5.         int vCount = 0, cCount = 0;    
  6.             
  7.         //Declare a string    
  8.         String str = "This is a really simple sentence";    
  9.             
  10.         //Converting entire string to lower case to reduce the comparisons    
  11.         str = str.toLowerCase();    
  12.             
  13.         for(int i = 0; i < str.length(); i++) {    
  14.             //Checks whether a character is a vowel    
  15.             if(str.charAt(i) == 'a' || str.charAt(i) == 'e' || str.charAt(i) == 'i' || str.charAt(i) == 'o' || str.charAt(i) == 'u') {    
  16.                 //Increments the vowel counter    
  17.                 vCount++;    
  18.             }    
  19.             //Checks whether a character is a consonant    
  20.             else if(str.charAt(i) >= 'a' && str.charAt(i)<='z') {      
  21.                 //Increments the consonant counter    
  22.                 cCount++;    
  23.             }    
  24.         }    
  25.         System.out.println("Number of vowels: " + vCount);    
  26.         System.out.println("Number of consonants: " + cCount);    
  27.     }    
  28. }   


Difference between Put and Post?
Put will create or modify the existing resource where Post will create a new resource. The limitation being using post is we can have multiple resources. PUT is idempotent.PUT overwrites the entire entity if it already exists, and creates a new resource if it doesn’t exist.

For instance, if you want to change the last name of a person stored in database, by using Put you have to send the entire resource, i.e first name and last name.

Patch 
Unlike Put, Patch is a partial update. If you want to change the last name, you only need to send the last name to make a change.

What does error 401 and 403 signify?
401 - Unauthorized
403 - Forbidden
401 implies that the user credentials are not correct while 403 implies that the user credentials are correct but he doesn't have the required access for the directory.


Comments

Popular posts from this blog

Azure Tutorials Series - Azure Networking

Testing in CI/CD

Azure Tutorials Series - IaaS vs PaaS vs SaaS