Introduction To Yahoo Interview Questions
Yahoo is known across the world, it has been a household name for most internet users. During modern times, even though Google has most of the market share for search engines and online advertising, Yahoo’s existence is still very prominent.
There are many people who absolutely won’t shift from their favorite Yahoo homepage and their trusted Yahoo mails.
Yahoo is a big corporation and needs software engineers who have a wide range of skills. Yahoo provides a huge number of web services that need skilled engineers to support and sustain, thus Yahoo is always hiring both freshers and experienced working professionals.
In recent times, Yahoo is owned by Verizon and they are planning to take the company even further. All interested software developers and engineers are all recommended to try their luck by sitting for Yahoo interviews.
Let’s check some Yahoo interview questions that have been asked from different topics that are quite common and have appeared in previous Yahoo interviews.
Click on the following link to read further: Java OOPs Interview Questions and Operating System Interview Questions
Top 30 Yahoo Interview Questions
Here are the best recurring technical questions that are asked during interviews conducted by Yahoo. The questions range from programming, DBMS, SAP, and Web development.
1. What are the advantages and disadvantages of using views in ABAP programming?
Answer: Due to the join conditions being available on the database level directly, views are noticeably faster as compared to using ABAP-SQL statements. Also, you can fetch data from multiple tables and show them as output.
2. What do you know about .Net Remoting?
Answer: The .NET Remoting is a programming interface that is used for interprocess communication release.
3. What are the steps involved in performance tuning?
Answer: First, we must document the application and then monitor it. Following this, we must determine what the acceptable performance is and then do research. Then, the bottlenecks must be identified and the priorities defined. Finally, we can take action on the basis of our findings and then document the final resolution.
4. What is the basic difference between late binding and early binding?
Answer: The fundamental difference between late and early binding is their type conversion. Late binding checks types only during the creation of an object or if any action is passed on the type.
5. What do you mean by a DataAdapter?
Answer: Datadapters function as bridges between data sources and disconnected data classes in ADO.NET. It specifies SQL commands to facilitate fundamental CRUD functions at the simplest level.
6. What is meant by an extended class?
Answer: Extended classes are classes derived from other classes by inheritance from other classes. They are also known as derived classes or child classes and the original classes are known as the parent or base class. Their attributes and methods might also be inherited through inheriting them.
7. What is a Data model?
Answer: Data models are abstract models that organize data elements and standardizes how they are related to the attributes of other real-world entities and to each other. is an abstract model that organizes elements of data and standardizes how they relate to one another and to the properties of real-world entities.
8. What is understood by a DML compiler?
Answer: While DML refers to Data Manipulation language, its compiler fundamentally converts DML commands or statements into low-level instructions that the query evaluation engine can process.
9. What is the query evaluation engine?
Answer: The Query Evaluation Engine has the responsibility of executing low-level instructions generated by compilers to enable specific outputs. This helps in evaluating all the queries in SQL.
10. What do you understand about database normalization?
Answer: Database normalization can easily be defined as the process that allows databases to get structured. This is done generally in relational databases using a series of forms to reduce data redundancy and for improving data integrity.
11. What are the three levels of data abstraction?
Answer: The three levels of data abstraction are the Internal Level, logical level, and external level. The internal level is the actual physical storage structure while the logical or conceptual levels are structures and constraints for the total database. The external or view level simply describes different user views.
12. How can you find the 2nd largest element in a binary search tree?
Answer:
class Node:
def __init__(self, data):
self.key = data
self.left = None
self.right = None
def secondLargestUtil(root, c):
if root == None or c[0] >= 2:
return
secondLargestUtil(root.right, c)
c[0] += 1
if c[0] == 2:
print("2nd largest element is",
root.key)
return
secondLargestUtil(root.left, c)
def secondLargest(root):
c = [0]
secondLargestUtil(root, c)
def insert(node, key):
if node == None:
return Node(key)
if key < node.key:
node.left = insert(node.left, key)
elif key > node.key:
node.right = insert(node.right, key)
return node
if __name__ == '__main__':
# Let us assume this is the Binary Search Tree
# 40
# / \
# 50 80
# / \ / \
# 60 30 70 90
root = None
root = insert(root, 40)
insert(root, 50)
insert(root, 80)
insert(root, 60)
insert(root, 30)
insert(root, 70)
insert(root, 90)
secondLargest(root)
13. What do you understand by the hashing?
Answer: The hashing technique can be defined as the process of mapping large chunks of data into smaller tables in a data structure using a hashing function. This is also known as the message digest function and it identifies specific items from an assortment of similar items.
14. What do you understand by checked and unchecked exceptions?
Answer: The main difference between checked and unchecked exceptions is what they indicate and when. A checked exception is forced during compilation and indicates exceptional conditions that go beyond the program.
Meanwhile, an unchecked exception occurs during runtime for indicating programming errors.
15. What is 4NF in DBMS?
Answer: The 4NF or the fourth normal form is used for database normalization and is a normal form.
16. What is the basic difference between an interface as an abstract class?
Answer: AInterfaces allow functionalities to be defined but not implemented while abstract classes allow the creation of functionalities that a subclass implements and overrides.
17. What are files with .JAR extensions?
Answer: The JAR extension is for file formats that are packages containing multiple java class files alongside their resources and metadata. JAR files are archived and include a Java-specific manifesting file. These package files have .jar file extensions and run in ZIP format.
18. What are null interfaces?
Answer: Null interface refers to marker interfaces and is an empty interface without any declarations. They do not contain any function declaration and convey to the compiler how they must be treated in a specific manner.
19. What are the different types of EAI?
Answer: The different types of EAI are the Data level, Application Interface level, Method level, and User Interface level.
20. What do you understand about a data pipeline?
Answer: A data pipeline is a set of data processing elements that are connected in a series format. The output of each of these elements is the output of the next consecutive element and these elements are generally executed parallelly.
21. Write a function for reversing the words in a given string.
Answer:
def reverse_word(s, start, end):
while start < end:
s[start], s[end] = s[end], s[start]
start = start + 1
end -= 1
s = "I love Python"
s = list(s)
start = 0
while True:
end = s.index(' ', start)
reverse_word(s, start, end - 1)
start = end + 1
except ValueError:
reverse_word(s, start, len(s) - 1)
break
s.reverse()
s = "".join(s)
print(s)
22. What are webMethods?
Answer: webMethods allows you to integrate and automate tasks by connecting existing IT infrastructure over the web. This is mainly done to connect applications such as Salesforce or Gmail with your pre-existing assets. webMethods allow seamless integration and removes the need for extension building.
23. Build a function to find every duplicate file in a list.
Answer:
from __future__ import print_function
from collections import defaultdict
import hashlib
import os
import sys
def chunk_reader(fobj, chunk_size=1024):
"""Generator that reads a file in chunks of bytes"""
while True:
chunk = fobj.read(chunk_size)
if not chunk:
return
yield chunk
def get_hash(filename, first_chunk_only=False, hash=hashlib.sha1):
hashobj = hash()
file_object = open(filename, 'rb')
if first_chunk_only:
hashobj.update(file_object.read(1024))
else:
for chunk in chunk_reader(file_object):
hashobj.update(chunk)
hashed = hashobj.digest()
file_object.close()
return hashed
def check_for_duplicates(paths, hash=hashlib.sha1):
hashes_by_size = defaultdict(list)
hashes_on_1k = defaultdict(list)
hashes_full = {}
for path in paths:
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
full_path = os.path.join(dirpath, filename)
try:
# if the target is a symlink (soft one), this will
# dereference it - change the value to the actual target file
full_path = os.path.realpath(full_path)
file_size = os.path.getsize(full_path)
hashes_by_size[file_size].append(full_path)
except (OSError,):
# not accessible (permissions, etc) - pass on
continue
for size_in_bytes, files in hashes_by_size.items():
if len(files) < 2:
continue
for filename in files:
try:
small_hash = get_hash(filename, first_chunk_only=True)
hashes_on_1k[(small_hash, size_in_bytes)].append(filename)
except (OSError,):
continue
for __, files_list in hashes_on_1k.items():
if len(files_list) < 2:
continue
for filename in files_list:
try:
full_hash = get_hash(filename, first_chunk_only=Fals
duplicate = hashes_full.get(full_hash)
if duplicate:
print("Duplicate found: {} and {}".format(filename, duplicate))
else:
hashes_full[full_hash] = filename
except (OSError,):
continue
if __name__ == "__main__":
if sys.argv[1:]:
check_for_duplicates(sys.argv[1:])
else:
print("Pass the paths to check the parameter.")
24. How can you invoke services from a browser?
Answer: We can use the Run in Browser command for running or invoking a service directly from browsers. When using this command, we must provide the input values of the service after which the designer interface builds the URL necessary for invoking the service.
This will automatically build the URL based on your inputs and then pass this URL to your browser or a browser-based client.
Must Read Topic: Azure Data Engineer Interview Questions
25. What is a collect statement?
Answer: Collect statements are used for adding data from an internal table and passing it to another table of similar type. The numeric data is added appended and added automatically depending on the first few fields and based on the non-numerical field changes.
26. Write a function to delete a pointer to a node in a singly linked list.
Answer:
class Node():
def __init__(self):
self.data = None
self.next = None
def push(head_ref, new_data):
new_node = Node()
new_node.data = new_data
new_node.next = head_ref
head_ref = new_node
return head_ref
def printList(head):
temp = head
while(temp != None):
print(temp.data, end=' ')
temp = temp.next
def deleteNode(node_ptr):
temp = node_ptr.next
node_ptr.data = temp.data
node_ptr.next = temp.next
if __name__ == '__main__':
head = None
head = push(head, 1)
head = push(head, 4)
head = push(head, 1)
head = push(head, 12)
head = push(head, 1)
print("Before deleting ")
printList(head)
deleteNode(head)
print("\nAfter deleting")
printList(head)
27. What do you understand by a domain and data elements in a table?
Answer: Domains are used as technical definitions of the table fields such as the length and the field type. Meanwhile, data elements are used for semantically defining the meaning of these domains in various business contexts.
28. What are the different data dictionary objects?
Answer: Views, domains, tables, lock objects, domains, match code objects, data elements and structures are all data dictionary objects.
29. Can JSP technology be extended?
Answer: Yes, JSP technology can be extended by using tags that are encapsulated in tag libraries or using custom actions.
30. What is serialization?
Answer: Serialisation can be defined as a process of converting a data structure or state into formats that can be easily contained, transferred, and reconstructed according to a requirement.