Собеседование python разработчик. Михаил и Татьяна. Чистый код не всегда можно писать быстро

  Рет қаралды 6,988

Андрей += Пронин

Андрей += Пронин

Күн бұрын

Пікірлер: 49
@user-uv6to4km3v
@user-uv6to4km3v 3 ай бұрын
столько пафоса, я работаю там и там и делаю то и то, а элементарные вопросы просто заганяют в ступор
@Vadickus
@Vadickus 3 ай бұрын
Задания лучшие наверное как то писать в чат им, или что то в этом роде, потому как очень много переспрашивали. А так все молодцы 🎉
@AndyPronin
@AndyPronin 3 ай бұрын
Да. Хорошая идея. Спасибо
@Bibliophilos
@Bibliophilos 3 ай бұрын
Привет Никите Помидору, Лёне Петрову и прочим обитателям эльфийского леса!
@лешавасильев-щ4д
@лешавасильев-щ4д 3 ай бұрын
А как вы думаете, насколько важно писать чистый код, если это занимает больше времени? я сам недавно выбирал курсы по IT, рассматривал разные компании, но остановился на Skypro. Лично мне помогли их наставники, и я смог найти первого заказчика))
@AndyPronin
@AndyPronin 3 ай бұрын
Код читают чаще, чем пишут. Лучше писать чисто, что бы потом тебе или твоим коллегам не разбирать странное
@AndyPronin
@AndyPronin 3 ай бұрын
Молодцы. Респект им, что помогают. Если захотят заглянуть на канал, буду рад пообщаться. Мой телеграм andpronin.
@ДмитрийВасильевич1234
@ДмитрийВасильевич1234 3 ай бұрын
кажется что в начале надо было просто строчку из букв сделать и все "абв.." и на ее основе уже делать словарь. Понадобились пробелы? Добавил пробелы. Понадобились цифры? добавил цифры и не надо потом весь код переписывать думая куда там пробелы влепить и почему они не ставятся.
@AndyPronin
@AndyPronin 3 ай бұрын
В принципе, решение) когда упёрлись в проблему, можно было рефакторниг предложить
@fluent6981
@fluent6981 14 күн бұрын
22:40 , я бы прежде чем переносить сервер хотябы для начала зашел в логер, возможно где-то происходит ошибка и логер уже верещит "страшными строчками" от каждого , кто столкнулся с ней.
@КонстантинКурилов-з9е
@КонстантинКурилов-з9е Ай бұрын
А нельзя просто для каждой задачи сделать свой словарь? Для полученя списка номеров букв из слова dict1 (ключ: значение) = (буква: число), а для полученя слова из списка чисел dict2 (ключ: значение) = (число: буква). Просто искать ключ по значению не очень удобно, а в нашем случае и числа и буквы алфавита не повторяются и могут быть ключами. И тогда функции станут прямо очень простыми: def str_to_lst(str, dict1): return [dict1.get(key) for key in str] def lst_to_str(lst, dict2): return "".join([dict2.get(key) for key in lst])
@Evgen2Zha
@Evgen2Zha 5 күн бұрын
Камититься в бесплатку не нормально! особенно таким ребятам, хорошо пишут, рука набита. Какие 40 тысяч не понятно) Не идите на такие деньги никогда. Это важно. Цените свой труд!
@АянЖумагельдиев
@АянЖумагельдиев 3 ай бұрын
Доброго времени суток
@mainkun1983
@mainkun1983 Ай бұрын
Не кажется что вот такое оборванное тех задание только запутало кандидатов? Если бы подход к решению подобной задачи был построен итеративно, и четко разделялся между кандидатами, чтобы по завершению одной такски, следующий кандидат мог перейти к выполнению второй, имея у себя на руках хоть какие то данные (готовый словарь) и конкретную реализацию. А не представлять с чем им придется работать и не писать функцию наугад, с путаницей ключей/значений в этом же словаре?
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Попробуйте вызвать функцию
@als-creator
@als-creator 2 ай бұрын
на рутуб дублировать контент не планируете?
@AndyPronin
@AndyPronin 2 ай бұрын
Да. На вк видео и рутуб
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
# формируем словарь согласно первоначальной задачи, до того как барышня изменила задачу что бы сильно облегчить задачу chars = {number: chr(number) for number in range(1072, 1104)} # решение пробегаем по словарику, если находим ключ берем значение, а если нет то оставляем символ не тронутым def convert_string(any_string: str) -> str: return " ".join([str(ord(char)) if chars.get(ord(char)) else char for char in any_string]) if __name__ == '__main__': print(convert_string("привет? как дела?"))
@AndyPronin
@AndyPronin 3 ай бұрын
А если цифра в тексте? Как обратно декодировать?
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Так же только в обратном порядке.
@okoeochka32
@okoeochka32 17 күн бұрын
Как по мне ее замечание к тз максимально адекватное и показывает глубокое понимание. Потому что сложность алгоритма сильно растет n^2, по сравнению с ее O(n) за 2n памяти. Умение предлагать свои поправки к тз, а не тупого выполнения показало ее с лучшей стороны
@imadna5810
@imadna5810 Ай бұрын
когда новое видео ?)
@xTANATOSx
@xTANATOSx Күн бұрын
Начали нормалтно, а как писать ,то капец если честно, элементарная задача
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Печалька😢
@finemechanic
@finemechanic 3 ай бұрын
В изначальной формулировке задачи фигурировали 33 буквы. Вангую, у вас недостача букв и утечка алфавита. Идея с ord очень хрупкая изначально, не понимаю, почему она вам понравилась.
@AndyPronin
@AndyPronin 3 ай бұрын
А какая лучше? Список из букв?
@Vjqifg
@Vjqifg 3 ай бұрын
@@AndyPronin Думаю да. Причём сгенерировать список можно с помощью ord(), а потом просто добавить "ё" в нужное место def create_code(): chr_list = [chr(x) for x in range(1072, 1104)] chr_list.insert(6, 'ё') abc_dict = {key: value for key, value in enumerate(chr_list, 1)} return abc_dict
@finemechanic
@finemechanic 3 ай бұрын
@@Vjqifg Явное лучше неявного, магические числа - лучше просто из списка букв.
@Hope-h7x
@Hope-h7x 3 ай бұрын
@@Vjqifg магические числа это очень не ок
@Vjqifg
@Vjqifg 3 ай бұрын
@@Hope-h7x Чем они здесь могут навредить?
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Напомните им про get
@knowledgedose1956
@knowledgedose1956 2 ай бұрын
на каком моменте?
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Пройдитесь по строке, у словарика есть гет
@dmitriyb2438
@dmitriyb2438 3 ай бұрын
приветствую, а где посмотреть программу курса яндекс практикума? Там учат деплоить готовые проекты, работать с докером, фастапи или джанго может хоть основы взаимодействия бекенда и фронтенда, работа с базой. Или проще самому обучаться по книгам и сайтам?
@finemechanic
@finemechanic 3 ай бұрын
Джанго посвящена существенная часть курса Python разработчика. Есть раздел про управление удаленным сервером с докером и т.п. FastAPI есть в расширенном варианте курса (дороже). Программы все есть на сайте Практикума. Но мой ответ со ссылкой ютуб тупо спрятал.
@AndyPronin
@AndyPronin 3 ай бұрын
Ютуп не любит ссылки. Да. В целом поиском легко находится
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
@@dmitriyb2438 привет 👋, набираешь Яндекс практикум и вуаля там все есть. По поводу докера и fast-api. Скажу так Яндекс даёт теорию, ставит задачу и сроки выполнения и дальше все сам. Какие то бэст практики не даёт. Из хорошего есть код ревью но по мне не всегда результат тот что ученик хотел бы увидеть. В моем случае я как раз хотел что бы мне показали как надо делать а не то что здесь плохо переделай. У Яндекса есть мидл python там как раз есть все что ты хочешь . только курс не для новичка, скорее для сильного джуна, который может работать самостоятельно и имеет азы проектирования средней сложности приложения.
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Зачем переводить все в список,можно пробегать по строке
@AndyPronin
@AndyPronin 3 ай бұрын
Тут нет единствено верного варианта. Задача на собесе не задачку решить, а посмотреть, как человек думает
@npc-r390
@npc-r390 2 ай бұрын
Скуфчик совсем обленился и собесит сразу двух
@АлексейСергиевский-в6й
@АлексейСергиевский-в6й 3 ай бұрын
Пустая строка
@bucher6382
@bucher6382 2 ай бұрын
print({i-1071: chr(i) for i in range(1072, 1104)}) как то так
@4got10_man2
@4got10_man2 3 ай бұрын
RUSSIAN_ALPHABET: str = "".join(chr(code) for code in range(ord("а"), ord("я") + 1)) def encode(text: str) -> list[int | str]: """Encodes the text""" encoder: dict[str, int] = { letter: number for number, letter in enumerate(RUSSIAN_ALPHABET, 1) } encoded_text = [encoder.get(char, char) for char in text] return encoded_text def decode(encoded_text: list[int | str]) -> str: """Decodes the text""" decoder: dict[int, str] = { number: letter for number, letter in enumerate(RUSSIAN_ALPHABET, 1) } decoded_text = "".join(decoder.get(code, code) for code in encoded_text) return decoded_text
@finemechanic
@finemechanic 3 ай бұрын
assert len(RUSSIAN_ALPHABET) == 33, "Утечка алфавита"
@4got10_man2
@4got10_man2 3 ай бұрын
@@finemechanic у нас нет буквы ё, точнее она находится отдельно от алфавита. тут уж либо писать руками весь алфавит, либо жить с 32 буквами. но предусмотреть да, стоило
@finemechanic
@finemechanic 3 ай бұрын
​@@4got10_man2 Я и говорю, алфавит строится с ошибкой.
@narkotr4fic843
@narkotr4fic843 3 ай бұрын
Для таких задач чем выдумывать велосипед, проще просто 33 клавиши в строку загнать руками за 10 секунд, и спокойно энумерейтом вернуть искомый словарь. Алфавит же русский масштабировать никто не планирует, н
@SimpleMRish
@SimpleMRish 6 күн бұрын
Отличное решение! И то что буква ё не кодируется ничего страшного. Просто она как спец. символ отображается как есть в закодированном списке. В качестве оптимизации можно всё-таки обернуть получение словаря в функцию и передавать диапазон букв. Например, get_encoder_dict('A', 'Z'), get_encoder_dict('а', 'я') и т.д. Тогда решение получится более универсальным.
ЛУЧШИЙ ФОКУС + секрет! #shorts
00:12
Роман Magic
Рет қаралды 24 МЛН
REAL MAN 🤣💪🏻
00:35
Kan Andrey
Рет қаралды 7 МЛН
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 103 МЛН
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 63 МЛН
Что должен знать C# Junior разработчик?
9:33
Sergey Nemchinskiy
Рет қаралды 105 М.
Собеседование python-разработчик Иван
1:08:16
Андрей += Пронин
Рет қаралды 4 М.
Мок собеседование QA Automation Engineer на Python. Junior+/Middle
50:13
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 59 М.
Python собеседование Александр Воробьёв
53:52
Андрей += Пронин
Рет қаралды 46 М.
ЛУЧШИЙ ФОКУС + секрет! #shorts
00:12
Роман Magic
Рет қаралды 24 МЛН