Техническое собеседование на позицию Python Junior | Solvery + Moscow Python

Подготовка к собеседованию на Python Developer

Транскрипция видео:

  • отлично а Всем привет всем хорошего вечера понедельника и сегодня на канале Moscow Python мы проводим много в интервью на позицию дженнер питон разработчик трансляция это не случилось бы если бы не два классных проекта сообщества Moscow Python сегодня как раз нас и участник и ментор из этого сообщества и без словаря крупнейший marketplace по поиску менторов пойти в СНГ Давайте вам представлю наших участников Это Артем коломацкий ментальный Солдаты и по совместительству Сегодня он проводит собеседование и участник от

    00:00:23 - 00:01:39

  • сообщества Это wart Попов по организационным моментам У вас есть классный чатик на Ютубе Можете писать туда любые вопросы мы на них на все ответим обязательно после основной части После собеседования что еще важно можете там поднимать ручки огонёчки все что угодно чтобы было видно активности что вы нас слушаете длительность мероприятия около часа либо полтора В зависимости от интенсивности собеседования и все передаю слово Артёму Давайте начинать Да Всем привет Всем привет кто в лайве Всем привет кто в

    00:01:02 - 00:02:18

  • записи Меня зовут Артём пару слов о себе расскажу я уже больше 6 лет пишу на питоне еще больше занимаюсь программированием в целом вот работал в Рамблере работал в mail.ru Сейчас работаю в британской компании которая называется она мани мы делаем банк для малого бизнеса всякие расчет налогов счета и прочие всякие бизнес аккаунтинг штуки вот а как-то так с нами сегодня Вартан вот Вартан мы сейчас к тебе тоже перейдем обязательно про твой опыт послушаем Я думаю а я немножко немножко про флоу и про формат всем хочу рассказать э-э и

    00:01:40 - 00:03:00

  • вартану ещё раз тоже рассказать А мы будем общаться буду я задавать какие-то вопросы всё как в реальной жизни всё как на собеседовании вот а вопросы и ответы я не буду комментировать по ходу дела то есть я буду записывать себе какие-то ответы или штуки на которые мне надо обратить внимание Вот и в конце мы обсудим их какие-то проблемные темы проблемные куски в целом выдам какой-то фидбэк потому что было хорошо чтобы было не очень хорошо вот поэтому не удивляйтесь моему какому-то отсутствующему взгляду

    00:02:20 - 00:03:20

  • Вот как сейчас потому что у меня второй монитор который я записываю вот а может быть я его опущу чтобы мне было записывать удобнее Ну в общем а если вы теряете мой взгляд знаете что я все еще с вами Вот ну и соответственно в конце на все вопросики из чата как Лиза уже сказала мы ответим и на вопросы ко мне и на какие-то общие вопросы в целом Вот давайте начинать Вартан еще раз привет начнем с тобой супер лайтового Расскажи в целом про свой опыт как-нибудь коротенечко чем-то сейчас занимаешься чем ты занимался что умеешь

    00:02:51 - 00:03:59

  • Ну я писал это не на себе сплюс изначально писал на себя плюс программы почистим моделированию последнее время я в основном занимаюсь машинным обучением э на пайне этот Керро стендов Лол вот Back and я работал это в основном флаг был соответственно достаточно простые задачки были то есть это было небольшое взаимодействие с генератором и То есть у меня была такая небольшой микро сервис который хранил взаимодействие с этим генератором пользователю в базе данных ключей авторизацию это все было на мне

    00:03:23 - 00:04:46

  • генератор этот где-то был на удаленный где-то сервере из них происходило взаимодействие с помощью обычного htpc запрос вот из такого Back and но сейчас нам Я машину обучением занимаюсь Tanks Boost в основном сейчас User для пленных задач соответственно пойти а тебе самому Вот это попробовал это попробовал Прости плюс еще был опыт потому что больше Интересно что тебя Больше привлекает или или машин Learning или вообще хочется в плюсы вернуться вдруг ну плюс это просто снова Начнем с того что половина библиотек напасть написано

    00:04:08 - 00:05:31

  • и даже носить Так что если хотите изучать сначала программирование стоит изучать вот я конечно звучит весьма дико но сейчас прочь может напайки нет Все что поэтому по большей степени насчет своей красоты он проще для обучения и за счет него можно относительно быстро вкатиться умножение темы Конкретно мне в принципе сейчас получилось что у меня достаточно совместимые понятие потому что последним Мой проект Это был расшифровка интернет трафик то есть так называемая noisequeen notel То есть в принципе у нас есть

    00:04:51 - 00:06:22

  • интернет трафик и нужно его расшифровать особо не влезая пакеты То есть это можно либо типа есть глубокое Погружение в пакеты пока то часто используют там по первым там 3 4 точка пакетов А мы это пытаемся просто по внешним признакам достаточно быстро там с помощью размеров пакетов быстро это все сделать вот поэтому у меня в последнее время был совмещенный и машинное обучение то есть Поэтому конкретно Я не вижу здесь особой разницы по крайней мере пока что интересно В принципе на машин обучение Вот потому что там

    00:05:38 - 00:07:05

  • много чего интересного особенно нейронной сети в последнее время стали очень интересными в том смысле что я нашел принципе такое решение которое очень давно мне могло бы понадобиться в решении дифференциальных уравнений системы там есть некоторые библиотеки например которые [музыка] которые способны подобрать решение официальных систем официальных уравнений предугадать Вот и в принципе это очень с точки зрения для некоторых решений практичных задач например моделирование например это очень интересно

    00:06:21 - 00:07:46

  • вот принципе получается что я делал до этого в институте можно выкинуть нафиг обучиться тому же не нужно можно просто взять нет сделать то же самое только я этому не нужно обучать там долго-долго долго долго лет единственный вопрос стал типа с скажем так набором данных вот в принципе если решу то это мне кажется очень даже интересно будет недалеко перспективе Я думаю что это будет очень востребовано сейчас распугаешь на всех людей сразу про дифференциальные уравнение началось с первой минуты ужас страшные слова для

    00:07:03 - 00:08:21

  • моих задач Окей Здорово Круто я на самом деле backender вот и плохо понимаю что там ваши люди происходит у нас в целом так как у нас Junior Sky Сегодня собеседование Это вопрос у нас в основном в общем про питон Поэтому думаю что всем будет интересно и тем кто с бэнда и тем кто машину лёнинга или ещё с какой-нибудь там аналитики или ещё чего-нибудь вот О'кей здорово А скажи ты вот сказал про флаг чтобы написал на фласке А ещё с каким-нибудь веб-фреймворками в питоне имел дело просто последних катона использовал и в

    00:07:43 - 00:09:02

  • принципе Джанго тоже пользовался а вот представьте себе нужно стартануть какой-нибудь проект и ты выбираешь Вот из того что ты умеешь там фласк оставь или джанга чтобы ты выбрал и почему в принципе [музыка] flask мне еще кажется он просто проще плюс по быстродействуют дал может уступать по стопе Но честно в большинстве случаев его скорость вполне хватает там легко пишется буквально самого начала и все Джанг ну плюс у него еще есть возможность архитектура проекта она достаточно гибкого джанка она очень жестко

    00:08:23 - 00:09:55

  • типизирована там Place и прочее это все очень жестко прописано можно меня параметрах но такой Окей хорошо Давай немножко продолжим по такому и чарскому блоку тоже для всех расскажу что собеседование оно Бывает так что какой-нибудь отдельно собеседование собеседование техническое а Бывает так что вместе И вас технический человек вас расспрашивает ваш опыт или про то что вам интересно или что чтобы вы хотели или что-нибудь такое вот поэтому коротенечко такой блок А расскажи Вартан про какую-нибудь наиболее сложную задачу

    00:09:16 - 00:10:29

  • которую тебе приходилось решать или сложную или интересную вот какую ты помнишь с какими-то проблемами столкнулся как-то их решал это было взаимодействие генератора того самого потому что проблема была что фласке я еще работал со старой версии flask там один какая-то там не двойка там есть проблемы а там нужно было не всегда вот то есть я там из-за этого мне пришлось Я вроде все дела по документации там в настройках создал один поток все вопросы синхронизировал вроде бы должны работать но почему-то при за моей генератором

    00:09:55 - 00:11:24

  • стал Это внутренняя дополнительная ответ как бы запрос щеку Я не знаю почему видим так библиотеку была настроена это сторонние там язык вообще был это не пайкинский и джинджа там же вот фаску таких из низко частей вот один Джинджер веб-серверк который вот по умолчанию там запускается эта штука которая шаблоны рендерить шаблоном там еще в этой генератор отдельно вот если запускаешь на локальной машине там запускается ран сервер Вроде же фронт может быть вроде бы взаимодействии с этой библиотекой он что-то с ним было не так

    00:10:43 - 00:12:15

  • мне пришлось вот мучается именно синхронизация то есть создала на поточный поставил тайминги большие чтобы вот запросы были большие промежутки времени а мне пришлось серьёзно изменить там в чем еще была проблема что у нас был график который строил в режиме реального времени ответы от генератора и соответственно он в режиме реального времени посылает запросы генератору и тот ему давал ответ Это было частично решение связано с генератором потому что момент создания изначально генератора почти не было и

    00:11:37 - 00:12:56

  • соответственно это вызывало проблемы что были большие деньги потенциальный тайм-аут большой и так далее И вот с этим самый тяжелый что мне вот последнее время пришлось возиться потому что как-то надо было синхронизировать расскажешь что ты пытался пытался синхронизировать как решилась это все я поставил в настройках большие тайм-аут соответственно Ну время между запросами второе я во флаг таранта запускается там вот можно прописать режим поточный ну то есть насколько потоков тогда я поставил единицы

    00:12:16 - 00:13:34

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

    00:12:59 - 00:14:17

  • [музыка] что мы собираем то есть мы пишем а как бы код в обычном текстовом формате Дальше он переводится собирается exe файл полноценный и дальше идет его исполнение в интерпретируемый У нас есть интерпретатор Пай то что он не исполняемый файл соответственно то что у нас при запуске в консоли вот у нас есть встроенная интерпретатор который просто пропускает через себя выдает ответ то есть это не исполняемый файл Окей хорошо Расскажи какая в питоне типизация статическая или динамическая динамическая А чем Чем отличается знаешь

    00:13:39 - 00:15:24

  • какие примеры других языков в которых статическое динамическое означает что вот у нас капер сваин 100 например и потом к Т.А можем присвоить любой другое значение он как бы меняет значение этого а [музыка] Статик динами статичная она как бы [музыка] Ну вот например в плюс есть статика тест можно определить статичный пример вот и кстати в cost или их Определи как статично хорошо а в контексте языка в целом Ну вот есть статичные переменные а в целом Когда партизацию речь Когда в целом говорят про язык не только

    00:14:38 - 00:16:21

  • же он уже отличается не только тем что у него статические переменные есть в целом сам подход к типизации разный ты верно сказал про динамическую типизацию так про статическую чуть-чуть не дожал хочется чуть-чуть Но я это правильно понимаю связано что как работает ячейки памяти в пайтоне все вот если например в пайтоне У нас есть как бы указательный ячейку памяти мы просто меняем этот указательную чайку памяти то в Статик мы выделяем память и в нее закладываем конкретное значение соответственно чтобы

    00:15:38 - 00:16:48

  • освободить нам нужно либо уничтожить эту память Ну как бы обратиться к человеке памяти заменить конкретные элементы либо ее удалить уничтожить Вот и потом что с ней сделать То есть она сохраняется в буфере в кэше и соответственно этот выделенная память и с ней нужно что-то делать соответственно в пайкине поскольку у нас как бы мы Обращаемся к отдельных элементам то этого проблемы нету то есть у нас как бы сборщик мусора так разборщик мусора отдельно Окей хорошо А есть еще смотрите пизаце еще подразделяется на строгую или строгую

    00:16:19 - 00:17:36

  • или сильную слабую еще говорят знаешь что это значит OK Расскажи следишь ли ты за обновлениями питона знаешь ли ты что появлялась в последних версиях на какой сейчас пишешь Не ну я имею ввиду как это минорная 3 точка что-то сейчас напишу на 37 потому что с 311 вот то что последним с такого будет Я смотрел Там я могу сказать что у меня возникли кучу проблем с этой есть между при переводе кода или еще какие-то сложности многие библиотеки они не успевают обновление паттернами и вот некоторые второстепенные функции в

    00:16:58 - 00:18:26

  • некоторых библиотеках они начинают плохо себя вести и поэтому лучше сидеть на стабильной версии считая пока они все не приведут на стабильную в 311 вот Ну окей Хорошо смотри 37 по 311 вышло 38 39 310 и 311 какие-нибудь нововведения которые вот появились С тех пор когда вышло 3,7 Мне кажется года три наверное назад давно достаточно [музыка] Если ошибаюсь они что-то сделали с многопоточными работы Они вроде бы и как-то изменили Я честно Точно не помню но вроде работать многопоточностью и вроде бы они еще что-то сделали с этими

    00:17:56 - 00:19:33

  • лямда функциями Окей едем Дальше расскажи какие типы данных есть в питоне изменяем и не изменяем изменяемые неизменяемая может перечислить какие к чему относятся карт это изменяемость список неизменяемая Может наоборот [музыка] множество это изменяемая Frozen не изменяем [музыка] string в Он вроде бы изменяемый вроде бы Как изменить строку сейчас тренинг значит не изменяем скорее всего ну давай вопросы здесь сразу вот у нас есть строка у нее есть метод replace который меняет символ в строке можешь рассказать

    00:18:54 - 00:20:48

  • как он внутри работает что в этот момент происходит когда мы делаем строка точка реплейс Передаем что и на что заменить внутри бетона Он вроде выделяет под строку он Если не ошибаюсь он проходит как бы по всей строке находится необходимого под строку изменяет отдельный нет нет вроде вру Если ошибаюсь он вообще уничтожать строку полноценного сохранять в буфере но меняет при создании новых таким меняет отдельный элемент но в любом случае у нас создается новая строка Да новая потому что строка неизменяемая

    00:20:04 - 00:21:43

  • Вроде бы да окей еще какие-нибудь типа хорошо еще лист но пытались Мы с тобой уже поговорили это список мап функция в питании вот булевые типа еще есть еще есть NAN еще есть классы тоже типа дальше так про списке кортежи Вот ты что-то начал между ними путаться какой там изменяемый какой неизменяемый Давай чуть подробнее здесь остановимся расскажи чем все-таки список от кортежа отличается В чем смысл Ну один из меняем другой не изменяем зачем нам это может быть нужно соответственно но защита дурака То есть если у нас есть

    00:20:58 - 00:22:39

  • какой-то список который нам нельзя менять соответственно чтобы у нас был например мы Передаем Такой тип данных который нельзя менять можно там взять из него значение какие-то и что-то с ними сделать но не более того Типа другой Ну хочешь меня хочешь меня и все равно мало Что окей Чуть более глубокий вопрос А знаешь ли ты как вот в памяти оно все хранится как в питоне в целом память устроена и как конкретно списки кортежи хранятся в памяти Ну соответственно неизменяемый типа они соответственно занимает должны занимать

    00:22:09 - 00:23:38

  • Если ошибаюсь меньше места чем изменяем и потому что в изменяемом дает какую-то буфер там выделяется типа буферная память как векторы то есть чуть с избытком с потенциальным если у нас идет перезаполнение чтобы он как бы удалялся заново расширялся Ну чтобы было меньше также потенциально вот занимал место в памяти Слушай вот здесь вот хорошо А можешь чуть-чуть дальше эту тему смотри мы только что с тобой определились что защита от дурака не единственная причина Зачем нам нужен отдельный тип оказывается что он еще

    00:22:56 - 00:24:00

  • место в памяти меньше занимает действительно так а чуть-чуть поглубже еще может быть глубже знаешь про то В каких случаях он дополнительную память выделяет каких случаях он урезает память как вот этот процесс устроен расписки Ну как я сказал что в принципе как у нас изначально в динамическом типе выделяется чуть больше если он заполняется то есть Ну точно смотри она как как вот она заполняется Вот я допустим прихожу ячейки памяти Ну как векторы вот Плюс То есть вот эта длина там я не знаю вот создана например там 20 память его если

    00:23:29 - 00:24:54

  • не полностью заполняются соответственно вызывается скорее всего деструктор вот этого объекта он копируется и формируется больше Check память Окей вот какой вопрос смотри список он же разные типы данных может внутри себя хранить там могут одновременно чистилки и строки лежать ты говоришь про ячейки памяти ячейки памяти Она наверное какой-то конечный имеет Ну то есть константную величину одинаковую для Всех элементов за счет чего это достигается Почему так если типы данных внутри хранятся разные потому что в этих как бы

    00:24:18 - 00:25:27

  • чайках как впадине уже выделенные элементы в памяти то есть начальная выделенные элементы в памяти они на них ссылаются его формируется как бы такой памяти вот этих Окей смотри у списка есть такой метод называется копия А еще в питоне есть модуль стандартной библиотеке который тоже называется копией И в нем есть методы копии и Deep Copy То есть у нас есть аж целых три способа скопировать список можешь рассказать продолжая все расписки В чем разница этих трех способов Можно хотя бы чем копия копии отличается

    00:25:00 - 00:26:23

  • Давай мы немножко вот от списков про абстрагируемся так вот в целом Но я могу предположить что копия он возвращает обновленный список а Deep Copy Скорее всего он не возвращает обновленный список он либо он уничтожает старый список Мы же копию делаем любом случае Ну мне кажется в одном случае Возвращение полноценно нового элемента с копия то есть а Нет я думал здесь даже другом не дело если мы делаем копия мы можем ссылаться на те же самые ячейки что этот оригинал скорее всего формирует новый список

    00:25:45 - 00:27:14

  • ячеек которые ссылаются через Там две три руки то соответственно изменения в копее влияет на оригинал в отличие от копии в целом Да Окей хорошо Окей Расскажи пожалуйста как переменную в переменную функцию как функцию передаются аргументы в питоне по ссылке или по значению по ссылке вроде бы там все А знаешь ли ты почему нельзя делать мутабельные типы дефолтными аргументами функциями Ну представь У нас есть функция я конечно лучше бы какой-нибудь какой-нибудь код показал Почему нельзя потому что есть не

    00:26:43 - 00:28:13

  • ошибаюсь это У нас есть у нас есть класс и конструктор если мы делаем какой-то у него что переменная вот формировалась при инициализации motoball он может привести все данные либо к инту либо что таком то есть при работе например с арифметика мы сделали вот передаваемое значение мотобу и тогда он будет пытаться привести к Intel даже есть это строки То есть он будет конвертировать как бы в кодировку там символы и так далее Окей не совсем так но тоже в конце Обязательно расскажу окей Давай дальше

    00:27:44 - 00:29:06

  • Давай про области видимости Расскажи как в питоне происходит поиск переменной в областях видимости Какие вообще области видимости есть что вообще про это знаешь в общем есть [музыка] функциями Вот и чтобы обратиться к элементам Global глобальный переменным внутри функции их либо можно прописать элементы относятся глобальным Так давай тут тобой остановимся Давай еще раз сформулируем мысль Для чего нужно ключевое слово Global в питоне то что мы ее Мы в какой момент где пишем и для чего конкретно давай пока не очень

    00:28:27 - 00:30:00

  • понимаю Ну вот у нас есть перемена стоит 14 У нас есть [музыка] определенные значения об этом равняется твои таком духе это уже новая имеет отношение нужно например чтобы изменилось то значение поэтому мы пишем переменной что это имеет дальше уже глобальный пример А представь что мы не меняем значение допустим у нас есть глобальная переменная которая является списком и мы в этот список делаем допустим Надо ли нам в этом случае Global писать [музыка] типа вроде бы не уверен Окей действительно не нужно потому что

    00:29:27 - 00:31:23

  • Обращаемся К тому же объект просто нет у него вызываем мы как бы не перезаписываем этот объект если мы будем переопределять его как переменную тогда нужен Global как ты сказал Окей давай еще раз чуть-чуть назад вернемся к вопросу все-таки про то как поиск переменной происходит как в наших областях видимости вот нас есть какая-то функция мы в ней пишем там Print X вот как питон будет искать где ему этот X достать В каких областях видимости по порядку потому что же может существовать как ты правильно отметил нас может

    00:30:56 - 00:31:59

  • существовать какой-то X который Мы создали внутри функции может быть какой-то Икс который глобальный может потом а следующей области видимости после функции это какая [музыка] это что не очень понимаю что это такое можешь рассказать [музыка] ну [музыка] Main дата сказал лишь правильно услышать Да ну если он конечно есть но в принципе не факт что нужно ее можно не вызывать Ну вот следующим например мы то есть например у нас есть глобальная функция которой вызывает все другие функции например то есть вот мы из вот этой функции идем в

    00:31:28 - 00:33:18

  • Main А дальше в глобальную область видимости функции из которой она вызывается Я же правильно услышал так да Окей дальше мы идем в глобальную область видимости если в глобальной области видимости нет такой переменной что дальше происходит либо он не попытается найти какое-то значение Если сможет если нет он напишет ошибка инвалид А что значит вот смотри попытается найти какое-то значение Если сможет Это что за процесс переменной например на одной из этих стадий Ну например внутри функции мы делаем и значит он как бы вот он создал

    00:32:45 - 00:34:05

  • эту перемену 3 функции она просуществовала уничтожена и как бы все А если мы просто обращались к перемены которые непонятный тип он скажет здесь какая-то ошибка не знаю подчеркнет что это переменную еще ошибку OK давай я чуть сужу вопрос и закончим с этим вопросом есть ли какая-то область видимости надо глобальной областью видимости [музыка] честно я не помню но вроде бы Если хочешь Нет я не уверен что есть у нас есть еще область видимости которая Билд и называется в которой все встроенные штуки хранятся например

    00:33:36 - 00:35:04

  • вот Окей едем дальше [музыка] и тракторы и генераторы знакомые тебе слова [музыка] Да знакомы можешь рассказать про них который приостанавливается выполнение программы сохраняет все значения в памяти и идет на следующую операцию с измененным значением этой перемены если что-то с ней нужно сделать оператор Это просто Приключение следующий Окей А какие способы есть написать свой генератор Ну Ялта значит или что-то еще имейте ввиду я честно говоря я спрашиваю вдруг ты что-то еще знаешь так интересуюсь

    00:34:33 - 00:36:13

  • в принципе можно пытаться [музыка] генератор который не является функцией и в котором нет такого законного я не знаю поэтому в принципе генераторное выражение слышал что такое слышал но очень Окей хорошо а едем дальше на последний вопрос про питон про наследование и да про наследование в питоне есть такая штука Как множественное наследование есть не во всех языках Вот и для того чтобы нам понимать когда и где нам в каком месте что Откуда наследовать при множественном наследовании есть петунии механизм

    00:35:47 - 00:37:32

  • который называется мро а можешь рассказать что это такое как он работает мро метод resolution resolution Order по-моему расшифровывается честно говоря Нет не слышу тоже сказать ничего не смогу Окей хорошо так две заметки себе записываю и едем дальше Давай Закончили с общими вопросами про питон Давай немножечко про алгоритмы с тобой поговорим Ничего супер сложного и страшного Расскажи Знаешь ли ты такое понятие как сложность алгоритма что оно означает где она используется как она считается все что знаешь своими словами

    00:36:55 - 00:38:31

  • [музыка] нагруженность выполнения алгоритма с помощью сейчас пытаюсь сформировать более лучше это способ описать привести какому-то общепоказательному эффективность работы алгоритма путем ведения того коэффициента как там у военных прочих где количество выполнениях как бы [музыка] количество выполнения определенных как бы ну итерации не знаю сказать как более лучше итерации соответственно чем больше соответственно этих операций Значит у нас вот разным типам то что ты рассказал это сложность по времени когда мы считаем

    00:37:56 - 00:39:38

  • Как долго работает наш алгоритм Если еще какой-нибудь вид сложности они не в ту сторону Давай проще назад блин Смотри программа наша Она когда работает запускается на компьютере она потребляет в компьютере два ресурса каких память и памяти процессор Да еще наверное Может потреблять сеть но просить мы не говорим вот поймите время да соответственно сложности У нас две по памяти и по времени когда мы про алгоритмы говорим OK Окей давай сейчас я думаю что тут можно бы еще что-нибудь уточнить у тебя или нет

    00:38:58 - 00:40:17

  • а что быстрее у ATEN или [музыка] Это вопрос на математику да да линия он логарифм это есть ошибаюсь так идет можно логарифм да да [музыка] долго сроки логарифм занимает выше значение N Совершенно верно а n квадрат или Ну это ладно всем я уже душню верно нарисовал график в голове Просто Ну соответственно Парабола соответственно долго сроки она больше чем Ну что конечно больше чем Ну и она больше чем Потому что больше занимает Да все совершенно Прямая линия она такая немножечко выгнутая вверх где-то тоже становится как

    00:39:52 - 00:41:56

  • полутора было если далеко смотреть поэтому все так самый быстрый потом Окей Расскажи знаешь что ты какие-нибудь алгоритмы сортировок общеизвестные сортировка пузырьком и сортировка [музыка] слиянием вот ну и быстро сортировка Вот давай про сортировку слиянием моя любимая сортировка сортировка слиянием что-то про нее знаешь кроме названия но у неё принцип работы в том что мы выбираем опорный элемент если правильно помню и как бы делим наш [музыка] массив Да вот выбираем отдельно опорный элемент и

    00:41:13 - 00:42:51

  • делим его вот этот массив на части по нашей к опорному либо больше либо меньше мы ставим соответственно как бы либо справа либо слева эти элементы и дальше мы сливаем в зависимости там по алгоритму где эти элементы должны быть расположены она занимается НЛО логарифм по времени в лучшем варианте OK хорошо мне показалось просто больше скорее про быструю рассказал немножко у меня смешалось а может и можешь вот чтобы меня распутать и всех участвующих чем в таком случае сортировка слиянием от быстрой сортировки отличается

    00:42:04 - 00:43:34

  • там тоже опорный элемент там тоже что-то слева направо куда что-то налево что-то направо вот где разница разница Ну во-первых кажется да я писала быстро сортировку а вот там вот именно в обычной сортировке слиянием просто выделяется дельный элемент и он постараюсь в сторону либо вправо потом формируется такие массивы потом они сливаются Ну по алгоритму где они должны быть расположены быстро именно имеется там есть опорный элемент он в идеале Может там займ сразу все сделать то же самое Может в худшем случае быстрый сортировки

    00:42:53 - 00:44:29

  • слиянием худшем случае Какая сложность [музыка] вроде там логарифм это же вебинарное дерево идет да да там Логан Окей бинарное дерево ты сейчас мне сказал слово я не мог не зацепиться ухом Расскажи что такое бинарное дерево это как сказать это дерево это То есть у нас есть давай давай прошу задачу чтобы было проще Давай начнем с того что такое вообще дерево пока что не бинарное дерево но дерево это считаете список графов получается Окей хорошо что нужно графа что у него есть один корневой элемент над которой над которым Больше

    00:43:43 - 00:45:35

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

    00:44:46 - 00:46:21

  • поиск Вот оно как раз отвечает за то что элементы определенным образом отсортированы вот а вот просто бинарное дерево это что там не обязательно отсортированные элементы не обязательно просто бинарное дерево Но это название по названию можно догадаться что в чем в чем суть [музыка] до бинарное еще двоичная по-русски называется это Дерево у каждого узла у которого не больше у каждого листа OK расскажи мне вот что Какие типы данных в питоне могут быть ключами словаря включаем словаря [музыка] это int Double float

    00:45:33 - 00:47:30

  • char неизменяемая неизменяемые У нас где-нибудь есть чатик не у нас нигде нет чатика поэтому я не смогу развить Хорошо давай на слух а кортеж Это неизменяемый тип данных мы выяснили что да надо кортеж неизменяемый тип данных Может ли карта быть ключом словаря она не может быть массивом соответственно ну Нет не может почему он же не изменяем потому что нам мало то что не нет может быть нет Мало то что он неизменяемого должен быть фиксировано одно значение для каждого типа кей должен быть один а что

    00:46:44 - 00:48:14

  • происходит с ключом с объектом точнее когда он становится ключом как вот словарь внутри устроен там в каком виде хранятся вот эти ключи и значения [музыка] [музыка] как дерево храни могут храниться то есть сейчас связанное вроде бы должно так Вроде должно храниться как дерево Если я правильно помню слышал про такую структуру кошмак который называется [музыка] Ну да то есть то есть ключ через Хеш функцию подбирает как бы ему значение элементы памяти и типа к не с ним ассоциирован окей Давай двигаться к следующему блоку

    00:47:39 - 00:49:27

  • у нас не очень много времени остается Но на самом деле мы с тобой большую часть вопросов проговорили самый популярный блог вопросы про синхронность расскажи ты вот рассказал что ты сфостате работал что у тебя были проблемы с тем чтобы подружиться синхронный код синхронным А можешь рассказать вообще в целом Для чего в питоне асинхронность И причем там еще мульти Трейдинг и мультипроцессинг что вот эти три чем эти три штуки друг от друга отличаются зачем они нужны зачем это впай ты по большей степени ну

    00:48:49 - 00:50:04

  • Это для чтобы одновременно выполнять несколько задач вот зачем это впаять небольшой вопрос не но Окей чтобы одновременно выполнять несколько задач ответ в целом верный в чем же разница в каком случае мы берем одно В каком случае другое В каком случае 3 [музыка] давай пока давай чуть-чуть опустимся Если не ошибаюсь одного выполняется на идей другое в потоке одной другое давай конкретизируем что и где вроде бы мульти процессор это же на потоке рассчитан Если я правильно помню мульти Трейдинг мультипроцессинг

    00:49:34 - 00:51:08

  • мульти Трейдинг Как переводится на русский но множество потоков Я высказал трейды Ну наверное нити тоже Вот соответственно мульти Трейдинг этом мульти по точность мультипроцессинг это мультипроцесс и Давай еще раз вернемся все-таки к тому что и где используется Для каких заяц Ну представь Давай Представь какую-нибудь задачку тебе нужно ты пишешь Не знаю e-mail рассылку и тебе нужно 100 пользователям одновременно отправить письмо сходить куда-то в интернет и послать им письмо будешь ты процесс или

    00:50:24 - 00:51:39

  • потоки для этого использовать вот использовать потоки Почему Не факт ядро много лидеры Ну машин я же не знаю может какой-то пенсии 4 OK [музыка] хорошо Представь что тебе нужно посчитать Я не знаю 5 10 15 и 100 простое число или число Фибоначчи Например как и главное это все параллельно как-нибудь сделать чтобы побыстрее было или не 100 не 5 там 100 200 300 [музыка] Ну что-нибудь такое вот мы вот это как будем делать на потоках или на процессах и я подумал На самом деле хитрый он универсальный А вдруг у нас Pentium 4

    00:51:06 - 00:52:51

  • Действительно это давно мы вообще ничего не можем делать да но может быть попытаться [музыка] Я бы попытался бы на ядрах привязать ты баначе н То есть можно попытаться перекидывать значение там же фактически просто умножение у нас уже множеством ногами все усложняешь усложняешь но Представьте задачи которые вообще никак друг от друга не зависит Я представляю что там наверно 100 200 число Фибоначчи зависит от 100 но Представь что какие-то задачи которые друг от друга не зависит Окей Ты уже начал говорить про ядра Ты знаешь что

    00:52:07 - 00:53:34

  • такое Гил [музыка] Тине знакомая она сейчас связано с тем что работа с элементами Окей хорошо а с мульти трейдинга мульти процессингом Закончили Я думаю что давай про базы данных с тобой поговорим коротенечко Расскажи С какими базами данных Ты работал Какие знаешь для чего они нужны [музыка] Они реляционные они какие бывают там чуть глубже дробление Это вроде таблица там были такие штуки называется [музыка] и еще там вроде бы такая временная вроде Что такое называется Time Series по моему они называются

    00:52:56 - 00:54:44

  • Series может быть все на это Мои познания окей Окей А можешь рассказать каких случаях стоит использовать реляционно в каких ни реляционно Это сложный вопрос почти Например если у нас есть Ну понятно связано списки там условно есть набор данных местоположений каким-то вот фиксированным объектом например мобильной сети то есть телефон находится в какой-то жесткой локации Ну тогда графа можно использовать они быстрее будут должны работать вот если вот нас вот есть какие-то временные какими-то моментами жестко по времени то

    00:54:07 - 00:55:44

  • почему бы нет Вот хорошо почти на все остальные случаи почти всегда Окей А с какими реляционными базами Ты работал сквее еще все [музыка] принципе Майское или еще но очень мало В основном Окей знаешь что-нибудь про индексов то что это [музыка] на что конкретно стало для чего они нужны давать можно начать с чего с того что это такое зачем они нужны индекс то что уникальными как бы индекс для связи между разными таблицами например Окей Окей ну и я думаю завершающий Вопрос вот мы как раз Ровно в час уложились сейчас будем обсуждать

    00:55:04 - 00:57:11

  • фидбэк последний вопрос который не очень наверное к месту но у меня ощущение что его задают вообще на каждом собеседовании А знаешь ли ты что такое принципы Солид ингал ванна Ну это принцип программирования Но это принципе программирования Да ну чуть-чуть глубже не помнишь Каждому каждому [музыка] что не нужно ставить дополнительные типа нельзя создавать пустые эти элементы не используемый их нужно сразу удалять не стоит создаваться дублированием лишним [музыка] что там сингл соответственно то что вот

    00:56:19 - 00:58:00

  • один элемент один метод отвечает за отдельную вот операцию в таком вот это ты сейчас хорошо сказал Вот это было вот из всего того что ты сейчас говорил вот это было просто одна правильная мысль что с это сингл responsibility principle то есть принцип единственная ответственность Что да Что для каждого класса должно быть одно какое-то значение О'кей первый вспомнили еще что-нибудь вспомним но там вроде бы сказано Мне кажется что немножко в кучу там повторений значит этот принцип драйда он трепетом

    00:57:16 - 00:58:34

  • там есть еще кейс ягни вот мы все сейчас не трогаем это тоже какие-то принципы они проще чем солят а соли там чуть сложнее соли думаю всех проблемы возникают потому что нужно помнить [музыка] но не получается вспомнить там вроде бы нет вот помимо ничего не вспомнилось сейчас Окей так но у меня наверное все с вопросами давай сначала я какой-то общий фидбэк дам потом в деталях пройдемся по всему тому что я записал А потом ответим на все те вопросы которые у нас есть в чате Я думаю что минут 10 за 10 мы сейчас все

    00:57:55 - 00:59:30

  • обсудим и оставшиеся время мы посвятим вопросом в чате а общий фидбэк очень сильно отталкивает Путаница в терминах то есть есть ощущение то что того что ты знаешь у тебя какое-то много очень разной информации в голове и ты ее пытаешься из какого-то места в голове достать и у тебя путаются понятия типа друг с другом и вот такие вот штуки то есть в целом есть ощущение того что ты знаешь но забываешь нервничаешь переживаешь не пользовался забыл перепутал его там 10 тысяч причин А вот важно особенно важно

    00:58:43 - 01:00:05

  • про терминологию меня лично я не знаю как других ребят которые собеседуют на меня очень отталкивает когда человек одну штуку называет другим названием То есть он вроде как знает но не знает как называется вот а в целом В целом все неплохо Вот я думаю что как Джуниор ты Вполне себе смотришься вот есть определенные моменты которые надо подтянуть очень слабовато с базами данных очень слабовато сосинхронностью с алгоритмами было хорошо В целом про питон был Тоже более-менее неплохо Вот это как-то вот так то есть ну такой

    00:59:24 - 01:00:38

  • универсальный ответ да что всё всё в целом неплохо можно можно лучше Вот и но фидбэк скорее положительный То есть я не не не скажу тебе что типа ты ничего не знаешь вот даже Даже если я в смысле типа понятно что я наверно так не сказал Даже если я так думал Но я так Правда не думаю в целом по вопросам получилось более-менее сам сам видишь где плавал где был не очень хорошо там где отвечал хорошо было хорошо вот а теперь давай по по тому что ты на отвечал то что я себе повыписывал Окей есть есть тут может у тебя есть

    01:00:01 - 01:01:16

  • какие-то сейчас вопросы Пока ещё что-то я проходила на сито с плюсом так сказали что им не солит а другое место нравился какой-то там такое как-то вот на цель начиналось Я знаю есть блин я не знаю что называется нация Мне просто стало любопытно Вот все вот эти методы там вот еще есть метод Public там но у меня старая Рабочая она очень старый такой там то говорили вот и в принципе он стала любопытно вот эти все методы их на самом деле очень много так вот можно более универсальная цвести вот как-то

    01:00:37 - 01:02:11

  • знание к тому что Вот потому что ладно 40 Еще плюс минус достаточно известная штука А есть много методов которые вообще неизвестно А если изначально их вот вообще нет требованиях то как вообще понимать что от тебя именно это хотят услышать как-то вот можно универсифицировать знания по этим вопросам или это вообще невозможно слушай есть в целом такие понятия как чистый кот есть классная книжка Маккона Совершенный код она называется действительно много разных аббревиатур которые точно совершенно нельзя

    01:01:30 - 01:02:41

  • запомнить все вот как-то я сказал что это с опытом придет это нельзя сесть зазубрить и даже слово солит Ну то есть от того что ты запомнишь Как называются эти пять принципов Ты все равно не выучишь их и не научишься меняет То есть это какая-то штука которая появляется с опытом и с опытом Ты может получиться Так что ты забудешь Название но ты будешь помнить как оно применяется и как это работает вот и это на самом деле нормальная ситуация Потому что перед собеседованием все готовятся все что-то вспоминают Я тоже не все помню то есть

    01:02:04 - 01:03:17

  • там я всегда когда готовлюсь к собеседованию если я к нему готовлюсь если мне оно очень интересно тоже бывает что мне не очень интересно собеседование Я к нему не очень готовлюсь лень просто время тратить Вот э-э соответственно Ты все равно садишься и повторяешь те штуки которые ты не понял Ну например ты не помнишь как в солиде расшифровывается буква л это такой так надо типа повторить соль или ещё Или ты не помнишь какие там э типы индексов есть или ты ещё что Или ты не понимаешь Какие типы данных есть в питоне Или ты

    01:02:42 - 01:03:40

  • не понимаешь Какие изменения Какие Нет ну то есть понятно что ты как если ты пишешь на питоне каждый день то ты наверное ты знаешь какие типы изменяемые Какие не изменяемые Но если у тебя вот так вот в России так скажи там Назови Все не из меня и мои типы Наверное ты все не вспомнишь это как раз то типа чем Ну не надо зубрить надо просто там наверное повторять и то что с опытом так или иначе к тебе в голову поместится вот Да ну и то же самое про эти бесчисленные аббревиатуры типа там драй ягни Кис

    01:03:11 - 01:04:16

  • солит и что-то нация наверное тоже есть просто что ты говоришь что что я не помню их действительно много их наверное не нужно знать все наизусть Вот но могут спросить правда очень часто спрашивают нормально это бывает [музыка] [музыка] вот было не очень давно но qt был пятый Да по-моему вот я поставил событием там Кута же стал недоступен на территории Российской Федерации вот ну по IP вот этим библиотеки а пайку т вроде бы работает то что не стал любопытно Ой вот это я не знаю во-первых не на территории России

    01:03:43 - 01:05:03

  • поэтому не в курсе что там Запрещали понимаю вот там жизнь Я думаю что Ну наверное если что-то и блокирует то блокирует Ну там доступ к скачиванию каких-нибудь файликов или документации вот и это как как и все в прекрасной жизни в России лечится VPN и все начинает работать вот есть VPN которые уже мертвы на территории Российской Федерации Ну в общем да это Это долгая грустная история Так давай в общем к тому что мне хотелось еще поконкретнее рассказать про то где были косяки причем хотелось прокомментировать

    01:04:58 - 01:06:19

  • вот первое С чего мы начали с тобой разговор это то что ты сказал что сначала стоит начать изучать c++ Я категорически говорю нет никому не надо начинать свой путь в программировании с изучения c++ вам будет тяжело больно и А вы вряд ли с этим справитесь это надо очень сильно хотеть и очень сильно стараться чтобы победить c++ вот а в целом как ну то есть чем хорош питон тем что он его легко выучить Вот у него простой понятный синтаксис он в целом довольно логичный там ну удобно и легко и быстро

    01:05:52 - 01:07:09

  • на нём взять и начать писать вот а с другими языками не так Я бы наверное вот питон в этом ключе наверное бы только с Java скриптом сравнил потому что там тоже берешь раз и она у тебя уже работает и ничего особо не надо знать и JavaScript тебе прощает вообще все твои ошибки вот и так далее да с компилируемыми языками с языками со статической типизацией все сложнее То есть как первый какой-то вход в программирование точно не стоит вот полезно знать уметь в целом всё полезно знать уметь Нет наверное бесполезных

    01:06:30 - 01:07:36

  • каких-то знаний вот а но начинать c++ точно не надо вот следующий момент Я тебе задал вопрос про то я тебя не просто так спросил какими с какими-то фреймворками работал потому что резюме у тебя в опыте работы увидел фласк а остальные приборки были просто в навыках то есть про них ничего не было написано вот это обычно означает по моему опыту чтение резюме что ты не ты имеешь достаточного опыта с в работе с какими-то штуками но при этом Решил их добавить в навыки по каким-то причинам вот а и вопрос мой был типа В каких

    01:07:03 - 01:08:21

  • случаях Что лучше использовать Ты сказал что ты выбрал бы флаг потому что он проще вот правильный ответ здесь что наверное надо выбирать от задачи что типа правильного ответа нет да Но вот типа и собеседующий хочет услышать типа наверное какой-то вопрос от тебя из серии о чём мы делаем А зачем Ага сколько у нас пользователей а что А почему Куда Вот и от этого толкаться в выборе инструмента это вопросы серии того там какой язык используют Да вот здесь и нужно задать какую-то задачу Потому что если просто сказать Какой

    01:07:43 - 01:08:52

  • язык выберешь да да но это нормально Тоже ответить типа я бы выбрал флаг потому что из всех фреймворков Я лучше всего знаю флаг вот и это в целом норм ответ вот а На что ты сразу у меня был вопрос вспомнить какую-то сложную задачу и очень круто что ты сразу вспомнил И сразу что-то рассказал потому что это тоже частый вопрос на собесах и часто ребята тут сыпятся и ничего не могут вспомнить вообще забывают сразу как это отбило все чем чем они занимались что они делали и так далее вот а были какие-то проблемы у тебя запуском

    01:08:17 - 01:09:33

  • фласка мы с тобой обсуждали что у тебя там деф сервер и меня показалось по твоему рассказу что у тебя что-то в проде через фласковский Да в сервер был запущено а не так как положено через там ювиджа или джинникорн а из-за условий потому что там локальная всё система и нужно было использовать только либо сортовское решение либо решение достаточно Короче суть в том что это безусловно заказчика формальный я не мог выбрать много чего если во все эти решения прочий искать там найдутся определенные строчки

    01:08:55 - 01:10:14

  • которые не очень нравится заказчику скажем так поэтому используем то что по умолчанию там проблем с этим нет Вот то есть я Я не спорю так это Но путь в идеале но там задача слишком специфично было это часто бывает Есть такие требования что проще все выкинуть и все с нуля написать свое Окей окей следующий момент ты сказал что компилируемый кот собирается в exe файл это как раз то место где что я бы назвал путаницы в терминах потому что компилируемый код Наверное мы если компилим под Винду то наверное он собирается в exe файла если

    01:09:35 - 01:10:59

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

    01:10:17 - 01:11:27

  • сами там как-то что-то происходит трогая не трогая Это обычно там нюансы есть но я просто коротко сейчас отвечаю потому что мы с тобой чуть-чуть затянули вот а строго не строго Это история обычно про то Можем ли мы разные типы данных каким-то образом делать с ними друг с другом операции Например скрипте можно ли там число со строкой Сложи Вот соответственно нестрогая Когда можно строго когда нельзя Но это не единственные критерии и там кто как Что называется впрочем есть разные мнения на эту тему вот очень плохой был ответ про

    01:10:52 - 01:11:57

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

    01:11:25 - 01:12:38

  • мире такая что сильные разработчики ой сильные разработчики все куда-то уезжали А в России кому-то надо работать а ещё во всяких гос корпорациях и всё всё остальное вот а вот поэтому сейчас мне кажется супер сложно и поэтому нужно показывать свой интерес компании к языку к проекту к продукту ко всему что к чему можно показать интерес нужно показывать интерес Вот соответственно про обновление языка такое тоже популярный вопрос который просто позволяет Понять насколько Ты следишь за языком вот дальше у меня написано про типы

    01:12:00 - 01:13:20

  • слабовато Но это вот в целом мы с тобой тоже вот вопрос Какие типы данных есть питоне хорошо начали за здравие закончили за упокой типа [музыка] Господи изменяемые неизменяемые и дальше поплавились на том Какие конкретно Вот это тоже можно себе выписать можно шпаргалки себе вешать как на экзамене клеить бумажки на монитор ничего в этом стыдного нету потому что к сожалению проходить собеседование это не работать это совсем разные знания на работе тебя никто не спросит какие есть типы данных Вот наверное вот

    01:12:41 - 01:13:55

  • я вообще почему-то плохому людей сейчас учу забудьте что я только что сказал Вот про выделение памяти для списков и в целом про то как списки в памяти работают тоже тема в которой показалось что плавая что есть какие-то знания есть круто это типа такой вопрос со звездочкой он глубже чем там опять же ну надо понимать что у всех разные требования к цунам всех джунам по-разному относятся для кого-то джун это тот человек который вообще ничего не знает вообще первый раз открыл компьютер для кого-то человек который там год или

    01:13:18 - 01:14:26

  • два года уже где-то отработал вот ты придёшь какой-нибудь Яндекс да и у тебя там должен быть институт а там и какой-нибудь опыт работы и вот ты Junior Вот соответственно Тут нужно просто это тебе тебе то место в котором тебе глубинные знания немножечко не хватило но хорошо что хотя поверхность они есть вот а про указатели хороший был ответ все правильно рассказал то есть мы когда начали глубже списке обсуждать вот а про копии иди копии про то что копии не копируют то есть Он копирует указатели как есть копии копируют

    01:13:52 - 01:15:09

  • весь объект целиком вместе с внутренними объектами то есть внутренние объекты тоже создает копию ты долго как-то к этому пробирался но в итоге мы к этому пришли ответ в итоге был правильный просто Через тернии какие-то получилось вот а не неправильно рассказал про то почему нельзя мутабельный типа использовать как дефолтные аргументы вот Сейчас я в трех словах попробую да вы когда объявляете какую-то функцию и пишите внутри нее какой-то аргумент объявленный пишете там равно список то интерпретатор когда код читает и читает

    01:14:30 - 01:15:44

  • код создания функции То бишь объявление То бишь деф он вот этот вот список создает и кладет его все в память он там будет все время храниться и потом при перевызовах этой функции с дефолтным аргументом вот с этим который один раз создался который не пересоздаётся на каждый из вас могут быть проблемы поэтому Обычно такие штуки заменяют на NAN А это как раз всё всё тоже про указатели про то про то что один объект про то как В целом память работает вот а вот про это тоже частый вопрос часто а такую штуку часто дают не только скорее

    01:15:08 - 01:16:13

  • не как вопрос А как бывает на собеседованиях когда какая-то практическая часть дают посмотреть какой-нибудь код типа ревью сделать и там вот обычно есть вот такие вот косяки что там не мутабельные аргументы мутабельные типы как дефолтные аргументы Вот про ключевое слово Global тоже чет как-то долго шли и там попутался с тем когда что что оно значит можно ли его писать Нужно ли его писать там когда у нас изменяемый тип или когда мы типа просто какие-то методы вызываем Да тоже в трех словах Рассказываю что

    01:15:40 - 01:17:02

  • Global ключевое слово Global вообще в целом наверное считается Анти паттерном Если вы пишете globalib точно знаете что вы делаете либо вам это не нужно вот обычно Global можно заменить передачей аргументов функцию и так правильнее делать потому что не надо менять глобальный стейт функции должны быть чистыми вот не аффектить ничего снаружи себя и так далее водички много говорю Вот соответственно Global позволяет нам внешнюю переменную каким-либо образом менять ты это правильно рассказал когда мы переходим сразу к следующему в

    01:16:21 - 01:17:41

  • вопросу который был при котором тоже было слабовато это про то как у нас resolveтся поиск переменной в областях видимости Да есть такая штука называется legb правила не путайте с другой аббревиатуры на букву Л вот там соответственно Local and closing Global tens это 4 области видимости по которым у вас будет искаться переменная То есть она сначала будет искаться в скопе этой функции потом в скобе внешней функции потом глобальным скопе и потом в стандартных типах Вот и соответственно чтобы мы когда мы создаем новую переменную внутри

    01:17:01 - 01:18:18

  • нашей функции если мы хотим ее как бы переопределить из какого-то внешнего Скопа У нас есть для этого ключевые слова Глобал еще есть ключевое слово Non Local который похоже на Global но про inclosing область видимости когда функция внутри функции вот три раза У меня написано что путаешься в терминах я вот тебе несколько раз я тут у меня ответы ответы ответы так путается в термин Вот про генераторные выражение не рассказал в целом рассказал про генератор рассказал про елд неплохо про то что такое оператор Что такое

    01:17:39 - 01:18:51

  • генератор Тоже неплохо было вот не слишком глубоко Но кажется что такие генераторные выражение когда мы список создаем Да Есть генераторное выражение оно выглядит также только оно в круглых круглых скобочках получается генераторные выражение создающие на лету объекты они сразу в память вот да про мро метод resolution Order тоже не рассказал это правило по которому у нас происходит поиск в родителях методов при вызове при множественном наследовании Да там ничего сложного слева направо просто полезно почитать

    01:18:19 - 01:19:38

  • что это такое и знать Вот про сложность алгоритмов слабовато было про там по времени по памяти чуть попутались в целом с формулировки но мне кажется мне никогда никто правильно не отвечает я вот сколько людей беседу вообще сложность это относительная величина показывающая как при изменении объема входных данных меняется потребление как это потребление времени или потребления памяти Вот то есть это не там не количество операций не еще что это зависимость это некоторая функция Да там вот и так далее вот

    01:19:01 - 01:20:25

  • в целом про алгоритм Я уже сказал был неплохо и про сортировки поговорили чуть-чуть там по перепутал но в целом Окей вроде все помнишь Вот про деревья тоже было Норм чуть-чуть опять перепутались у тебя понятия что есть одно что другое но все знаешь это хорошо вот про словари вообще было мимо про то как вот как список работает вроде знаешь вроде норм про словари вообще мимо вообще ничего не рассказал не про не про каширование там про коллизии я еще хотел поговорить но тоже отдельно тоже про это надо почитать в целом там ну поглубже

    01:19:43 - 01:20:54

  • про стандартные питание типа надо понимать как они работают как как она в памяти хранится и так далее и так далее Вот про потоки процессы тоже слабовато просинхронность вообще не поговорили потому что увидел что про потоки процессы плаваешь и решил свернуться в этом месте Вот лечится эта пара из статей на хаббре короткими там в целом разница простая ключевые слова там CPU Bound Tail Bound надо понимать Для каких задач мы что используем и так далее вот прогил тоже ничего не рассказал Гил грубо говоря быстро тоже в трех словах

    01:20:21 - 01:21:31

  • рассказываю том я тут уже все я уже смотрю на часы и понимаю что мы сейчас еще и на вопросы ответить чат не успеем и ужас Вот агил очень грубо говоря не дает в питоне больше одного потока выполнять в один момент времени Да и соответственно из-за этого наши многопоточные программы работают не так как хотелось Я очень много говорю я заказ вот Да прогиб В общем не надо прям супер глубоко знать как он там чё переключает по каким он это какие-то там метловые синьорские вопросы куда там в какие моменты он отдает управление в какие

    01:20:56 - 01:22:24

  • забирает так далее так далее просто знать что это такое Это наверное достаточно Вот и про базы данных тоже было слабовато про нереляционный достаточно просто знать на какие виды они подразделяются наверное на джуновском уровне не надо знать когда что использовать я так по привычке скорее спросил Вот и собственно все про индексы ничего особо не рассказал про соли тоже вот Последний был вопрос ничего особо не рассказал надо тоже повторить запомнить про индексы Не факт тоже что спрашивают я вообще не уверен

    01:21:43 - 01:22:57

  • что про базы данных много спрашивают точно совершенно про индексы про то Какие базы данных бывают наверное как-то глубже Скорее всего нет Вот но опять же чем больше Вы знаете чем легче вам устроиться на работу Это универсальный лайфхак вот я рассказал Все что хотел можно приглашать к нам в Лизу А вот и Лиза то Всем привет Спасибо большое Поделись Как ты себя чувствуешь какие-то в принципе эмоции и вот я хотел сказать что это большой молодец потому что это очень волнительно на аудиторию онлайн формате достаточно сложно

    01:22:19 - 01:23:52

  • не волнуйся не переживай реально было хорошо Поделись Как ты себя чувствуешь Какие твои эмоции вообще от сегодняшнего мероприятия Да нормально очень даже интересно вот я в организме собеседовался понимаю что такое Вот ешь то подчеркнул что все-таки по пазам данных у джуниоров спрашивают некоторые варианты каких-то коллизии связанных с базы данных что вот иногда Ну я хочу ставился что спрашивают что вот если нет соответствии типов если есть какие-то такие проверки ошибки вот это иногда достаточно случае я

    01:23:08 - 01:24:34

  • сталкивался с этим Так что я сказал бы людям еще готовится проверки на коллизии и проверки на дурака там для вас данных Вот это иногда любят спрашивает все-таки у меня было очень интересно Я очередной раз знал что нужно немножко Подготовиться и вот в принципе я считаю что достаточно интересно то что вы делаете Вот потому что основная проблема в том что люди часто паникуют это решается только тем что есть очень-очень много проходить таких совбезу даже если не будет неудачные то лучше на них пойти узнать

    01:23:50 - 01:25:01

  • задачки что-то новое узнаешь свой слабые места потому что программирование вы такая вещь которую нельзя выучить мне всегда будут белые пятна Иногда вы их знаете но просто может быть какая-то в данный момент вы забыли за волнение поэтому здесь только решается опытом и большое количество операций вот поэтому я Советую всем просто побольше опыта увы другого решения нет Спасибо большое согласен Да тоже вартану в этом плане поддерживаю Давайте поотвечаем на вопрос немножко насыпали есть вопросы Артем большую часть к тебе если есть

    01:24:26 - 01:25:51

  • комментарии того что же добавлять помогает тут есть вопросы в принципе на которую мы все вместе Можем немножко поотвечать первый вопрос Я учусь выбрал один джанга и лучше знать что-то одно и нежели всего по чуть-чуть прав человек или не прав Я считаю что лучше знать что-то одно и хорошо чем много и по чуть-чуть это касается как конкретных фреймворков если мы говорим в контексте одного языка так и языков в целом то есть лучше знать хорошо питон чем плохо питон и JavaScript вместе наверное тут смотря что вам больше

    01:25:09 - 01:26:27

  • интересно Я не никого не осуждаю ни в коем случае не говорю что это категорически неправильно вот кому-то например хочется быть фул стеком или хочется попробовать все в мире фреймворки или что-то еще но с точки зрения специалиста и человек который что-то умеет Мне кажется что лучше когда ты в чем-то одном специалисте чем когда ты не очень в разных местах круто когда ты во всем специалисты много В чем это просто много очень времени требует если мнение в принципе Согласен согласен лучше знать что-то одно

    01:25:48 - 01:26:53

  • Следующий вопрос достаточно сложный но в принципе интересно послушать мнение Как сейчас вот вы видите ситуацию сложно попадать на собеседование очень много откликов и принципе где искать Как передаваться как искать работу в особенности наоборот кучи откликов и как раз таки как тебя показать засветить я вартануть есть тебе чем ты своего какого-то релевантного близкого совет нужно очень сильно раз 3-4 месяца менять свое но я не знаю где вы ищетно линкер либо хедхантере нужно менять свое резюме периодически либо обновлять либо его

    01:26:23 - 01:27:56

  • верстать потому что где-то раз в 3-4 месяца меняются алгоритм по там происходит несколько операций перед тем как вашу Земля еще дойдет до человека и там есть просто вот который может какие-то элементы например зарплату элементарно просто высокая зарплата все и пофигу что она Дальше написано Поэтому иногда нужно свое резюме иногда раз три четыре месяца смотреть я тут еще немножко добавили посоветую что я уже сказал про то что ситуация сейчас сложная как мне кажется для джимов особенно сложно для сеньоров

    01:27:14 - 01:28:29

  • сложная ситуация Вот в общем я тут несколько лайфхаков дам во-первых вам нужно везде зарегистрироваться то есть HeadHunter карьера LinkedIn Я не знаю там супер Джоб и все остальные места вот все что вы найдете везде публикуетесь везде откликаетесь долбите ничего в этом страшного плохого нет это Окей вот и еще один лайфхак то что Вардан сказал тоже я согласен абсолютно ещё один лайфхак это то что попытайтесь поискать каких-то знакомых знакомых знакомых в каких-то компаниях которых вам было бы интересно Чтобы Вас туда по

    01:27:52 - 01:29:01

  • реферили потому что по рефералки попасть проще чем э из оружия Так у вас хотя бы есть шанс что ваше резюме посмотрит человек вот чем оно роботом отсеется до того как добавлю Вот ещё желательно если Особенно с клиент у вас время участвовать в хакатонах потому что там очень часто некоторые компании к себе там некоторые другие устраивают свои локальных катона и в них можно просто поучаствовать и если там ваша команда даже войдет в топ 10 даже надо первое место занимать с вами мог связаться на тему этой как

    01:28:27 - 01:29:45

  • называется это не оплачиваемая стажировка да да стажировка то есть принципе тоже хороший вариант жировки стажировки это вариант любой к интервью Свободном рынке А вот через хакатон и в принципе еще есть такая возможность Да отлично Спасибо следующий столкнулся с мнением что стоит начинать изучение с программирования С низкоуровневой чтобы там какое-то программистское мышление насколько это актуально Я ответил уже на этот вопрос Да в трех словах еще раз повторю зависит от количества усидчивости у вас это точно

    01:29:05 - 01:30:29

  • будет полезно но Будьте готовы к тому что этого вас может демотивировать это правда сложно сильно сложнее Мне кажется выучить И тем более самостоятельно чем выучить питон вот поэтому это в любом случае полезного Вот это действительно дает какие-то фундаментальные знания и понимания того как под капотом Все работает Вот Но есть просто шанс что вы бросите это все дело и начнете ненавидеть это программирование до того как у вас получится чего-то достичь Вот поэтому я бы начинал все-таки наверное с чего-то

    01:29:47 - 01:30:57

  • более простого хорошо Следующий вопрос как быстро Ты понимаешь что металл оказывается не дотягивает до уровня метла скорее всего на собеседовании Мне кажется за 10 минут примерно хватает обычно чтобы понять часто про опыт часто опять же я на самом деле так в трех словах чем собеседование на метла отличается от собеседования начинается собеседование сеньора Чем дальше Вы по и вот лестницы тем меньше вам задают Дурацкие вопросы про то Какие типы данных в питоне есть тем больше у вас просят рассказать с каким вы

    01:30:22 - 01:31:27

  • сталкивались проблемами Как вы их решали что сделали конкретно вы чего вы конкретно добились как разработчик какими сложностями там с какими сложностями сталкивались это д и т.п и как Ну какие-то решали проблемы Вот соответственно как человек про свой опыт рассказывает это очень важно Вот вартана большой плюс что он сразу нашёл сразу вспомнил сложную задачку с которой он столкнулся Там тоже были какие-то нюансы с непосредственно самой задачей но в целом как бы рассказ ничего так вот и это важно уметь вот ну и в целом очень часто

    01:31:01 - 01:32:15

  • у людей нет стыкуются резюме с тем что они рассказывают То есть он там у него написано что он там делал проект на джанге а оказывается что он не делал вовсе там два коммита туда написал И вообще это поддерживал неона Петя вот а он так на глаза мимо проходил А мы например там Джанго разработчика ищем и мы на этом моменте как бы Прощаемся понятно что у человека нерелевантный опыт Но вот как так Окей тоже тебе вопрос как по твоему опыту как сформулировать правильно самая быстрая над твоей памяти Расскажи какой-нибудь

    01:31:38 - 01:32:58

  • случай Как быстро из Джуна человек прорастал синее я не никакого примера не вспомню я не вспомню никакой супер секс истории Я могу очень В общем рассказать что это результат упорной работы да Если вы Junior Если вы стажер Если вы учитесь программировать только начинаете А то все что Вы должны делать Это программировать чтобы быстро расти Да можно стать сеньором там за два года можно не стать сеньором за 10 лет вот вопрос того как сильно вам это нравится Я например категорически считаю что нельзя ничем заниматься Через силу То

    01:32:22 - 01:33:34

  • есть если вы пришли там в программирование Потому что здесь я не знаю вкусный и кофе с печеньками наливают в офисах да А я не потому что вам это интересно то у вас вряд ли что-то получится по крайней мере опять же по моему опыту по опыту там тех людей которых я вижу как студентов типа ну а фэнсов ни в коем случае вот а то есть этого нужно правда хотеть этому это ну это должно нравиться Я думаю что в любой я правда считаю что в любой на самом деле сфере можно стать специалистам зашибать Кучу бабок И вообще стать супер

    01:33:05 - 01:34:05

  • успешным чуваком если ты правда это любишь можно шапки вязать можно картины рисовать не знаю можно сантехником трубы чинить и так далее Если ты любишь это дело то я думаю что все может получиться так и тут просто кажется всем что легко войти туда-сюда вот надо очень много учиться очень много работать всегда важно помнить что обучение в программировании никогда не заканчивается как Вартан уже сказал Тут нельзя научиться программировать Да а постоянно что-то меняется за этим всегда нужно следить всегда нужно убить в теме

    01:33:35 - 01:34:38

  • а там перестал на полгода что-то делать всё Ты уже никому не нужен ты уже не знаешь что происходит э и всё такое вот то есть ну я не могу какой-то нет какой-то Серебряный пули Да как как мне стать сеньором за год да ну типа надо много работать вот так ничего конкретного Я не отвечу [музыка] Стоит ли писать разработчикам по поводу работы напрямую искать подобные автоматических чатах или все же лучше не стоит надоедать в таком формате людям Я думаю что тут очень сильно зависит от человека которому вы пишете я вот

    01:34:05 - 01:35:21

  • например в моей в моем понимании Telegram это некоторая личное пространство То есть я бы никому не советовал Ну точнее я бы никому не советовал мне писать в телеграф Вот то есть у кого-то не так Я например считаю что вот у меня есть LinkedIn У меня есть там почта пожалуйста Там туда вот кто-то так считает кто-то вообще считает типа Зачем вы мне пишете пишите сейчас кто-то не принимает никаких решений по поводу найма то есть куча разработчиков которые в процессе найма никак не участвуют не имеют никакого отношения к

    01:34:46 - 01:35:56

  • чарам к людям которые собеседуются и ко всему остальному прочему то есть ну шанс того что вы попадете вот так вот тыкая Пальцем в разработчика который Вас реально сможет куда-то пореферить Он не высок лучше пытаться о себе заявить каким-то другим способом Да вот Вартан например сегодня с нами здесь участвует Может ему завтра можете его завтра кто-нибудь на реальное собеседование позовёт это тоже э крутой крутой способ Ну то есть какие-то активности как Вартан сказал хакатоны а-а писать Ей чарам наверное можно блин еды не писать

    01:35:22 - 01:36:28

  • я читаю ну там и в телеграмах наверное можно у них всё-таки работать такая вот писать разработчикам Я не уверен что это хороший идея но да писать может быть стоит каких-то совместных проектов можно да Да очень простые решения типа написать документацию то есть какой-то проект который поддерживает группу разработчиков Вы можете туда пытаться к ним дописаться Если вы там можете проявить себя усидчивость то потенциально может быть у вас возьму Может а нет да да вот туда писать я думаю стоит многим проектам просто нужно

    01:35:56 - 01:37:20

  • люди кто пишет документацию а на самом деле Open Source это реально типа очень крутой очень крутой способ получить опыт в около продакшн разработки потому что пока вы пишете проекты сами с собой у себя на компьютере не получаете никакого фидбэка вообще не знаете хорошо или плохо вы это делаете Это все не очень полезно можете Ну начать себя закапывать да то есть кто-то по лестнице вверх растет и растет а вы будете упорно работать но вниз короче копать яму Это не очень хорошо Поэтому да то есть классно иметь

    01:36:37 - 01:37:42

  • какой-то там третью сторону это может быть ваш друг это может быть Open Source проект в котором есть какие-то ревьюеры это может быть ментор это может быть кто угодно еще вот человек который шарит и разбирается и периодически какой-то верхний взгляд дает на то в каком вы направлении движетесь Все ли ок и так далее и последний вопрос насколько насколько важны для всех собеседований в математике которые сегодня прозвучали не важны Ну скажем так знать что больше n квадрат или НЛО Gan Наверное нужно

    01:37:10 - 01:38:30

  • потому что это Ну то место где математика плотно контактирует с программированием Вот я например не умею решать дифференциальные уравнения и логарифм у меня посчитать не могу или еще что ну то есть я очень плохо знаю математику мне это не мешало в жизни совсем но какие-то базовые основы то есть ну что n квадрат Это больше чем или что квадрат Это больше чем Логан Да это наверное понимать какие-то глубокие штуки там линейные алгебра матрицы Но если вы не машин Ленинг инженер какой-нибудь да Вот кому это нужно по специфике работы там

    01:37:50 - 01:39:03

  • конечно другая немножко ситуация вот все там нужна математика Но если вы крендель на питоне вам не нужна математика скорее всего Советов что даже иногда по кэндером это может понадобиться все очень сильно зависит от той того Совбез Куда вы идете Потому что часто пишут что нужно парить на разработчик полобла и еще знаний математики развивается что человека в принципе знаете официальное уравнение и на некоторых беззах даже присылают задачки полноценные задачи по официальном уровне вы их должны решить ручками Ну на папе

    01:38:26 - 01:39:36

  • написать код писать им то есть например там движение маятника очень излюбленная Тема и все-таки это вы должны знать куда вы идете Если же там сказано математика то значит нужно знать математику если сказано значит просто стандартный логарифмы есть куча таблиц выполнения логарифмов они строят очень легко Какие графики так далее этого больше достаточно ну и таблица работы сортировки в целом да то прошлого Действительно существует Но это какая-то такая тоже некоторая под область внутри питона как есть там машин лендинг есть Back and

    01:39:02 - 01:40:24

  • есть где-то где математика нужна есть детки не нужна вот я не знаю математику Нет никогда не мешало Поэтому я думаю что если вы не знаете математику не надо срочно садиться ее учить в зависимости от вакансии вакансии указано то как правило называется что вы должны знать как решать официальные уравнение То есть это такой минимум который скорее всего признает что вы должны знать плюс машин логинги и сколько официальные уравнения сколько сами численные методы то есть там рекурсии и прочее прогонка прочие

    01:39:43 - 01:40:42

  • такие радости жизни иногда это знаете совсем не обязательно в таком уровне чтобы вывести форму просто общие слова говорят о начале значит что-то знает хотя минимум значит можно о нём говорить берешь ли ты сейчас компанию к себе джинов Важно ли быть жена на удаленке совмещать с другой работой я такое делал но я тоже работал программистом и работал по совместимости Я бы тоже сказал Да но это индивидуальная история То есть зависит от того какой вы человек если вы усидчивый Если вы терпеливы если у вас

    01:40:12 - 01:41:21

  • хватает сил ресурсов если вам 20 лет у вас нет жены детей то можно вообще все что угодно вот если там Если какие-то другие жизненные обстоятельства или у вас какая-то другая психология или вы как-то по-другому привыкли жить или если вам нужно чтобы вас над душой кто-то стоял пока вы работаете да то наверное вам нужно ходить в офис в общем зависит от компании и от вас как человека где как ну то есть удаленка она немножко разная Бывает так что на удален удаленка например такая что у вас супер распределенная команда все вообще в

    01:41:00 - 01:42:06

  • разных концах света и там у вас есть один час в день чтобы всем созвониться потому что кто-то в нью-йорке А кто-то в Москве кто-то не знаю в Лондоне вот а бывает Бывает так что наоборот вы там сидите чуть ли не весь день в дискорде на сервере и захо ни одному человеку зашли в комнату захотели к другим там одни чет сидят как в офисе в общем вот обстановка как в офисе Просто удаленке бывает по-разному зависит от компании опять же какой вы у вас как Как у Джуна наверное будет какой-то ментор зависит

    01:41:34 - 01:42:32

  • от того какой он контактный там как он на созвоны соглашается как на вопросы когда вы в офисе там легко человека в бок попинать и задать вопрос Да тут созвон туда-сюда Ну в общем много очень но это возможно к нам пришли и для участников или ребят которые у нас сегодня смотрели я напомню Что выбирать мероприятие это сообщество вас покупает на чьём канале мы сейчас находимся и приходите к ребятам сообщества в Telegram также партнером является соборе это комьюнити И один из самых больших в СНГ marketplace

    01:42:03 - 01:43:26

  • поиску ментора Артём как раз таки тоже является нашим ментором и если нужно на собеседование подготовиться знания свои посмотреть слабые сильные стороны А в какую сторону идти проконсультироваться в принципе по своим знаниям вы можете обращаться ссылочка будет внизу Спасибо большое что сегодня с нами был успех Удачи тебе в карьерном росте и ребята спасибо большое Всего хорошего Всем пока

    01:42:50 - 01:43:44