Python Simple
226 subscribers
55 photos
6 videos
175 links
by mr.Gold
Download Telegram
Всем привет!
На этой неделе добиваем нерешенное и непроработанные вопросы:
https://t.me/python_simple/33 - вопросы с собесов
https://t.me/python_simple/35 - задачи
Готовимся к мок интервью)
В комментариях можете рассказать, какие темы вызывают больше всего трудностей
🔥4👌1
Чтобы никто не скучал, давайте порассуждаем, надо ли знать sql?
- Да!
Знаю, что тут есть знатоки sql.
Задача с одного из собесов, правда на техскрининге)
// user

id | firstname | lastname
1 | Oleg | Tinkoff
2 | Roma | Ozonoff
3 | Lexa | Yandexoff

// purchase
id| price | user_id
1 | 5500 | 1
2 | 5700 | 1
3 | 4000 | 1
4 | 8000 | 2
5 | 400 | 2

// ban_list
user_id | date_from
1 | 2021-03-08

// Найти пользователей, которые совершили покупок на общую сумму более 3000р и не имеющих бана.
// Вывести их имена в формате id пользователя | имя | фамилия | сумма покупок

Решения можно писать в комментах, их как часто бывает в sql несколько)
👍3🔥1
Всем привет!
Из опыта похода по собесам.
Иногда просят проревьюить код, бывает, что дают достаточно большие куски кода, например целый модуль, но на скрининге могут дать одну ф-ию. Предлагаю вам найти в этом коде ошибки или помарки и расписать их по пунктам, потом предложить свой правильный вариант.
p.s. запускать код естественно нельзя)
👍3🔥1
Всем привет!
Вопрос простой, ответ ещё проще, но это тоже спрашивают:
20. Чем отличается оператор is от оператора == ?


все вопросы
#ps_question
🔥5🤔2
Всем привет!
Возвращаемся к питонячим вопросам)
21. В чем разница между res_1 и res_2, когда мы будем по ним итерироваться в цикле for?

#ps_question
👍3🍾3
Всех с наступающим Новым Годом!)
Желаю вам и дальше расти в IT, не бояться экспериментировать, искать свое направление и главное заниматься тем, что приносит вам удовольствие.
Я очень рад, что завел канал и у нас сложилось такое комьюнити. Радует, когда вы принимаете участие в обсуждении вопросов. Большое за это спасибо. Рад, если канал кому-то помогает. Работаем дальше)
P.S. Из моих новостей, под конец года, есть хорошие, я вернулся на Python стек) А так как проходил несколько серий собесов, то есть вопросы для разбора)
6🍾4🎄3🔥1
Всем привет, возвращаемся к вопросам)
Иногда задают вопросы, ответы на которые вы точно знаете, если сталкивались с похожими кейсами, но также можно догадаться в ходе рассуждения. Тут литкод не поможет)
22. У вас есть админка, в которой может сидеть несколько админов одновременно. В админке есть карточки пользователей.
Кейс такой: если вы админ и загрузили карточку пользователя, и пока вы её редактировали кто-то другой изменил эту карточку, то во время того, как вы пытаетесь сохранить карточку, вам должно вернуться сообщение, что карточка уже была изменена и необходимо перезагрузить эту страницу.


Ваша задача, что необходимо сделать на бэкенде или с БД, чтобы реализовать это.

Для упрощения можно считать, что данные в карточке находятся в одной таблице или даже строке таблицы

все вопросы
#ps_question
🔥4
Всем привет. Возвращаемся к задачам по воскресеньям)
В чате https://t.me/+ChK7imUAJDlhN2Y6 за это время было предложено 3 задачи, предлагаю их разобрать всем)
24. Range Sum of BST (легкая)
На вход подается корень дерева, и минимальное и максимальное значения диапазона. Необходимо пройтись по дереву и сложить все значения из этого диапазона. Картинку можно посмотреть по ссылке
https://leetcode.com/problems/range-sum-of-bst/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)

Список всех задач
#ps_leetcode
2🤩2
Всем привет! (К обсуждению прошлой задачи можно тоже подключиться)
Ещё одна задача, которая встречалась в чате.
25. Assign Cookies (легкая)
Вы потрясающий родитель и хотите раздать своим детям по печенью, каждому можно дать не более одного печенья.
У каждого ребенка есть пожелание в размере печенья и все размеры разного размера.
Вам дается 2 списка, в первом - так называемый коэффициент жадности, то есть какой вес должен быть у печанья для i-го ребенка. Во втором списке содержится вес каждого печенья.
Вам надо вывести, сколько детей смогут получить печенье необходимого размера (печенье может весить больше, чем желает ребенок, но не меньше)
Условие на литкоде - https://leetcode.com/problems/assign-cookies/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)

Список всех задач
#ps_leetcode
4
Всем привет, мы как-то разбирали такой кейс, про аллоцирование памяти под список https://t.me/python_simple/102
Речи шла о том, что, когда список постепенно увеличивается, то место в памяти под список увеличивается x2, в тот момент, когда мы достигаем предела. Например у нас есть список на 5 элементов, и нам аллоцируется память на 8 элементов, и только когда мы заполним аллоцируемую память, то в новом месте выделится памяти уже на 16 элементов.
Внимание вопрос (кстати с собеса, но это 1 на миллион, что такой попадется, но вдруг).
Что произойдет, когда мы уменьшим список? Например был на 1000 элементов, а стал на 500, чтобы узнать, как проверить, надо ознакомиться с первой статьей)
🔥2
Всем привет!
Внимание вопрос:
Что бы вы посоветовали себе до покупки курса по программированию, если бы могли вернуться в прошлое?
Поделитесь мыслями, думаю, что это обсуждение может быть полезным)
🔥3
Всем привет!
Возвращаемся к тренировкам с алгоритмами и структурами данных на leetcode
25. 797. All Paths From Source to Target
Нам на вход подается направленный ациклический граф ( в виде списка смежности) из n узлов, наша задача найти все возможные пути от узла 0 до узла n-1 и вывести их в любом порядке.

Граф задан с помощью списка смежности, это значит что graph[i] - это список всех узлов, которые можно посетить из узла i (т.е. существует направленное ребро из узла i в узел graph[i][j]

Input: graph = [[1,2],[3],[3],[]]
Output: [[0,1,3],[0,2,3]]

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)

P.S. Ссылка на задачу в названии, если на знакомы с графами в Грокаем Алгоритмы очень хороший разбор

Список всех задач
#ps_leetcode
5
Всем привет!
На эту неделю у нас будет задача попроще
2315. Count Asterisks (easy)
Вам дана строка s, в которой каждые две последовательные вертикальные полоски '|' объединены в пару. Другими словами, 1-я и 2-я '|' составляют пару, 3-я и 4-я '|' составляют пару, и так далее.

Верните количество '*' в s, исключая '*' между каждой парой '|'.

Обратите внимание, что каждый '|' будет принадлежать ровно одной паре

Input: s = "l|*e*et|c**o|*de|"
Output: 2
В данном примере поситаются только звездочки между c**o

Условия задачи
https://leetcode.com/problems/count-asterisks/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
3
Всех поздравляю с началом новой недели!
Сегодня у нас будет хрестоматийная задачака на DP (динамическое программирование)
118. Pascal's Triangle
Нам на вход поступает число, которое характеризует количество строк Треугольника Паскаля, которые нам надо вывести
В треугольнике Паскаля каждое число равно сумме двух чисел, расположенных непосредственно над ним (чтобы лучше понять посмотрите гифку на самой странице с задачей, она и натолкнет Вас на рекуретную формулу)

https://leetcode.com/problems/pascals-triangle/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
4
Доброго дня!
Задача на эту неделю 463. Island Perimeter (easy)
Вам дана матрица row x col, представляющая карту, где grid[i][j] = 1 обозначает сушу, а grid[i][j] = 0 - воду.
Ячейки матрицы соединены по горизонтали/вертикали (не по диагонали). Сетка полностью окружена водой, и в ней есть ровно один остров (то есть одна или несколько соединенных клеток суши).
На острове нет "озер", то есть вода внутри острова не связана с водой вокруг него. Одна клетка - квадрат со стороной длиной 1. Сетка прямоугольная, ширина и высота не превышают 100. Определите периметр острова


Условия задачи
https://leetcode.com/problems/island-perimeter/description/

Ваша задача решить эту задачу на литкоде и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
🔥4
Всех поздравляю с началом рабочей недели!
На этой неделе потренируемся в работе со словорями, и у нас будет задачка 2325. Decode the Message
Вам даны строки key и message, которые представляют собой ключ шифра и секретное сообщение соответственно. Расшифровка сообщения выполняется следующим образом:
1. Используйте первое появление каждой из 26 букв английского алфавита, для составления таблицы расшифровки.
2. Затем каждая буква в секретном сообщении раскодируется с помощью созданной таблицы.
3.Символ " " должен остаться на своем месте


условия задачи (там будет картоночка для большего понимания)
https://leetcode.com/problems/decode-the-message/description/


Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
6🙏1
Всем привет!)
Нас уже достаточно много, чтобы стартануть мок интервью.
Стандартные этапы интервью - это:
- Скрининг с hr (оч простые вопросы, которые будут повторяться в следующем собеседовании, но углубленно)
- Алгоритмы (решение 1-2 задачек с литкода)
- Платформа (вопросы по python, базам данных, и всего понемногу)
- Архитектура (спроектируйте нам Твиттер)
- Встреча с командой (софтскиллы на самом деле на всех этапах чекаются, но тут им уделяется более пристальное внимание)

Начнем с самого простого - это алгособесы.
Суть будет в том, чтобы 2 рандомных человека в чате сошлись, один готовит задачу, второй перечитывает "Грокаем алгоритмы"). Кто первый, а кто второй - решаете сами или можно провести 2 интервью.
Далее вы договариваетесь о дате и времени, проводите интервью, интервьюируемый может скинуть аккаунт в leetcode, чтобы интервьюер мог подготовить задачу, которую вы не решали.
Задача интервьюера - корректно объяснить условие, ответить на вопросы по условию и по возможным кейсам, далее не мешать. Если собеседуемый зашел в тупик, то можно направить.
Тайминг - 1 час на 2 задачи или полчаса на 1, но вы естественно можете подвинуть время при желании. Также хорошо будет познакомиться с единомышленниками и пообщаться.

Есть идея, как можно быстро (на этих выходных) запустить мок интервью на канале и протестить, на сколько это будет интересно.
Подключить https://random-coffee.ru/zapustit-svoy-servis на самом деле он служит для неформальных встреч, но мы можем его использовать как неформальные встречи + интервью)

Периодически буду проводить опрос, чтобы узнать ОС.
Также всегда можно залететь в чат и написать свои идеи https://t.me/+ChK7imUAJDlhN2Y6

Тут в комментариях можно написать что вы думаете по поводу этой идеи)
7👍2🔥1
Всем привет! На этой неделе задачи не было, поэтому сразу дам задачку на следующую неделю. Решил пройтись по roadmapy от neetcode.io, парень просто конечно бог во вскрытии алгоритмов, часть задачь на списки и словари, мы уже решили, выбрал ту, которой еще не было.
49. Group Anagrams
В этой задаче подается список строк и нам необходимо вкернуть двумерный список где анаграмы сгруппированны вместе.

Анаграмма - это слово или фраза, образованная путем перестановки букв другого слова или фразы, как правило, с использованием всех исходных букв в точности один раз.

Условия задачи и ссылочка на нее на leetcode
https://leetcode.com/problems/group-anagrams/description/

Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Python Simple
Всем привет!) Нас уже достаточно много, чтобы стартануть мок интервью. Стандартные этапы интервью - это: - Скрининг с hr (оч простые вопросы, которые будут повторяться в следующем собеседовании, но углубленно) - Алгоритмы (решение 1-2 задачек с литкода) -…
Ура! РандомБот для наших мок интервью запущен https://t.me/RandomCoffee_PythonSimple_bot
Регистрируйтесь, но есть минус, он стартанет только тогда, когда в нем наберется 50 участников, надеюсь, что мы вскоре их наберем) Если не наберется в ближайшие 2 недели, то придумаем что-то ещё)
Я зарегистрировался уже)
Кроме мок интервью это уникальная возможность познакомиться с людьми близкими к вам по интересам)
4🔥2🤔1
Всем привет, вот задача на грядущую неделю!
Продолжаем идти по roadmap от neetcode
347. Top K Frequent Elements
Нам дан список с неотрицательными числами nums и число k, наша задача вернуть k наиболее встречаемых элемента в виде списка, порядок этих элементов в списке, может быть произвольным.

Литкод просит придумать алгоритм за O(n), но как я думаю O(n log n) тоже прокатит, для решения за O(n) надо знать такую штуку как Bucket Sort и я не думаю, что на собесах пригодиться нырнуть так глубоко.

https://leetcode.com/problems/top-k-frequent-elements/description/
Ваша задача решить эту задачу на литкоде 👩‍💻и успешно засабмитить

В комментариях можно обсуждать и задавать вопросы)


Список всех задач
#ps_leetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1