# 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