Итак, все началось утром 14 сентября 2019 года в 9:00. Немыслимое программное обеспечение, то есть дочерняя компания Daffodil Softwares, приехала в наш колледж. Я прохожу MCA в Технологическом и исследовательском институте Акрополя.
Ну, это не по теме. Было бы здорово, если бы вы подписались на мой канал YouTube. Это определенно поможет мне расти, и я обязательно буду размещать на своем канале потрясающий технический контент. Так что да, пожалуйста, подпишитесь здесь - Не совсем технический
Раунд 1 (Онлайн-тест - Hackerearth)
Первый раунд был проведен в Hackerearth и длился 60 минут. Было 3 довольно простых вопроса по программированию.
- Удвоение гласных
Задача заключалась в том, чтобы удвоить гласные символы в строке
Input : Sequoia Output : Seequuooiiaa #Python3 string = input() out = str() vowels = [’a’,’e’,’i’,’o’,’u’,’A’,’E’,’I’,’O’,’U,] for i in range(len(string)): if(string[i] in vowels): out += string[i]*2 else: out += string[i] print(out)
2. Найдите ближайший номер
Будет дан массив размера N и целое число x, и задача состояла в том, чтобы найти ближайший к x элемент в массиве. В случае ничьей выведите большее число.
Input : 8 4 1 3 6 5 Output : 6 #Python3 arr = list(map(int,input().split())) x = int(input()) temp = [] for i in range(len(arr)): temp[i] = abs(arr[i] - x) mn = min(temp) rslt = [] for i in range(len(temp)): if(temp[i] == mn): rslt.append(arr[i]) print(max(rslt))
3. Расчет минимального количества заметок
Валютная система состоит из банкнот следующих номиналов - 2000, 500, 200, 100, 50, 20, 10, 5, 2, 1. Задача состоит в том, чтобы найти минимальное количество банкнот, необходимое для удовлетворения введенной суммы.
Input : 153 Output : 4 #Python3 n = int(input()) c=0 while(n>0): if(n in range(1,2)): n-=1 c+=1 elif(n in range(2,5)): n-=2 c+=1 elif(n in range(5,10)): n-=5 c+=1 elif(n in range(10,20)): n-=10 c+=1 elif(n in range(20,50)): n-=20 c+=1 elif(n in range(50,100)): n-=50 c+=1 elif(n in range(100,200)): n-=100 c+=1 elif(n in range(200,500)): n-=200 c+=1 elif(n in range(500,2000)): n-=500 c+=1 elif(n>=2000): n-=2000 c+=1 print(c)
Итак, это были три вопроса по программированию и мой подход. Любой лучший подход и / или предложения приветствуются :)
Раунд 2 (Кодирование на бумаге)
В этом раунде были даны два вопроса по программированию, которые нужно было решить на бумаге.
- Вопрос на основе шаблонов
Учитывая массив размера N, вы должны напечатать определенный узор.
Input : -3 4 3 1 -4 Output : **** ***** **** ** ***** #Python3 arr = list(map(int,input().split())) mn = min(arr) space = 0 if(mn<0): space = abs(mn) for i in range(len(arr)): if(arr[i]<0): print((space - abs(arr[i]))* " " + (abs(arr[i])+1)* "*") elif(arr[i]>=0): print(space * " " + (arr[i]+1)* "*")
2. Сбалансированная струна
Задача в этих вопросах заключалась в том, чтобы выяснить, состоит ли строка из скобок сбалансирована или нет.
Input : {[()]} Output : True Input : {[}()] Output : False #Python3 string = input() l = len(string) r = l-1 flag = True for i in range(l/2): if(string[i] == "{"): if(string[r] == "}"): r -=1 continue else: flag = False break if(string[i] == "["): if(string[r] == "]"): r -=1 continue else: flag = False break if(string[i] == "("): if(string[r] == ")"): r -=1 continue else: flag = False break if(flag): print("True") else: print("False")
Я знаю, что это не лучшие подходы к решению вышеуказанного вопроса, поэтому буду благодарен, если кто-нибудь даст мне советы по улучшению моего решения.
Раунд 3 (техническое интервью)
Из более чем 350 кандидатов до Первого тура было отобрано 15 кандидатов для личного технического собеседования (включая меня 😻).
Итак, Interviewer был молод, рассудителен и очень крут. Он знал, как сделать свежее удобнее. Поэтому он начал спрашивать: «Расскажи мне о себе?» после чего следует ряд технических вопросов.
Итак, он увидел, что я упомянул Git в своем резюме, поэтому он начал с вопроса, что такое «Checkout» в Git? В то время я не знал ответа, поэтому сказал ему, что знаю только основы Git. Затем он спросил о «Клоне», и я сказал ему, что мы используем Клон в Git для клонирования репозитория на нашу Машину. Между тем, в кабину из ниоткуда вошла девушка (еще один кандидат), показав интервьюеру свой код проблемы, который он ей передал ранее. Интервьюер посоветовал мне провести пробный запуск ее кода, который был в бесконечном цикле, и состоит из непонятной логики. Он твердо попросил ее исправить это.
Итак, возвращаясь к интервью, он затем спросил меня о различных сценариях, в которых я мог бы использовать связанный список и массив, а также очередь и ее приложения.
Он также спросил меня о некоторых концепциях OOPS, таких как наследование, абстракция данных и сокрытие данных.
Затем он просмотрел мое резюме и спросил меня, комфортно ли я отношусь к Java (потому что у меня есть сертификат NPTEL). Я твердо сказал, что нет, тогда он спросил о блокчейне (еще одна сертификация в резюме: p). Вот здесь я чувствую, что все пошло не так, потому что никогда не следует упоминать в своем резюме вещи, на которые ему / ей неудобно или на которые он / она не готов ответить в интервью. Наконец, он спросил меня о malloc и calloc в C, на что я ответил частично.
Затем он дал мне формулировку проблемы и попросил написать ее код на бумаге.
Input : aaabsbbbeer Output : 3a4b1s2e1r Task was to find no. of characters in a string and output them in the this format : Total no. of characters in the string followed by that character
Сначала я подошел к проблеме с неэффективным пространством решения (точно не помню код), для которого Interviewer попросил меня исправить код.
Тогда я придумал это решение.
s = input() l = [s[i] for i in range(len(s))] l = set(l) out = str() for i in l: t = s.count(i) out += str(t) + i print(out)
Я объяснил приведенный выше код интервьюеру, и он частично согласился с кодом и сказал: «Спасибо, Аншул». Так что это был сигнал к отъезду. :п
Итак, окончательный вердикт был отклонен, и я думаю, что это причины, которые привели меня к отказу:
- Я не был полностью готов к тому, что упомянул в своем резюме.
- Я не мог объяснить свой код интервьюеру.
- Я никогда не был готов зайти так далеко в процессе найма, поэтому мне не хватило подготовки.
Кстати, эту девушку выбрали: p
Удачи мне в следующий раз.
Спасибо за чтение.
Пусть это кому-то поможет.
Любые предложения / советы приветствуются.
LinkedIn: https://www.linkedin.com/in/anshoool/
Instagram: Аншул Шарма