15 теоретических вопросов для начинающего Python-программиста на собеседовании (и 1 задача)

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

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

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

    00:00:00 - 00:01:51

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

    00:00:57 - 00:02:08

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

    00:01:34 - 00:02:58

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

    00:02:16 - 00:03:34

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

    00:02:55 - 00:04:23

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

    00:03:44 - 00:05:01

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

    00:04:22 - 00:05:50

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

    00:05:12 - 00:06:45

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

    00:06:04 - 00:07:26

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

    00:06:45 - 00:08:22

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

    00:07:33 - 00:09:01

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

    00:08:17 - 00:09:37

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

    00:09:13 - 00:10:32

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

    00:09:52 - 00:11:24

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

    00:10:53 - 00:12:18

  • выполнение например каких-то задач Ну я больше всего это понял на выполнение например когда ты по запросов Если через обычные Ну например библиотеку request это делать то есть они делаются все последовательно если у тебя их делается много например ну надо получить к примеру много каких-то ссылок на картинки из какого-нибудь API например Это занимает довольно большое время если это сделать асинхронно это все выполняется несколько раз быстрее с помощью асинхронных вызовов но опять же Насколько я понял асинхронно эти

    00:11:45 - 00:13:00

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

    00:12:23 - 00:13:45

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

    00:13:16 - 00:14:45

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

    00:14:00 - 00:15:29

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

    00:14:49 - 00:16:24

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

    00:15:36 - 00:16:45

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

    00:16:10 - 00:17:56

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

    00:17:11 - 00:18:33

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

    00:17:54 - 00:19:09

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

    00:18:31 - 00:19:49

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

    00:19:13 - 00:20:44

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

    00:20:02 - 00:21:25

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

    00:20:58 - 00:22:27

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

    00:21:43 - 00:23:31

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

    00:22:54 - 00:24:33

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

    00:24:01 - 00:25:34

  • Если я правильно помню даже таким сталкивался в питании по моему он возьмет от первого который стоит там все чуть-чуть сложнее но в общем случае это хорошо Ладно хорошо а джанга есть помимо объектов от которых ты наследуешься такая сущность как миксины встречался с такой радостью Я на практике чисто встречался использовал Почему они нужны и что за мигсина вообще Где где использовал Ну использовал в этих во вьюхах в основном чтобы поведение какое-то регламентировать например Ну например логин метод requard

    00:24:50 - 00:26:33

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

    00:25:48 - 00:27:20

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

    00:26:48 - 00:28:16

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

    00:28:03 - 00:29:36

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

    00:29:04 - 00:30:41

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

    00:30:00 - 00:31:30

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

    00:31:16 - 00:32:45

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

    00:32:12 - 00:33:58

  • после этой функции то есть уже за ее пределами за пределами дефа прям сердце и в квадратных скобочках например 1 1 2 3 равно равно и словарик один двоеточие 2 двоеточие один и три двоеточие один Вот только да И первую функцию Да я смотрю что-то не то да такой простенький псев А это не надо это не надо функцию это уже это уже результат работы Это я уже это заумничался Вот и попробую [музыка] должно быть Вот так да я согласен хорошо Кстати можно поместить это в конструкцию из name = Main чтобы иметь возможность стрелочка это легко

    00:33:25 - 00:35:14

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

    00:34:49 - 00:36:25

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

    00:35:57 - 00:37:22

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

    00:36:54 - 00:38:30

  • проходим тест [музыка] ключ единичка очень странно это вот эта штука не сработала от латчиком умеешь пользоваться [аплодисменты] все выглядело все выглядело Правильно Неправильно в одном шаге сделал Одна маленькая ошибка ошибочка случилась так он пошел пошел пошел пошел от латчиком пользоваться умеешь двойскоде Я помню пользовался не пользовался Тогда тогда я предлагаю тебе хитрый трюк хитрый у Блин хитрый трюк называется дебаг принтами Ну да это самый таким то я пользовался давай очень полезный навык надо понять что

    00:38:21 - 00:40:05

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

    00:39:46 - 00:41:45

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

    00:41:27 - 00:43:04

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

    00:42:34 - 00:44:10

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

    00:43:26 - 00:44:46

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

    00:44:05 - 00:45:35

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

    00:44:52 - 00:46:17

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

    00:45:34 - 00:46:54

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

    00:46:14 - 00:47:40

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

    00:46:57 - 00:48:26

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

    00:47:42 - 00:49:01

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

    00:48:23 - 00:49:42

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

    00:49:03 - 00:50:21

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

    00:49:41 - 00:51:04

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

    00:50:25 - 00:51:48

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

    00:51:07 - 00:52:32

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

    00:51:51 - 00:53:15

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

    00:52:36 - 00:53:59

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

    00:53:18 - 00:54:34

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

    00:53:56 - 00:55:22

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

    00:54:39 - 00:56:12

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

    00:55:25 - 00:56:46

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

    00:56:05 - 00:57:23

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

    00:56:49 - 00:58:10

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

    00:57:30 - 00:58:52

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

    00:58:12 - 00:59:47

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

    00:59:00 - 01:00:18

Менторы

Специалисты своей области, которые смогут помочь вам

  • Нигма Нурия
    Нигма Нурия

    Middle .Net Developer

  • Сущенко Татьяна
    Сущенко Татьяна

    Senior Product Manager

  • Гудков Денис
    Гудков Денис

    Middle Python Developer

  • Курочкин Константин
    Курочкин Константин

    Ведущий программист

  • Гудман Макс
    Гудман Макс

    Backend Software Engineer (PHP)

  • Гребенкин Антон
    Гребенкин Антон

    Senior .NET/C# developer

  • Ахназаров Фёдор
    Ахназаров Фёдор

    Middle DevOps Engineer | Tbilisi, Georgia

  • Шорохов Дмитрий
    Шорохов Дмитрий

    Middle C# .NET

  • Жуков Александр
    Жуков Александр

    Senior PHP-разработчик

  • Мазикин Павел
    Мазикин Павел

    Middle python developer

© 2024 HireGuru. Сделано в Санкт-Петербурге с hireguru.ru