i
PubMatic
Work with us
Filter interviews by
To get all the links available on a page, you can use web scraping techniques.
Use a web scraping tool like BeautifulSoup in Python or Selenium to extract all the links from the page
Identify the HTML elements that contain the links, such as tags with href attributes
Iterate through the elements to extract the URLs and store them in a list
Fluent wait in Selenium is used for handling dynamic elements and synchronization issues.
Fluent wait is used to wait for a condition to be true before proceeding with the next steps in Selenium automation scripts.
It provides more flexibility in defining wait conditions compared to implicit or explicit waits.
Fluent wait can be used to wait for a specific element to be visible, clickable, or any other custom conditi...
Utilize various sourcing methods to find qualified Java candidates
Utilize job boards like Indeed and LinkedIn to search for Java developers
Attend Java meetups and conferences to network with potential candidates
Utilize social media platforms like Twitter and GitHub to find Java developers
Partner with coding bootcamps and universities to find recent Java graduates
Iterative tree traversal uses stacks to explore nodes without recursion, enabling depth-first or breadth-first searches.
Use a stack for depth-first traversal. Example: Push root, then children.
For breadth-first traversal, use a queue. Example: Enqueue root, then children.
In-order traversal: Push left nodes, visit node, then push right nodes.
Pre-order traversal: Visit node, push left, then right.
Post-order traversa...
Implementing Depth-First Search (DFS) and Breadth-First Search (BFS) algorithms for graph traversal.
DFS explores as far as possible along each branch before backtracking.
BFS explores all neighbors at the present depth prior to moving on to nodes at the next depth level.
DFS can be implemented using recursion or a stack; BFS uses a queue.
Example of DFS: For a graph with edges (A-B, A-C, B-D), starting from A, the or...
Count the number of digits in a given string
Iterate through each character in the string
Check if the character is a digit using isdigit() function
Increment a counter if the character is a digit
Return the final count of digits
Apache Kafka is a distributed streaming platform used for building real-time data pipelines and streaming applications.
Apache Kafka is designed to handle high-throughput, fault-tolerant, and scalable real-time data streams.
It allows for the publishing and subscribing to streams of records, similar to a message queue.
Kafka is often used for log aggregation, stream processing, event sourcing, and real-time analytics...
Binary search can be used to solve moderate problems of arrays that are first increasing and then decreasing.
Use binary search to find the peak element in the array, which marks the transition from increasing to decreasing.
Divide the array into two parts based on the peak element and apply binary search on each part separately.
Handle edge cases such as when the array is strictly increasing or strictly decreasing.
E...
Count pairs in an array that sum up to a target value.
Iterate through the array and store the frequency of each element in a hashmap.
For each element, check if the difference between the target and the element exists in the hashmap.
Increment the count of pairs if the difference is found in the hashmap.
Design a system for a web surfing utility
Use a web crawler to gather data from websites
Implement a search engine to retrieve relevant information
Utilize a recommendation system to suggest related content
Include user authentication and personalized settings
Ensure scalability and performance for handling large amounts of data
I applied via Naukri.com and was interviewed in Sep 2020. There was 1 interview round.
I applied via Naukri.com and was interviewed in Oct 2024. There were 2 interview rounds.
Fluent wait in Selenium is used for handling dynamic elements and synchronization issues.
Fluent wait is used to wait for a condition to be true before proceeding with the next steps in Selenium automation scripts.
It provides more flexibility in defining wait conditions compared to implicit or explicit waits.
Fluent wait can be used to wait for a specific element to be visible, clickable, or any other custom condition.
It...
To get all the links available on a page, you can use web scraping techniques.
Use a web scraping tool like BeautifulSoup in Python or Selenium to extract all the links from the page
Identify the HTML elements that contain the links, such as tags with href attributes
Iterate through the elements to extract the URLs and store them in a list
I applied via Approached by Company and was interviewed in Jul 2024. There was 1 interview round.
Count pairs in an array that sum up to a target value.
Iterate through the array and store the frequency of each element in a hashmap.
For each element, check if the difference between the target and the element exists in the hashmap.
Increment the count of pairs if the difference is found in the hashmap.
Binary search can be used to solve moderate problems of arrays that are first increasing and then decreasing.
Use binary search to find the peak element in the array, which marks the transition from increasing to decreasing.
Divide the array into two parts based on the peak element and apply binary search on each part separately.
Handle edge cases such as when the array is strictly increasing or strictly decreasing.
Exampl...
Design a system for a web surfing utility
Use a web crawler to gather data from websites
Implement a search engine to retrieve relevant information
Utilize a recommendation system to suggest related content
Include user authentication and personalized settings
Ensure scalability and performance for handling large amounts of data
Find the smallest subarray in an array that has a given target sum.
Use a sliding window approach to find the subarray with the target sum.
Keep track of the current sum of elements in the window and adjust the window size accordingly.
Start with a window of size 1 and expand it until the sum is greater than or equal to the target sum.
Shrink the window from the left side while updating the smallest subarray length until t...
Basic string manipulation and general DSA questions
Iterative tree traversal uses stacks to explore nodes without recursion, enabling depth-first or breadth-first searches.
Use a stack for depth-first traversal. Example: Push root, then children.
For breadth-first traversal, use a queue. Example: Enqueue root, then children.
In-order traversal: Push left nodes, visit node, then push right nodes.
Pre-order traversal: Visit node, push left, then right.
Post-order traversal: Pu...
Implementing Depth-First Search (DFS) and Breadth-First Search (BFS) algorithms for graph traversal.
DFS explores as far as possible along each branch before backtracking.
BFS explores all neighbors at the present depth prior to moving on to nodes at the next depth level.
DFS can be implemented using recursion or a stack; BFS uses a queue.
Example of DFS: For a graph with edges (A-B, A-C, B-D), starting from A, the order c...
Java code to find duplicates in an array of strings
Iterate through the array and use a HashSet to keep track of unique elements
If an element is already in the HashSet, it is a duplicate
Print or store the duplicates as needed
Java code to reverse a string without using split method
Create a char array from the input string
Use two pointers to swap characters from start and end of the array
Continue swapping until the pointers meet in the middle
I applied via LinkedIn and was interviewed in Feb 2024. There were 2 interview rounds.
The longest path from one node to another in a tree is the maximum number of edges that must be traversed to reach from one node to another.
The longest path in a tree is also known as the diameter of the tree.
The diameter of a tree can be found by first finding the farthest leaf node from any arbitrary node, and then finding the farthest leaf node from that leaf node.
The sum of the distances from the root to the farthe...
I applied via Approached by Company and was interviewed in Feb 2024. There were 3 interview rounds.
Reversing a linked list involves changing the direction of the pointers between nodes.
Iterative approach: Use three pointers (prev, current, next) to reverse links.
Example: For list 1 -> 2 -> 3, after reversal it becomes 3 -> 2 -> 1.
Recursive approach: Reverse the rest of the list and adjust pointers.
Example: Base case is when the list is empty or has one node.
Count the number of digits in a given string
Iterate through each character in the string
Check if the character is a digit using isdigit() function
Increment a counter if the character is a digit
Return the final count of digits
Apache Kafka is a distributed streaming platform used for building real-time data pipelines and streaming applications.
Apache Kafka is designed to handle high-throughput, fault-tolerant, and scalable real-time data streams.
It allows for the publishing and subscribing to streams of records, similar to a message queue.
Kafka is often used for log aggregation, stream processing, event sourcing, and real-time analytics.
It p...
I applied via Naukri.com and was interviewed in Feb 2024. There was 1 interview round.
Code to validate all use cases for an IP address input string and output yes or no.
Use regular expressions to match the input string against the valid IP address pattern.
Check for valid ranges of each octet (0-255) and proper formatting (4 octets separated by periods).
Handle edge cases like leading zeros, extra spaces, and invalid characters.
Return 'yes' if the input string is a valid IP address, otherwise return 'no'.
Find common values in two sorted integer arrays efficiently.
Use two pointers approach to iterate through both arrays simultaneously.
If the current values are equal, add it to the result and move both pointers forward.
If the current values are not equal, move the pointer of the array with the smaller value forward.
I applied via LinkedIn and was interviewed in Oct 2023. There were 3 interview rounds.
Top trending discussions
Some of the top questions asked at the PubMatic interview -
The duration of PubMatic interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 24 interview experiences
Difficulty level
Duration
based on 128 reviews
Rating in categories
Softwaretest Engineer
102
salaries
| ₹3.4 L/yr - ₹5.1 L/yr |
Senior Software Engineer
97
salaries
| ₹12.5 L/yr - ₹42 L/yr |
Software Engineer
84
salaries
| ₹8 L/yr - ₹27 L/yr |
Principal Software Engineer
50
salaries
| ₹19 L/yr - ₹51 L/yr |
QA Engineer
27
salaries
| ₹3.5 L/yr - ₹4.9 L/yr |
Tekwissen
Damco Solutions
smartData Enterprises
In Time Tec Visionsoft