InterviewQs

Top 25 Python Interview Coding Questions

Carefully curated high-frequency Python coding problems used in real technical interviews.

1.Swap two variables

a, b = 5, 10
a, b = b, a
print(a, b)

2.Factorial using recursion

def fact(n):
    if n == 0:
        return 1
    return n * fact(n-1)

print(fact(5))

3.Check prime number

n = 29
flag = True
for i in range(2, n//2 + 1):
    if n % i == 0:
        flag = False
        break
print('Prime' if flag else 'Not Prime')

4.Reverse a string

s = 'hello'
print(s[::-1])

5.Palindrome number

n = 121
print('Palindrome' if str(n)==str(n)[::-1] else 'Not Palindrome')

6.GCD of two numbers

import math
print(math.gcd(24, 36))

7.Fibonacci series

a, b = 0, 1
for _ in range(10):
    print(a, end=' ')
    a, b = b, a + b

8.Largest element in list

lst = [3,8,1,9,4]
print(max(lst))

9.Second largest element

lst = [10,20,30,40]
lst = sorted(set(lst), reverse=True)
print(lst[1])

10.Bubble sort

arr = [5,1,4,2]
for i in range(len(arr)):
    for j in range(len(arr)-i-1):
        if arr[j] > arr[j+1]:
            arr[j], arr[j+1] = arr[j+1], arr[j]
print(arr)

11.Binary search

import bisect
arr = [1,3,5,7,9]
x = 7
i = bisect.bisect_left(arr, x)
print('Found' if i < len(arr) and arr[i]==x else 'Not Found')

12.Sum of digits

n = 123
print(sum(int(d) for d in str(n)))

13.String length

s = 'hello'
print(len(s))

14.Anagram check

a = 'listen'
b = 'silent'
print('Anagram' if sorted(a)==sorted(b) else 'Not Anagram')

15.Reverse linked list (concept)

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

16.Stack using list

stack = []
stack.append(10)
stack.append(20)
print(stack.pop())

17.Queue using deque

from collections import deque
q = deque()
q.append(10)
q.append(20)
print(q.popleft())

18.Balanced parentheses

s = '(())'
stack = []
balanced = True
for c in s:
    if c == '(':
        stack.append(c)
    else:
        if not stack:
            balanced = False
            break
        stack.pop()
print('Balanced' if balanced and not stack else 'Not Balanced')

19.Decimal to binary

print(bin(10)[2:])

20.Find duplicate element

lst = [1,2,3,2]
seen = set()
for x in lst:
    if x in seen:
        print(x)
        break
    seen.add(x)

21.Missing number

lst = [1,2,4,5]
n = 5
print(n*(n+1)//2 - sum(lst))

22.Array rotation

lst = [1,2,3,4,5]
k = 2
print(lst[k:] + lst[:k])

23.Matrix transpose

mat = [[1,2],[3,4]]
print(list(zip(*mat)))

24.Armstrong number

n = 153
print('Armstrong' if sum(int(d)**3 for d in str(n))==n else 'Not Armstrong')

25.Garbage collection

import gc
gc.collect()
InterviewQs – Professional Footer