Solutions to Programming, Selenium, and API Questions (Python)
### 1. Basic Data Structures
#### a) Difference between Array and Linked List:
- **Array**: Fixed size, contiguous memory, direct access by index.
- **Linked List**: Dynamic size, non-contiguous memory, sequential
access.
#### b) Binary Search Tree (BST) Implementation (Python):
```python
class Node:
def __init__(self, value):
[Link] = value
[Link] = None
[Link] = None
class BST:
def __init__(self):
[Link] = None
def insert(self, value):
if not [Link]:
[Link] = Node(value)
else:
self._insert_rec([Link], value)
def _insert_rec(self, root, value):
if value < [Link]:
if not [Link]:
[Link] = Node(value)
else:
self._insert_rec([Link], value)
elif value > [Link]:
if not [Link]:
[Link] = Node(value)
else:
self._insert_rec([Link], value)
def in_order(self):
result = []
self._in_order_rec([Link], result)
return result
def _in_order_rec(self, root, result):
if root:
self._in_order_rec([Link], result)
[Link]([Link])
self._in_order_rec([Link], result)
# Usage:
# tree = BST()
# [Link](10); [Link](20); [Link](5)
# print(tree.in_order()) # Output: [5, 10, 20]
```
### 2. Programming Questions
#### a) Largest and Smallest in Array (Python):
```python
arr = [10, 5, 20, 8]
max_val = max(arr)
min_val = min(arr)
print("Max:", max_val, "Min:", min_val)
```
#### b) Check if String is Palindrome (Python):
```python
def is_palindrome(s):
return s == s[::-1]
print(is_palindrome("madam")) # Output: True
```
### 3. Selenium Questions
#### a) Automate Login Functionality (Python):
```python
from selenium import webdriver
driver = [Link]()
[Link]("[Link]
driver.find_element("id", "username").send_keys("invalid_user")
driver.find_element("id", "password").send_keys("wrong_password")
driver.find_element("id", "loginButton").click()
error_msg = driver.find_element("id", "error").text
print("Error:", error_msg)
[Link]()
```
### 4. Python Solutions
#### Strings - Reverse a String:
```python
str = "hello"
reversed_str = str[::-1]
print(reversed_str) # Output: "olleh"
```
#### Control Structures - FizzBuzz:
```python
for i in range(1, 101):
if i % 15 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
```
### 5. API Knowledge
#### API Call in Python:
```python
import requests
response = [Link]("[Link]
if response.status_code == 200:
print("Response:", [Link]())
else:
print("Error:", response.status_code)
```