40

Что стоит знать junior developer'y (python)

UPD: #comment_211858676

здесь есть более свежая и развернутая дока, следует использовать ее
https://docs.google.com/document/d/1Yl2WAqG5zmivO1LDP1N7Iu3x...

______________________________________

Я тут в комментах предложил написать список того, что следует знать джуну-питонисту, ходя на собеседования. Получилось обширно, решил сделать пост. Сам я пишу под django, но его в этом посте не затрагиваю.

@nataha123 это тебе)


Данные собраны по посещению примерно 13 собеседований (включая по удаленке) в Питере за 2 последних года. (искал работу трижды, последний раз 3 недели назад)

Собственно, сам список:

1) Для начала типы данных - как использовать, как хранятся, что делает функция id, изменяемые-не изменяемые. Надо понимать почему не стоит использовать конструкцию вида def foo(bar=[])


2) Потом декораторы. Их любят вообще все. Советую не просто почитать что это, а написать парочку, а потом написать декоратор который еще и аргументы принимает)


3) Что такое итераторы и генераторы, чем отличаются и как задать и тот и другой


4) Знать что делают методы класса типа __call__, __srt__, __init__, __next__ и т.д.

Почитать про то, какие есть базовые декораторы (property, staticmethod..)


Дальше общие вопросы, не связанные с питоном.

5) Следует знать про асимптотику функций, уметь расчитывать сложность. Почитать про популярные алгоритмы сортировки, особенно про то, что есть базово в питоне)


4) Почитать про популярные способы хранения информации и как (и за сколько) в них совершается поиск


5) Любят спрашивать про SQL, особенно про индексы. Мне с SQL помогли разобраться задачки на составление запросов, гугл выдает много сайтов, найти что-нить для себя не трудно


6) Про ООП следует понимать как работает механизм наследования классов, знать что такое mixin и как это применить. Про инкапсуляцию/наследование/полиморфизм меня спрашивали только 1 раз, но знать будет не лишним)



Вроде ничего не забыл)


Несколько раз мне встречалась задачки про взвешивания (Что то типа даны весы с 2 чашами и 8 монеток. Одна из них фальшивая и легче. За сколько взвешеваний можно найти монетку?)

Еще было пару раз задание накодить следующее: дана строка, содержащая скобки (), {} и []. Необходимо определить валидна ли эта строка (т.е. (а+{в-с}) валидна, а {а×(в+с}) нет.)


И еще мне нравится задачка: человек находится в поезде, замкнутым по кругу. Все окна заколочены, никаких меток ставить нельзя, паттерны тоже использовать запрещено - количество вагонов конечно, но вполне может стремиться к бесконечности) Можно только включать или выключать свет. Изначально в каждом вагоне рандомное состояние света. Задача - посчитать сколько всего вагонов)

1
Автор поста оценил этот комментарий

Cпасибо, человек, не знаю зачем тебя минусить)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
О_о совсем не надо меня минусить))
показать ответы
0
DELETED
Автор поста оценил этот комментарий

Спасибо за развёрнутый ответ. Но я и не стремлюсь к огромным деньгам и т.д. Я больше как подработку хочу, поэтому ваша строчка ( что писать просто на PL/SQL (или чистом SQL) постоянно это невероятно скучно. Задачи однотипные, методы решения тоже.) как раз про меня. А уж если из меня попрёт интерес то буду стремиться! Ещё раз спасибо!

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не за что) Будут вопросы - пишите)

0
DELETED
Автор поста оценил этот комментарий

А есть вакансии по sql, где нужен чистый скул? Прошёл троечку курсов по пайтон и наткнулся на бд. Очень понравилось. Хочу стать или админом или просто какая то работа с бд. Из-за инвалидности нужна удалёнка, подскажете куда копать и что может нужно ещё знать? Пока читаю книги и прохожу первый курс на степике. sql-ex в закладках. буду и его проходить. Ааа! и что нужно знать для стажёра и потом для джуна по sql? Если подскажете, буду очень признателен!

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Привет)
Где только SQL и ничего больше наверное такого нет. Есть вакансии для PL/SQL разработчиков (PL/PgSQL). Я начинал работать на такой должности много лет назад. Кстати, до сих пор вакансия висит. Там нет удаленки на сколько я вижу, но кину для примера https://hh.ru/vacancy/44180722 И я хотел бы сказать, что писать просто на PL/SQL (или чистом SQL) постоянно это невероятно скучно. Задачи однотипные, методы решения тоже. ИМХО это норм должность чтоб начать, но стремиться снадо к DBA


DBA это уже интереснее. Из википедии: Database administrator - лицо, отвечающее за выработку требований к базе данных, её проектирование, реализацию, эффективное использование и сопровождение. Тут уже нужны более глубокие знания о базах данных и разных тулзах для работы с ними. Часто в компании это тот человек, к которому приходят программисты когда у них что-то медленно работает (я в такой сейчас работаю программистом))

Ну и по ЗП, не думаю найти вакансию с PL/SQL и хорошей программистской ЗП легко. Я бы даже сказал крайне трудно. DBA - другое дело. Классные спецы очень хорошо оплачиваются.

> подскажете куда копать и что может нужно ещё знать
К сожалению, детально подсказать не могу. Могу предложить погуглить вакансии, найти те, которые звучат интересно и учить то, что описано в требованиях.

Единственное что подскажу это книга про базы данных, лучшая из того что читал) Но она на английском и я не уверен что есть русская версия + это скорее для программистов которые юзают БД, но мне кажется что начинающему DBA тоже будет хорошо https://use-the-index-luke.com/

показать ответы
0
Автор поста оценил этот комментарий

Смысл смотреть на дату если написано то что тебе надо.

Да и в целом спасибо за пост)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Хех) В целом мое мнение несколько поменялось за последние 3 года) Я тут более подробную доку составил https://docs.google.com/document/d/1Yl2WAqG5zmivO1LDP1N7Iu3x...


@moderator, раз люди продолжают натыкаться на этот пост, можно  лидобавить в начале поста
Upd: здесь есть более свежая и развернутая дока, следует использовать ее https://docs.google.com/document/d/1Yl2WAqG5zmivO1LDP1N7Iu3x...

показать ответы
0
Автор поста оценил этот комментарий
Привет, хотел бы знать, что желательно изучить помимо самого python? Просто в вакансиях питон часто идёт как дополнение. Сколько времени уходит с начала обучения до первой работы? Насколько тяжело самоучке устроиться без диплома? И как у вас сейчас обстоят дела, чем занимаетесь? Благодарю
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Привет, питон сейчас это чаще всего веб (джанго, фласк, кварт и т.д.) по этому стоит знать html, основы js (чтоб с гуглом можно было сделать простые эффекты) и принцип как работает css. Также явно придется работать с бд, а значит надо уметь строить хотя бы простейшие sql запросы и потыкать redis - там ничего сложного, но его юзают многие.
По времени мне сказать сложно, я проработал 1.5 года на pl/sql, вечерами иногда просматривая питон, потом взял отпуск на 2 недели, написал заявление об увольнении и за следующие 2 недели уже нашел работу. Т.е. я нашел быстро, но опыт у меня уже был, пусть и в несколько другой сфере.
Я сам с дипломом, но много коллег без него и у них все ок.
Сейчас я перебрался жить в Берлин, там и работаю. В этом нет какой-то особой моей заслуги, просто стартап в котором я работал был куплен немцами и всех не джунов перевезли в Германию.
Если есть еще вопросы - с радостью готов ответить)
показать ответы
0
Автор поста оценил этот комментарий

Спасибо большое! Так много ты написал, постараюсь осмыслить, что смогу и исправить. "Кроме моделей ничего нет", а что ещё можно прикрутить крутого с помощью джанго или нет, что б скиллуху показать?

p.s помимо full_description есть ещё и просто description, он чуть выше

p.s.s pyCharm стоит, но помогает(подсказывает, дописывает, подсвечивает) он только когда пишешь на python, отчасти из-за этого в html и css дела обстоят несколько печально. Пока не смог с ним совладать, что бы он везде мне помогал, вот

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Вообще скиллухи ради стоит сделать что нить с ajax, с веб сокетами, написать rest api (для ajax или для сторонних пользователей) и запилить какую нибудь асинхронную хрень например с помощью celery или django rq.
0
Автор поста оценил этот комментарий

Спасибо большое! Так много ты написал, постараюсь осмыслить, что смогу и исправить. "Кроме моделей ничего нет", а что ещё можно прикрутить крутого с помощью джанго или нет, что б скиллуху показать?

p.s помимо full_description есть ещё и просто description, он чуть выше

p.s.s pyCharm стоит, но помогает(подсказывает, дописывает, подсвечивает) он только когда пишешь на python, отчасти из-за этого в html и css дела обстоят несколько печально. Пока не смог с ним совладать, что бы он везде мне помогал, вот

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Поставь про версию pyCharm чтоб шаблоны/css/js подсвечивало)
Ну сделать можно интерфейс заказа, корзину, какие нибудь рассылки об акциях на емейл, поддержку загрузки товаров из csv, выгрузку остатков по складам, прикрутить какие нить яндекс карты чтоб были указаны склады, автоматически считать с какого склада доставлять и т.д. - накрутить можно много, но в первую очередь надо по pep8 все сделать красиво
0
Автор поста оценил этот комментарий

https://github.com/Ganza6. Хз как можно разобраться, особенно в джанге, если самого сайта с его функционалом  перед собой не видишь.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Сделал PR с ревью к тебе в репозиторий. Если есть вопросы - спрашивай

показать ответы
0
Автор поста оценил этот комментарий

Автор, подскажи источники откуда ты черпал информацию. Книги/видео?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Интернет. Видео курсы как обучение программированию это что-то страшное. Книги на уровне джуна не особо полезны - в них раскрываются всякие тонкости, а они пока-что не так важны. Туторы для начального уровня пилят все кому не лень, что то более специализированное по-любому есть в английском сегменте интернета.
Я ставил перед собой цель, например сделать сайт чтоб как форум был не запариваясь над фронтом, тупо бэк. Что не знаешь - гуглить. Если не знаешь как это загуглить (в качестве примера я не знал что такое сокеты и что с их помощью можно сделать, но обновлять сообщения без рефреша страницы не хотел), то можно спросить на форумах/в вк в тематических пабликах/у знакомых

показать ответы
0
Автор поста оценил этот комментарий

Через поисковик нашёл пост, открыл коменты и вот))))

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

За прошедшие два года моё мнение поменялось на то, что в интернете и без меня обучающих материалов достаточно))

Погугли роадмапы курсов каких нить, а если уже что-то умеешь, то смотри описания вакансий

0
Автор поста оценил этот комментарий

А посвежее есть что?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Расскажи, как ты нашёл этот коммент?))

показать ответы
0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Вау, как так получается что этот пост кто-то находит спустя 3 года?

показать ответы
0
Автор поста оценил этот комментарий
Мне только интересно, из чего можно собрать портфолио на основе python/jango/SQL. Поскольку на JS, css, html это хотя бы наглядно(например сайт), а вот тут сплошной бек- энд же)
Вопрос глупый, но я сейчас только у начала, хотел бы знать инфу от человека, который в этом шарит)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ну если ты метишь на бекенд разработчика, то зачем фронт?) Вообще сверстать базовый красивенький сайт на каком нибудь бутстрапе довольно быстро и совсем не сложно. Я делал форум с вебсокетом для отправки/принятия новых сообщений и хостил его на pythoneverywhere
показать ответы
1
Автор поста оценил этот комментарий
Привет, питон сейчас это чаще всего веб (джанго, фласк, кварт и т.д.) по этому стоит знать html, основы js (чтоб с гуглом можно было сделать простые эффекты) и принцип как работает css. Также явно придется работать с бд, а значит надо уметь строить хотя бы простейшие sql запросы и потыкать redis - там ничего сложного, но его юзают многие.
По времени мне сказать сложно, я проработал 1.5 года на pl/sql, вечерами иногда просматривая питон, потом взял отпуск на 2 недели, написал заявление об увольнении и за следующие 2 недели уже нашел работу. Т.е. я нашел быстро, но опыт у меня уже был, пусть и в несколько другой сфере.
Я сам с дипломом, но много коллег без него и у них все ок.
Сейчас я перебрался жить в Берлин, там и работаю. В этом нет какой-то особой моей заслуги, просто стартап в котором я работал был куплен немцами и всех не джунов перевезли в Германию.
Если есть еще вопросы - с радостью готов ответить)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
А и да, я для себя не рассматривал вакансии где питон это дополнение)
0
Автор поста оценил этот комментарий

Привет, извини что долго не отвечал, был занят немного другими задачами. Сюда практически не захожу, где тебе можно позадавать будет вопросы? Телеграм или где-то ещё может? Сегодня буду смотреть код

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Лучше всего подойдет ВК - https://vk.com/classmethod

0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Эх, я тут хоть какой-нить фидбек жду(((

показать ответы
0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

https://gist.github.com/SlavaSkvortsov/020b960d28d24465e8cc7...
Я не знаю как расчитать сложность этого - никогда не приходилось расчитывать в работе сложность в O нотации, а с универа подзабылось. Оптимальней придумать не смог. Будут вопросы по реализации - задавай

Если вдруг найдешь еще какой-нибудь способ решить - не забудь кинуть)

UPD: Только что понял, что забыл впилить проверку на невозможность заразить. Для этого надо после цикла while пройтись по всей матрице и, если остались не зараженные ноды - зарейзить ошибку

0
Автор поста оценил этот комментарий

привет, ну что, ты смотрел?)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ну я в голове варианты прокрутил) Первый рабочий день после праздников не оставляет особо времени.
Я бы реализовывал так же, как алгоритмы поиска кратчайшего пути. По сути надо для каждой точки найти минимальное расстояние до инфецированой ноды. Проблема в том, что я затрудняюсь рассчитать сложность этого алгоритма, по этому надо попробовать выдумать что-то этакое, чтоб и в сложность влезало и вычислялось без проблем. Т.е. если бы это была реальная задача, то я смотрел бы именно в сторону нахождения кратчайших путей. Если завтра на работе будет время - посмотрю
показать ответы
0
Автор поста оценил этот комментарий

Привет, можешь помочь с написанием программы на Питоне?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Привет) Кидай задание, посмотрим))

показать ответы
0
DELETED
Автор поста оценил этот комментарий

Понятное дело) Тоже сейчас учусь на программиста, делаю упор на питон, хочу в джуна на Питоне.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Это хорошее дело) Если что-то будет непонятно, то я готов подсказать))
показать ответы
0
DELETED
Автор поста оценил этот комментарий

Ты лучше расскажи: все еще на питоне разрабатываешь?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ага) И доволен))
показать ответы
0
DELETED
Автор поста оценил этот комментарий

Так и не написал.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Бло, действительно. В данный момент я в поезде Питер-Москва, как-нибудь потом напишу))
показать ответы
0
Автор поста оценил этот комментарий

Допиливаю свой интернет магазин на Django. Откликаюсь на всевозможные вакансии, хоть мало-мальски мне подходящие, 1 отказ и 18 игноров(скоро буду вообще на все откликаться). Написал парсер тестов для учебного сайта, единственная сложность была в том, что он требует авторизации, ну и пришлось чуть погуглить, чтобы понять как куки с собой носить. Сайт уже поднадоело делать, хочу с ним разделаться побыстрее и чисто для души какого-нибудь бота для телеги или вк написать, или ещё что-нибудь, пока в раздумьях. Вот, держу в курсе.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ух-ты) Если есть желание - кинь код, я могу попробовать отревьювить и мб подсказать что-нить)

показать ответы
0
Автор поста оценил этот комментарий

Сейчас питон программистом работаете? Осенью хочу первый раз пойти попробовать себя джуном куда-нибудь. Большинство того, о чем в посте написано я знаю/изучал, но все равно кажется, «что я знаю, только то, что ничего не знаю», да и практического опыта реальных задач нет никакого. Посоветуете что-нибудь?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Да, до сих пор работаю. Советую написать свой проект, чтоб и практика была и было что показывать на собеседованиях. Не нужно придумывать что-то новое, я, например, написал нечто среднее между чатом и форумом) Я, если что, могу отревьювить/подсказать что-нибудь.
показать ответы
0
Автор поста оценил этот комментарий

Туторы - текстовые гайды, обучения как сделать конкретную вещь?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Угу. От английского tutorial)
показать ответы
1
Автор поста оценил этот комментарий

я больше половины всего этого не знаю\не использую.

считаю себя джуном.

зарабатываю себе кусочек хлебушка, написанием python модов для игрушки средне-популярной. Что я делаю не так?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я постарался собрать частозадаваемые вопросы по собеседованиям, на которые я ходил)
А что за игрушка, если не секрет?)
0
Автор поста оценил этот комментарий
ты почему в комменты не кинул свой вариант решения, автор?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Потому что всегда интереснее порешать не натыкаясь на чужие решения) Если хочешь - напишу
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества