Python developer Interview Questions
2K
Python Developer interview questions shared by candidates
First Round: Write a pattern 1: Should accept only odd numbers numbers only except 2: Pattern should be fully Dynamic for n =1 @@@@@ * ** *** **** ***** ****** ***** **** *** ** * @@@@@ Second Round:n=6 * ** *** **** ****** ****** ***** **** *** ** *
7 Answers↳
num = int(input()) for i in range(num): print('@',end="") for i in range(num+2): for j in range(i): print("*",end="") print() for i in range(num,0,-1): for j in range(i): print("*",end="") print() for i in range(num): print('@',end="") Less
↳
num = int(input()) for i in range(num): for j in range(num): print(" ",end=" ") for j in range(num-i): print(" ",end="") for j in range(i+1): print("*",end=" ") print() for i in range(num,0,-1): for j in range(num-i+1): print(" ",end="") for j in range(i): print("*",end=" ") print() Less
↳
with less loops n=int(input()) print(n*"@") for i in range(1,n+2): for j in range(i): print("*",end="") print("") for i in range(n,0,-1): for j in range(i): print("*",end="") print("") print(n*"@") Less

Find set of chars not repeated in a list.
6 Answers↳
I bet you come from C++? return [x for x in li if li.count(x) == 1]
↳
There's actually an even simpler solution: return set(li)
↳
A=['a', 'b,' a'] Set(a) ['a', 'b']

# n=3 * * * @ * @ * @ * * * #n=5 * * * @ * * * @ * * * @ * * * @ * * * @ * * * somewhat similar to these !
5 Answers↳
I was only able to do this : * * * @ * * * @ * * @ * @ Less
↳
Please elaborate your question.. How question pattern looks like. It's seems in single line and you printed in multiple lines... thank-you Less
↳
n = int(input("num")) print("* " ) print("* ", end="") print("* ", end="") print("@ ", end="") print("\n") for i in range(n-2, 0, -1): m = n-1-i for j in range(i): print("* " , end="") print("@ ", end="") for k in range(m): print("* ",end="") print("\n") print(" ", end="") print(" ", end="") print("@ ", end="") print("* ", end="") print("* ") for m in range(5): if m<4: print(" ", end="") else: print("* ") Less

question on list ,sets and dictionary
4 Answers↳
What were the questions about in the online test and face to face round
↳
Face to face they ask related to DS al
↳
do you remember questions asked in online hackerrank test

Given a very long string composed of numbers as characters, find the four character substring that has the largest multiple. For example, given the string "809723", the two char substring with the largest multiple is "97", having a multiple 9*7 = 63.
4 Answers↳
max([functools.reduce(operator.mul, data[i-4:i]) for i in data if i > 3])
↳
max([functools.reduce(operator.mul, data[i-4:i]) for (i, e) in enumerate(data) if e > 3]) Less
↳
def largest_2str_multipler(a): l = len(a) m = int(a[0])*int(a[1]) for x in range(1,l-1): if m < int(a[x])*int(a[x+1]): m = int(a[x])*int(a[x+1]) return m Less

Write a Program to print sum of even numbers which is divisible by 8:-
4 Answers↳
what was the question in your Hackathon round?
↳
Share the questions of hackathon round plz
↳
It will. Be great help if someone can update here questions of Hackathon Or round 3 . Thanks! Less

They asked about programming and analytical questions.
4 Answers
How would you triage and go about fixing infrastructure problems? Giving an input file, get the number of lines matching a specific piece of text using bash scripting. Give the percentage of lines in the file that match that string.
3 Answers↳
1.) I said hard to tell because that is a very vague question. 2.) Use grep and awk and wc. 3.) Use the above plus "bc" to calculate percentage. Less
↳
for: 2.) Use grep and awk and wc. I believe grep + uniq + wc would be better and simpler, right? Less
↳
for: 2.) Use grep and awk and wc. 'grep -c' is enough

How to remove duplicated items in a list? What's the complexity of your algorithm?
3 Answers↳
def rem_dupe(input_list): x = set(input_list) return [y for y in x]
↳
def remove_duplicates(arr): return list(dict.fromkeys(arr).keys())
↳
def remove_duplicate(l): ...: res = [] ...: n = len(l) ...: if n < 2: ...: return l ...: for i in range(1,n): ...: if l[i-1] != l[i]: ...: res.append(l[i-1]) ...: res.append(l[-1]) ...: return res Less

For the years 1901 to 2000, count the total number of Sundays that fell on the first of a month.
3 Answers↳
import datetime c = 0 for y in range(1901,2001): for m in range(1,13): d = datetime.datetime(y,m,1) if d.weekday() == 6: c += 1 print('Number of Sundays: ',c) Less
↳
import datetime count=0 for i in range(1901,2001): for j in range(1, 13): if datetime.date(i,j,1).weekday() == 6: count+=1 print(count) Less
↳
Two lines of code in matlab: Answer is 171 sundays fall on the first day of the month from 1 Jan 1901 to 31 Dec 2000 dt = datenum(1901,1,1):datenum(2001,1,1)-1; sum(day(dt(weekday(dt) == 1)) == 1) Less