Python Coding Interview Questions and Answers
Freshers / Beginner level questions & answers
Ques 1. Write a function to reverse a string.
def reverse_string(input_str):
return input_str[::-1]
Example:
reverse_string('hello') # Output: 'olleh'
Ques 2. Implement a function to check if a string is a palindrome.
def is_palindrome(input_str):
return input_str == input_str[::-1]
Example:
is_palindrome('radar') # Output: True
Ques 3. Write a Python function to check if a given year is a leap year.
def is_leap_year(year):
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
Example:
is_leap_year(2024) # Output: True
Ques 4. Implement a function to find the maximum element in a list.
def find_max_element(lst):
return max(lst)
Example:
find_max_element([3, 7, 2, 8, 5]) # Output: 8
Ques 5. Write a Python program to count the occurrences of each element in a list.
from collections import Counter
def count_occurrences(lst):
return Counter(lst)
Example:
Ques 6. Create a function to check if a given string is an anagram of another string.
def is_anagram(str1, str2):
return sorted(str1) == sorted(str2)
Example:
Ques 7. Implement a function to remove duplicates from a list.
def remove_duplicates(lst):
return list(set(lst))
Example:
Intermediate / 1 to 5 years experienced level questions & answers
Ques 8. Write a Python program to find the factorial of a number.
def factorial(n):
return 1 if n == 0 else n * factorial(n-1)
Example:
Ques 9. Implement a function to check if a number is prime.
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
Example:
Ques 10. Create a Python class for a basic stack implementation.
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def is_empty(self):
return len(self.items) == 0
Example:
stack.push(1)
stack.push(2)
print(stack.pop()) # Output: 2
Ques 11. Write a Python program to find the nth Fibonacci number.
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
Example:
Ques 12. Write a Python program to find the length of the longest increasing subsequence in an array.
def longest_increasing_subsequence(arr):
n = len(arr)\n lis = [1]*n
for i in range(1, n):
for j in range(0, i):
if arr[i] > arr[j] and lis[i] < lis[j] + 1:
lis[i] = lis[j] + 1
return max(lis)
Example:
Ques 13. Create a Python generator function to generate the power set of a given set.
def power_set(input_set):
n = len(input_set)
for i in range(1 << n):
subset = [input_set[j]
for j in range(n):
if (i & (1 << j)) > 0]
yield subset
Example:
Ques 14. Write a Python function to implement the binary search algorithm.
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1
Example:
Experienced / Expert level questions & answers
Ques 15. Implement a function to find the intersection of two lists.
def intersection(list1, list2):
return list(set(list1) & set(list2))
Example:
Ques 16. Write a Python program to perform matrix multiplication.
import numpy as np
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
result = np.dot(matrix1, matrix2)
Example:
# Output: [[19, 22], [43, 50]]
Ques 17. Create a generator function to generate Fibonacci numbers.
def fibonacci_generator():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
Example:
print(next(fib_gen)) # Output: 0
Ques 18. Implement a depth-first search (DFS) algorithm for a graph.
def dfs(graph, node, visited):
if node not in visited:
print(node)
visited.add(node)
for neighbor in graph[node]:
dfs(graph, neighbor, visited)
Example:
visited_set = set()
dfs(graph, 1, visited_set)
Ques 19. Implement a function to check if a binary tree is balanced.
class TreeNode:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def is_balanced(root):
if root is None:
return True
left_height = height(root.left)
right_height = height(root.right)
return abs(left_height - right_height) <= 1 and is_balanced(root.left) and is_balanced(root.right)
def height(node):
if node is None:
return 0
return max(height(node.left), height(node.right)) + 1
Example:
is_balanced(root)
Ques 20. Write a Python program to implement a simple LRU (Least Recently Used) cache.
from collections import OrderedDict
class LRUCache:
def __init__(self, capacity):
self.cache = OrderedDict()
self.capacity = capacitydef get(self, key):
if key in self.cache:
self.cache.move_to_end(key)
return self.cache[key]
return -1def put(self, key, value):
if len(self.cache) >= self.capacity:
self.cache.popitem(last=False)
self.cache[key] = value
self.cache.move_to_end(key)
Example:
lru_cache = LRUCache(3)
lru_cache.put(1, 1)
lru_cache.put(2, 2)
lru_cache.put(3, 3)
print(lru_cache.get(2)) # Output: 2
Most helpful rated by users:
- Implement a function to find the maximum element in a list.
- Write a Python program to count the occurrences of each element in a list.
Related interview subjects
Embedded C interview questions and answers - Total 30 questions |
C++ interview questions and answers - Total 142 questions |
VBA interview questions and answers - Total 30 questions |
COBOL interview questions and answers - Total 50 questions |
R Language interview questions and answers - Total 30 questions |
Python Coding interview questions and answers - Total 20 questions |
Scala interview questions and answers - Total 48 questions |
Swift interview questions and answers - Total 49 questions |
Golang interview questions and answers - Total 30 questions |