Тёмный

Вот как нужно проходить собеседование на Junior Python разработчика 

Макс из codereview
Подписаться 3,9 тыс.
Просмотров 17 тыс.
50% 1

Хочешь участвовать в таком же Mock Interview? Пиши + в комменты на нашем телеграм канале - t.me/YourCodeReview
Посмотреть описание этой вакансии - docs.google.com/document/d/1h...
Больше про разработку в нашем телеграм канале! Подписывайся :)
t.me/YourCodeReview
00:00 - Intro
2:00 - Знакомство с кандидатом
6:31 - Первые вопросы
26:50 - Начало технической части
01:10:13 - Фидбэк
01:26:40 - Закулисье :)

Опубликовано:

 

19 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 56   
@yourcodereview
@yourcodereview 9 месяцев назад
Ребят, если вам понравился видосик, то поставьте ему лайк! По братски :) Ваша поддержка нереально много для нас значит!
@bgs12
@bgs12 9 месяцев назад
Спасибо за видос. Очень интересное интервью
@Sosed2024
@Sosed2024 9 месяцев назад
Благодарю, качественно.
@maxpiotrkowski
@maxpiotrkowski 8 месяцев назад
Не могли бы добавить тест-кейсы задачи? Интересно попробовать самому решить🙂
@ussenUtebayev
@ussenUtebayev 8 месяцев назад
В первой задаче можно определить класс передать параметры в конструктор все три значения, перопределить методы сравнения и в результирующей функций сплитит строки и передавать аргументом в класс и накинуть аргумент sort(key=instance.timestamp) Незнаю будет ли работать, накинул из головы
@user-tk5xm4ox2c
@user-tk5xm4ox2c 4 месяца назад
def func(lst1, lst2): return sort(lst1 + lst2, key=lambda(x, int(x.split(" ")[0]))). Первое, что пришло в голову после того, как ознакомился с условием)
@kaluginpeter
@kaluginpeter 5 месяцев назад
Интересный собес! По поводу задачи на слияние двух отсортированных последовательностей, то на ум сразу пришел Two Pointers
@VGCor
@VGCor 4 месяца назад
Ну это не наши методы) В смысле не методы питонистов
@mgotovtsev
@mgotovtsev 4 месяца назад
Задача в две строки решается (можно в одну). Вначале сплит, потом heapq. merge листов. И можно любое количество датчиков обработать через *args.
@mgotovtsev
@mgotovtsev 4 месяца назад
Фаааак... Парень потом прямо говорит, что через кучу надо решать эту задачу 😂😂😂 когда писал решение ещё не досмотрел до конца. Если без merge готового делать, то нужно да через кучу в цикле перебирать итераторы. Делал подобное когда-то... Там значения только из файлов приходили. После каждой итерации вызываем хипифай и берëм значение, и делаем некст соотв. итератору.
@user-xs5qe3ro4w
@user-xs5qe3ro4w 2 месяца назад
При всём уважении объясните мне, пожалуйста, почему эту задачу не решили банальным сложением списков и сортировкой с ключом по анонимной функции lambda, в которой мы каждый список сплитуем и сортируем по первому элементу сплита? Тогда будет всего 4-6 строчек кода. Или я неправильно задачу понял?
@seoonlyRU
@seoonlyRU 9 месяцев назад
чотенько! лайк от СЕООНЛИ!
@user-nu3ot7td1j
@user-nu3ot7td1j 8 месяцев назад
ещё бы увидеть, что там за задача, а то на слух сложно
@NightoSan
@NightoSan Месяц назад
это надо быть надмозгом созать i и j коунтеры и затем делать цикл в цикле c i и j
@yakirakun3938
@yakirakun3938 9 месяцев назад
Как Кирилла меня задело написание имени а одной буквой Л 😂😂😂
@luckytima2315
@luckytima2315 8 месяцев назад
Что за кринжатина, 30 минут ковырять задачу которая легче чем задача 26 из егэ. Кликбейтный заголовок ...
@shoggot282
@shoggot282 5 месяцев назад
иди порешай егэ братик обязательно поможет там еще 27 я слышал есть вапще страх вот решишь и точно на работу устроишься
@fokas8174
@fokas8174 7 дней назад
@@shoggot282я в этом году егэ сдавал. Сделал 27, только для б пункта не успел, остальное все сделал. Егэ изи, но оно очень тупое, для проверки программирования…
@Chel1k7
@Chel1k7 9 месяцев назад
А что обычный extend изначально был запрещен? К чему сложности через while?
@VaeVictisDanil
@VaeVictisDanil 9 месяцев назад
Если написать просто extend, то условие отсортированности результирующего массива не будет соблюдаться
@user-gp7ew4jj2h
@user-gp7ew4jj2h 9 месяцев назад
@@VaeVictisDanil а что sorted запрещен?
@1234567qwerification
@1234567qwerification 8 месяцев назад
Тогда следующим вопросом было бы что-то про "о большое"? 😀
@arthurlouiskarl
@arthurlouiskarl 7 месяцев назад
​@@user-gp7ew4jj2hкакой смысл в алго-собесе, если можно сортировать функцией из стандартной библиотеки? да и сильно неэффективно вышло бы, важна оптимальность решения по скорости и по памяти
@user-gp7ew4jj2h
@user-gp7ew4jj2h 7 месяцев назад
@@arthurlouiskarl какой алгособес джуну? ладно бы он основной функционал еще показал, что он понимает, что есть другие способы. то, что он выдал в видосе, это базовый гигачад пришедший из сей. смысл в питоне и куче его полезных функций и либ, если ты не в состоянии показать это хотя бы в самом начале, прежде чем начнешь что-то подобное лепить? я не говорю, что он это сделал неправильно, я говорю, что я бы на собесе джуна алгоритмы проверял во вторую очередь. возможно перед видео они уже что-то обсудили и оценили, поэтому решили сразу так, но у зрителя такой информации нет. почему сразу не прыгнуть к torch GPU сорту, который самый быстрый на данный момент? Это даже больше вопрос не к джуну, а к интервьюеру
@_the_topor_live_3913
@_the_topor_live_3913 4 месяца назад
если идти не на питон разраба а на джанго то будут ли такие задачи?
@Developerchik
@Developerchik 4 месяца назад
Там похожие но чуть сложнее и с вводными данным разными и валидацией
@muvegamehard6032
@muvegamehard6032 2 месяца назад
Чего??А Джанго у тебя не на питоне написана)))Один хрен сначала питон спрашиваю базовый(если на джуна идешь) , потом к джанго переходят , мидлвары, orm джанговская + rest ( без него хрен найдешь вакансию) , + http,smtp,https что и как куда и где, зачем и тд и тп
@muvegamehard6032
@muvegamehard6032 2 месяца назад
Это так что первое в голову пришло по вопросам
@vvvarvfx
@vvvarvfx 8 месяцев назад
Какое решение оптимальное?
@kurisug8867
@kurisug8867 8 месяцев назад
a = '1111 name2 1111' b = '1111 name1 1111' c = '3333 name3 5555' d = '3333 name4 2222' g = '2222 name4 5555' def sort(*args): res = [] for arg in args: res.append(arg) return sorted(res, key = lambda x: (int(x.split(' ')[0]),int(x.split(' ')[2]),int( x.split(' ')[1])) print(sort(a, b, c, d, g)) вот что я придумал буквально за 10 минут (изучаю python месяца 3)
@runneso
@runneso 8 месяцев назад
@@kurisug8867 Сложность nlogn ,а в видосе делают за линейное , что быстрее
@vvvarvfx
@vvvarvfx 8 месяцев назад
@@kurisug8867 Это код не работает. Более того, задача была не об этом. Изначально приходят отсортированные списки, в которых хранятся данные.
@vladtsipov8946
@vladtsipov8946 5 месяцев назад
def neuro_lists_merge(_list1, _list2): _list1.extend(_list2) return sorted(_list1, key=lambda x: int(x.split()[0])) 🤷‍♀
@user-iw2ms1sz9i
@user-iw2ms1sz9i 6 месяцев назад
это что за трэш контент ? задача в 4-5 строк решается
@Hotrification
@Hotrification 9 месяцев назад
Спрм в жп
@Rudi_Norton
@Rudi_Norton 8 месяцев назад
Чел в кепке похож на Тома Холланда
@yourcodereview
@yourcodereview 8 месяцев назад
Это он и есть
@nnnlik
@nnnlik 5 месяцев назад
на словах от интервьювера о том что общения с людьми будет меньше, видео можно закрывать. Из кодера можно сделать любую обезьяну, зачем нанимать для этого людей.
@TrainNoPain
@TrainNoPain 2 месяца назад
def merge_ordered_lists(metric, *args): return sorted(value for values in args for value in values if value.split()[1] == metric ) # time O(n log n), space O(n)
@user-sb4ml3ww4d
@user-sb4ml3ww4d 8 месяцев назад
Сам еще даже не джун и не стажер Если я верно понял, то на вход функция получает строки текстовые, почему начали говорить о листах не ясно...(p.s. свой пример делал из 3 строк) Вижу такое решение, вводим на вход функции 3 строки, их сплитуем и делаем из них те самые листы..) Делаем общий лист добавляя в него под листы тех самых строк, и вызываем built-in функцию Sorted и сортировку по ключу делаем ( через анонимку ключом указываем 0 элемент листа т.е. тот timestamp) выдаем на выход функции.. Если я что то натупил то поправьте.. def mergeandsort(fR: str, lR:str , nR: str)->list: fR=fR.split() lR=lR.split() nR=nR.split() result=list() result.append(fR) result.append(lR) result.append(nR) return sorted(result,key= lambda x: int(x[0]),reverse=False)
@user-qv3jj2lv5h
@user-qv3jj2lv5h 7 месяцев назад
Вы неправильно поняли суть задачи. С каждого датчика приходят список строк. Каждая строка это три значения разделенные пробелом. То есть в первом списке может быть например 1500 строк формата "1827361 name_metrik 1231712". А во втором списке может быть например 20000 строк такого же формата. Нужно сделать список, в котором будет 21500 строк, но они ещё и должны быть отсортированы по первому значению. Попробуйте решить)
@rikitaki9251
@rikitaki9251 7 месяцев назад
Фу, 🤮
@DmitriyKargin
@DmitriyKargin 5 месяцев назад
def merge_sorted_lists(list1, list2): return sorted(list1 + list2, key=lambda x: x.split()[0])
@user-tk5xm4ox2c
@user-tk5xm4ox2c 4 месяца назад
та же фигня)
@user-gp7ew4jj2h
@user-gp7ew4jj2h 9 месяцев назад
кринжа сишного навалил))) result.extend([list1,list2]) return sorted(result)
@ussenUtebayev
@ussenUtebayev 8 месяцев назад
Интересно как он будет string сравнивать, по лексикографическому порядку?
@user-gp7ew4jj2h
@user-gp7ew4jj2h 8 месяцев назад
@@ussenUtebayev так как таймштамп стоит в начале строки, то и сортировать будет по нему, а именно по возрастанию аски кодов
@eeeeeeee133
@eeeeeeee133 8 месяцев назад
merge sort 2 отсортированных массивов за n происходит, твой вариант за n log n
@1234567qwerification
@1234567qwerification 8 месяцев назад
Таймстемпы будут одинаковой длины ещё очень долго (раньше кончится инт32, чем достигнет 10 миллиардов). Но да, формально надо приводить к числу.
@user-gp7ew4jj2h
@user-gp7ew4jj2h 8 месяцев назад
в данном случае на мой взгляд доли секунд компенсируются простой, если бы стоял вопрос оптимизации под нагрузку, тогда бы это имело место. приведенный мной вариант это первое, что должен написать питонист, все таки для выполнения хайлоад задач есть другие инструменты@@eeeeeeee133
Далее
Must-have gadget for every toilet! 🤩 #gadget
00:27
ИСПОЛНЯЮ МЕЧТУ Анастасиз
34:51
Просмотров 928 тыс.