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

Хочешь участвовать в таком же 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 - Закулисье :)

Пікірлер: 58

  • @yourcodereview
    @yourcodereview10 ай бұрын

    Ребят, если вам понравился видосик, то поставьте ему лайк! По братски :) Ваша поддержка нереально много для нас значит!

  • @bgs12
    @bgs1210 ай бұрын

    Спасибо за видос. Очень интересное интервью

  • @Sosed2024
    @Sosed202410 ай бұрын

    Благодарю, качественно.

  • @maxpiotrkowski
    @maxpiotrkowski9 ай бұрын

    Не могли бы добавить тест-кейсы задачи? Интересно попробовать самому решить🙂

  • @kaluginpeter
    @kaluginpeter6 ай бұрын

    Интересный собес! По поводу задачи на слияние двух отсортированных последовательностей, то на ум сразу пришел Two Pointers

  • @VGCor

    @VGCor

    5 ай бұрын

    Ну это не наши методы) В смысле не методы питонистов

  • @user-tk5xm4ox2c
    @user-tk5xm4ox2c5 ай бұрын

    def func(lst1, lst2): return sort(lst1 + lst2, key=lambda(x, int(x.split(" ")[0]))). Первое, что пришло в голову после того, как ознакомился с условием)

  • @ussenUtebayev
    @ussenUtebayev9 ай бұрын

    В первой задаче можно определить класс передать параметры в конструктор все три значения, перопределить методы сравнения и в результирующей функций сплитит строки и передавать аргументом в класс и накинуть аргумент sort(key=instance.timestamp) Незнаю будет ли работать, накинул из головы

  • @mgotovtsev
    @mgotovtsev5 ай бұрын

    Задача в две строки решается (можно в одну). Вначале сплит, потом heapq. merge листов. И можно любое количество датчиков обработать через *args.

  • @mgotovtsev

    @mgotovtsev

    5 ай бұрын

    Фаааак... Парень потом прямо говорит, что через кучу надо решать эту задачу 😂😂😂 когда писал решение ещё не досмотрел до конца. Если без merge готового делать, то нужно да через кучу в цикле перебирать итераторы. Делал подобное когда-то... Там значения только из файлов приходили. После каждой итерации вызываем хипифай и берëм значение, и делаем некст соотв. итератору.

  • @user-nu3ot7td1j
    @user-nu3ot7td1j8 ай бұрын

    ещё бы увидеть, что там за задача, а то на слух сложно

  • @seoonlyRU
    @seoonlyRU10 ай бұрын

    чотенько! лайк от СЕООНЛИ!

  • @user-xs5qe3ro4w
    @user-xs5qe3ro4w3 ай бұрын

    При всём уважении объясните мне, пожалуйста, почему эту задачу не решили банальным сложением списков и сортировкой с ключом по анонимной функции lambda, в которой мы каждый список сплитуем и сортируем по первому элементу сплита? Тогда будет всего 4-6 строчек кода. Или я неправильно задачу понял?

  • @luckytima2315
    @luckytima23159 ай бұрын

    Что за кринжатина, 30 минут ковырять задачу которая легче чем задача 26 из егэ. Кликбейтный заголовок ...

  • @shoggot282

    @shoggot282

    6 ай бұрын

    иди порешай егэ братик обязательно поможет там еще 27 я слышал есть вапще страх вот решишь и точно на работу устроишься

  • @fokas8174

    @fokas8174

    Ай бұрын

    @@shoggot282я в этом году егэ сдавал. Сделал 27, только для б пункта не успел, остальное все сделал. Егэ изи, но оно очень тупое, для проверки программирования…

  • @yakirakun3938
    @yakirakun393810 ай бұрын

    Как Кирилла меня задело написание имени а одной буквой Л 😂😂😂

  • @user-zu2sy2lq6t
    @user-zu2sy2lq6t6 күн бұрын

    комментаторы смешные, толи не понимают задачи, толи не понимают ограничения. какие result.append( some_list [ i ] )? у вас память бесконечная? только result.append( some_list . pop( 0 ) какие return sorted? опять память кокой sort ( some_list )? n log n, а надо за n да, и на верхнем уровне список дополняется до длины int ( log ( len ( spisok_spiskov ) ) ) + 1 пустыми списками, поверх итеративно merge через for (1, len (spisok_spiskov ), 2) --> сокращение списка до 1 за log n

  • @NightoSan
    @NightoSanАй бұрын

    это надо быть надмозгом созать i и j коунтеры и затем делать цикл в цикле c i и j

  • @1200eojf
    @1200eojf5 ай бұрын

    если идти не на питон разраба а на джанго то будут ли такие задачи?

  • @Developerchik

    @Developerchik

    5 ай бұрын

    Там похожие но чуть сложнее и с вводными данным разными и валидацией

  • @muvegamehard6032

    @muvegamehard6032

    3 ай бұрын

    Чего??А Джанго у тебя не на питоне написана)))Один хрен сначала питон спрашиваю базовый(если на джуна идешь) , потом к джанго переходят , мидлвары, orm джанговская + rest ( без него хрен найдешь вакансию) , + http,smtp,https что и как куда и где, зачем и тд и тп

  • @muvegamehard6032

    @muvegamehard6032

    3 ай бұрын

    Это так что первое в голову пришло по вопросам

  • @Chel1k7
    @Chel1k710 ай бұрын

    А что обычный extend изначально был запрещен? К чему сложности через while?

  • @VaeVictisDanil

    @VaeVictisDanil

    10 ай бұрын

    Если написать просто extend, то условие отсортированности результирующего массива не будет соблюдаться

  • @user-gp7ew4jj2h

    @user-gp7ew4jj2h

    9 ай бұрын

    @@VaeVictisDanil а что sorted запрещен?

  • @1234567qwerification

    @1234567qwerification

    9 ай бұрын

    Тогда следующим вопросом было бы что-то про "о большое"? 😀

  • @arthurlouiskarl

    @arthurlouiskarl

    8 ай бұрын

    ​@@user-gp7ew4jj2hкакой смысл в алго-собесе, если можно сортировать функцией из стандартной библиотеки? да и сильно неэффективно вышло бы, важна оптимальность решения по скорости и по памяти

  • @user-gp7ew4jj2h

    @user-gp7ew4jj2h

    8 ай бұрын

    @@arthurlouiskarl какой алгособес джуну? ладно бы он основной функционал еще показал, что он понимает, что есть другие способы. то, что он выдал в видосе, это базовый гигачад пришедший из сей. смысл в питоне и куче его полезных функций и либ, если ты не в состоянии показать это хотя бы в самом начале, прежде чем начнешь что-то подобное лепить? я не говорю, что он это сделал неправильно, я говорю, что я бы на собесе джуна алгоритмы проверял во вторую очередь. возможно перед видео они уже что-то обсудили и оценили, поэтому решили сразу так, но у зрителя такой информации нет. почему сразу не прыгнуть к torch GPU сорту, который самый быстрый на данный момент? Это даже больше вопрос не к джуну, а к интервьюеру

  • @vvvarvfx
    @vvvarvfx9 ай бұрын

    Какое решение оптимальное?

  • @kurisug8867

    @kurisug8867

    9 ай бұрын

    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

    9 ай бұрын

    @@kurisug8867 Сложность nlogn ,а в видосе делают за линейное , что быстрее

  • @vvvarvfx

    @vvvarvfx

    9 ай бұрын

    @@kurisug8867 Это код не работает. Более того, задача была не об этом. Изначально приходят отсортированные списки, в которых хранятся данные.

  • @Hotrification
    @Hotrification10 ай бұрын

    Спрм в жп

  • @vladtsipov8946
    @vladtsipov89466 ай бұрын

    def neuro_lists_merge(_list1, _list2): _list1.extend(_list2) return sorted(_list1, key=lambda x: int(x.split()[0])) 🤷‍♀

  • @user-iw2ms1sz9i
    @user-iw2ms1sz9i7 ай бұрын

    это что за трэш контент ? задача в 4-5 строк решается

  • @nnnlik
    @nnnlik6 ай бұрын

    на словах от интервьювера о том что общения с людьми будет меньше, видео можно закрывать. Из кодера можно сделать любую обезьяну, зачем нанимать для этого людей.

  • @Rudi_Norton
    @Rudi_Norton9 ай бұрын

    Чел в кепке похож на Тома Холланда

  • @yourcodereview

    @yourcodereview

    9 ай бұрын

    Это он и есть

  • @sarger571
    @sarger5716 күн бұрын

    ilst = ['222 str data', '444 str data', '555 str data', '888 str data'] jlst = ['555 str data', '999 str data', '1400 str data'] klst = ['2 str data', '3 str data', '51 str data'] res = [] def sort_data(*args): if max(len(lst) for lst in list(args)) == 0: return lists = [lst for lst in list(args) if len(lst) != 0] first_items = [int(lst[0].split(' ')[0]) for lst in lists] min_idx = 0 for idx in range(len(first_items)): if first_items[idx] min_idx = idx res.append((lists[min_idx]).pop(0)) return sort_data(*args) sort_data(ilst, jlst, klst) print(res) 😅

  • @user-sb4ml3ww4d
    @user-sb4ml3ww4d9 ай бұрын

    Сам еще даже не джун и не стажер Если я верно понял, то на вход функция получает строки текстовые, почему начали говорить о листах не ясно...(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

    8 ай бұрын

    Вы неправильно поняли суть задачи. С каждого датчика приходят список строк. Каждая строка это три значения разделенные пробелом. То есть в первом списке может быть например 1500 строк формата "1827361 name_metrik 1231712". А во втором списке может быть например 20000 строк такого же формата. Нужно сделать список, в котором будет 21500 строк, но они ещё и должны быть отсортированы по первому значению. Попробуйте решить)

  • @rikitaki9251
    @rikitaki92518 ай бұрын

    Фу, 🤮

  • @maesthrow
    @maesthrow5 ай бұрын

    def merge_sorted_lists(list1, list2): return sorted(list1 + list2, key=lambda x: x.split()[0])

  • @user-tk5xm4ox2c

    @user-tk5xm4ox2c

    5 ай бұрын

    та же фигня)

  • @TrainNoPain
    @TrainNoPain3 ай бұрын

    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-gp7ew4jj2h
    @user-gp7ew4jj2h9 ай бұрын

    кринжа сишного навалил))) result.extend([list1,list2]) return sorted(result)

  • @ussenUtebayev

    @ussenUtebayev

    9 ай бұрын

    Интересно как он будет string сравнивать, по лексикографическому порядку?

  • @user-gp7ew4jj2h

    @user-gp7ew4jj2h

    9 ай бұрын

    @@ussenUtebayev так как таймштамп стоит в начале строки, то и сортировать будет по нему, а именно по возрастанию аски кодов

  • @eeeeeeee133

    @eeeeeeee133

    9 ай бұрын

    merge sort 2 отсортированных массивов за n происходит, твой вариант за n log n

  • @1234567qwerification

    @1234567qwerification

    9 ай бұрын

    Таймстемпы будут одинаковой длины ещё очень долго (раньше кончится инт32, чем достигнет 10 миллиардов). Но да, формально надо приводить к числу.

  • @user-gp7ew4jj2h

    @user-gp7ew4jj2h

    8 ай бұрын

    в данном случае на мой взгляд доли секунд компенсируются простой, если бы стоял вопрос оптимизации под нагрузку, тогда бы это имело место. приведенный мной вариант это первое, что должен написать питонист, все таки для выполнения хайлоад задач есть другие инструменты@@eeeeeeee133

Келесі