i
Apple
Filter interviews by
Clear (1)
XPath is a way to locate elements on a web page using their HTML structure.
Use Chrome DevTools to inspect elements and generate XPath
Avoid using absolute XPath as it can be brittle
Use relative XPath with unique attributes for better stability
I have worked on a keyword-driven automation framework using Selenium and TestNG.
Utilized Excel sheets to store test cases and keywords
Implemented reusable functions for common actions like clicking, inputting text, etc.
Used TestNG for test case management and reporting
Integrated with Jenkins for continuous integration
Rate your
company
🤫 100% anonymous
How was your last interview experience?
Types of testing include unit testing, integration testing, system testing, and acceptance testing.
Unit testing: Testing individual components or modules of the software.
Integration testing: Testing how multiple components work together.
System testing: Testing the entire system as a whole.
Acceptance testing: Testing to ensure the software meets the requirements of the end users.
I am currently working with Java and Selenium for test automation.
Using Java programming language for writing test scripts
Using Selenium WebDriver for automating web applications
Integrating with CI/CD tools like Jenkins for continuous testing
Working with frameworks like TestNG for test management
Using tools like Maven for project management
Find the maximum subsequent distinct and contiguous subarray in a character array.
Use a sliding window approach to iterate through the array.
Keep track of the distinct characters in the current subarray.
Update the maximum length and subarray as necessary.
Create a stack using 2 given queues.
Push elements into one queue until it is full.
When the first queue is full, push new elements into the second queue.
To pop an element, remove all elements from the non-empty queue except the last one.
Switch the non-empty queue to the other one when it becomes empty.
A test framework should have features like test case management, test data management, reporting, and integration with CI/CD tools.
Test case management: Ability to create, organize, and execute test cases.
Test data management: Ability to manage test data and generate test data sets.
Reporting: Ability to generate detailed test reports with metrics and logs.
Integration with CI/CD tools: Ability to integrate with tools li...
To check if each page of Amazon.com has its logo, we can use automated testing with Selenium WebDriver.
Use Selenium WebDriver to navigate to each page of Amazon.com
Locate the logo element on each page using its XPath or CSS selector
Verify that the logo element is displayed on each page
Yes, I have worked on automation frameworks.
I have experience in developing and maintaining automation frameworks using tools like Selenium, TestNG, and Cucumber.
I have also worked on customizing existing frameworks to meet specific project requirements.
I am familiar with both data-driven and keyword-driven frameworks.
I have integrated automation frameworks with CI/CD pipelines for continuous testing.
One example of a p...
When entering a URL and hitting enter, the browser performs DNS lookup, establishes a TCP connection, sends an HTTP request, receives the response, and renders the page.
Browser performs DNS lookup to resolve the domain name to an IP address
Browser establishes a TCP connection with the server
Browser sends an HTTP request to the server
Server processes the request and sends back an HTTP response
Browser receives the respon
Reverse every 3 nodes in a singly linked list using recursion.
Create a recursive method that takes the head of the linked list as input.
If the head is null or there are less than 3 nodes remaining, return the head.
Reverse the first 3 nodes by swapping their pointers.
Recursively call the method on the next 3 nodes and update the pointers accordingly.
Return the new head of the reversed linked list.
1. Time management 2. Public speaking 3. Learning new technologies
Struggling with time management, often missing deadlines
Nervous when speaking in front of large groups
Finding it challenging to keep up with the latest technologies in the field
Implement 3 stacks in a single array efficiently
Divide the array into 3 equal parts
Use pointers to keep track of top of each stack
Implement push and pop operations for each stack
Handle stack overflow and underflow cases
To find a given integer in a circularly sorted array of integers, use binary search with slight modifications.
Find the middle element of the array.
If the middle element is the target, return its index.
If the left half of the array is sorted and the target is within that range, search the left half.
If the right half of the array is sorted and the target is within that range, search the right half.
If the left half is not...
Program to find depth of binary search tree without recursion
Use a stack to keep track of nodes and their depths
Iteratively traverse the tree and update the maximum depth
Return the maximum depth once traversal is complete
Find the maximum rectangle (in terms of area) under a histogram in linear time
Use a stack to keep track of the bars in the histogram
For each bar, calculate the area of the rectangle it can form
Pop the bars from the stack until a smaller bar is encountered
Keep track of the maximum area seen so far
Return the maximum area
Implement spelling and word suggestions for full keyboard phones
Create a dictionary of commonly used words
Use algorithms like Trie or Levenshtein distance to suggest words
Implement auto-correct feature
Recursive mergesort divides array into halves, sorts them and merges them back. O(nlogn) runtime.
Divide array into halves recursively
Sort each half recursively using mergesort
Merge the sorted halves back together
Runtime is O(nlogn)
Iterative version can be written using a stack or queue
To determine if someone has won a game of tic-tac-toe on a board of any size, we need to check all possible winning combinations.
Create a function to check all rows, columns, and diagonals for a winning combination
Loop through the board and call the function for each row, column, and diagonal
If a winning combination is found, return the player who won
If no winning combination is found and the board is full, return 'Tie...
Replace each number in an array with the product of all other numbers without using division.
Iterate through the array and calculate the product of all numbers to the left of the current index.
Then, iterate through the array again and calculate the product of all numbers to the right of the current index.
Multiply the left and right products to get the final product and replace the current index with it.
Create a cache with fast look up that only stores the N most recently accessed items
Implement a hash table with doubly linked list to store the items
Use a counter to keep track of the most recently accessed items
When the cache is full, remove the least recently accessed item
To design a search engine with keyword-based document indexing and numeric attributes, we need to build appropriate indices.
Create an inverted index for each keyword, mapping it to the documents that contain it
For numeric attributes, use a B-tree or other appropriate data structure to store the values and their associated documents
Combine the indices to allow for complex queries, such as keyword and attribute filters
Co...
Program to find intersection of words in two files
Read both files and store words in two arrays
Loop through one array and check if word exists in other array
Print the common words
Given a 2D array of alphabets and a function to check valid English words, find all possible valid words adjacent to each other.
Create a recursive function to traverse the 2D array and check for valid words
Use memoization to avoid redundant checks
Consider edge cases such as words with repeating letters
Optimize the algorithm for time and space complexity
Insert a node at its correct position in a circular linked list containing sorted elements.
Traverse the linked list until the correct position is found
Handle the case where the value to be inserted is smaller than the smallest element or larger than the largest element
Update the pointers of the neighboring nodes to insert the new node
Consider the case where the linked list has only one node
I applied via Company Website and was interviewed in Oct 2021. There were 3 interview rounds.
Find the first and last occurrence of a specific element in an array of strings.
Iterate through the array and keep track of the index of the first and last occurrence of the element.
Return the index of the first and last occurrence of the element.
based on 2 interviews
Interview experience
Software Engineer
166
salaries
| ₹0 L/yr - ₹0 L/yr |
Ipro
107
salaries
| ₹0 L/yr - ₹0 L/yr |
Sales Executive
103
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
94
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
74
salaries
| ₹0 L/yr - ₹0 L/yr |
Amazon
Microsoft Corporation
Samsung