Forwarded from Кодим на Коленке | Уроки по программированию
MongoDB Python [Курс PyMongo] // 11 видео
Содержание:
▪️MongoDB Python | #0 Информация о курсе | PyMongo
▪️MongoDB Python | #1 Теория и основные технологии СУБД | PyMongo
▪️MongoDB Python | #2 Установка админки с интерфейсом на сайте | PyMongo
▪️MongoDB Python | #3 Установка MongoDB на Linux сервер | PyMongo
▪️MongoDB Python | #4 Запись значений в коллекции | PyMongo
➖ Смотреть бесплатно
#Python
Содержание:
▪️MongoDB Python | #0 Информация о курсе | PyMongo
▪️MongoDB Python | #1 Теория и основные технологии СУБД | PyMongo
▪️MongoDB Python | #2 Установка админки с интерфейсом на сайте | PyMongo
▪️MongoDB Python | #3 Установка MongoDB на Linux сервер | PyMongo
▪️MongoDB Python | #4 Запись значений в коллекции | PyMongo
➖ Смотреть бесплатно
#Python
#nlp #interesting
Интересная штука оценить ваше понимание контекстов и близости смыслов
https://contexto.me/
Интересная штука оценить ваше понимание контекстов и близости смыслов
https://contexto.me/
Forwarded from настенька и графики
Еще прикольно про трейдоффы дизайна – как прийти к компромиссу, когда нужно учитывать и пользователей, и их задачи, и контекст использования.
Условно есть 4 параметра устройства дэшборда: размер экрана, количество страниц, уровень абстракции данных и объем интерактивности. Каждый из этих параметров можно повышать или понижать. Например, показывать на большом экране или маленьком, брать больше или меньше страниц в дэш, показывать только агрегаты или детализироваться до меньших измерений, добавлять или убавлять возможности фильтрации, использования параметров и тд.
Чтобы достигнуть баланса, можно пользоваться их схемой, уменьшая одни параметры и увеличивая другие. Например, если вы хотите уменьшить размеры экрана, то увеличьте кличество страниц, объем интерактивности и уровень абстрации.
Прикольный подход, я такие штуки раньше не встречала. Схемку сложновато читать, но интерестно.
ps в доп материалах лежит презентация и есть коллекция дэшиков, основные благодарности идут Benjamin Bach
Условно есть 4 параметра устройства дэшборда: размер экрана, количество страниц, уровень абстракции данных и объем интерактивности. Каждый из этих параметров можно повышать или понижать. Например, показывать на большом экране или маленьком, брать больше или меньше страниц в дэш, показывать только агрегаты или детализироваться до меньших измерений, добавлять или убавлять возможности фильтрации, использования параметров и тд.
Чтобы достигнуть баланса, можно пользоваться их схемой, уменьшая одни параметры и увеличивая другие. Например, если вы хотите уменьшить размеры экрана, то увеличьте кличество страниц, объем интерактивности и уровень абстрации.
Прикольный подход, я такие штуки раньше не встречала. Схемку сложновато читать, но интерестно.
ps в доп материалах лежит презентация и есть коллекция дэшиков, основные благодарности идут Benjamin Bach
Forwarded from Борис опять
Проводим мок собеседования с ребятами, которых я консультирую по поиску работы. Поделюсь ошибками, которые встречались у всех, и советами, как их избегать.
Ответ на "расскажите о себе" должен отскакивать от зубов. Этот вопрос будут задавать каждый раз. Здесь происходит просто море ошибок. Люди начинают говорить что-то вроде "начал работать всего год назад", указывать на свои недостатки и другими способами себя закапывать. Это задает тон всему собеседованию. Есть только один способ с этим работать: сесть перед вебкой, несколько раз рассказать себе ответ на этот вопрос и посмотреть запись. Ответ должен быть короткий, по делу и в меру продающий: что ты умеешь, что ты можешь предложить и чего ты хочешь.
Вторая типичная ошибка по поведенческой части: после рассказа про опыт непонятно, в какой роли человек был на последнем проекте и какая у него была степень ответственности. Брал идеально расписанные тикеты и делал в одиночку? Тащил всю команду? Принимал архитектурные решения? Писал лапшу в ноутбуках и скидывал инженерам? Должно быть кристально ясно.
По технической части. Самая глупая ошибка, которую совершили все: не знать ответы на вопросы по Python, которые точно спрашивают. Что такое декоратор, что может быть ключом словаря, что такое GIL, как работает garbage collection. Я специально включал в каждый мок собес вопросы, которые только что попадались другим ребятам на собеседованиях, и ребята часто не знали ответов. Как с этим работать: открываем гугл, находим списки "топ 10 вопросов по Python" и изучаем. Меня так однажды забраковали в Яндекс, потому что я не знал, что такое контекстный менеджер. Очень глупая ситуация, по возможности избегайте.
Применимо не только к Python. Несколько примеров типичных вопросов по ML: что такое регуляризация, как работает логрегрессия, задачки на формулу Байеса и матрицы ошибок, почему градиентный бустинг называют градиентным, что будет если у случайного леса удалить первое дерево (и аналогично для градиентного бустинга), производная сложной функции (chain rule).
Другая ошибка: пытаться выкрутиться, когда не знаешь. Не знаешь ответ, но вроде бы что-то слышал, пытаешься что-то придумать на ходу и в итоге показываешь еще уйму мест, в которых ты ничего не знаешь. Так я задал вопрос про GIL, а в итоге меня убеждали, что в Python нет мультипроцессинга, но зато есть мультитрединг. Это не только закапывает вас, но и тратит время интервьюера. Лучше просто сказать, что не знаешь.
Ответ на "расскажите о себе" должен отскакивать от зубов. Этот вопрос будут задавать каждый раз. Здесь происходит просто море ошибок. Люди начинают говорить что-то вроде "начал работать всего год назад", указывать на свои недостатки и другими способами себя закапывать. Это задает тон всему собеседованию. Есть только один способ с этим работать: сесть перед вебкой, несколько раз рассказать себе ответ на этот вопрос и посмотреть запись. Ответ должен быть короткий, по делу и в меру продающий: что ты умеешь, что ты можешь предложить и чего ты хочешь.
Вторая типичная ошибка по поведенческой части: после рассказа про опыт непонятно, в какой роли человек был на последнем проекте и какая у него была степень ответственности. Брал идеально расписанные тикеты и делал в одиночку? Тащил всю команду? Принимал архитектурные решения? Писал лапшу в ноутбуках и скидывал инженерам? Должно быть кристально ясно.
По технической части. Самая глупая ошибка, которую совершили все: не знать ответы на вопросы по Python, которые точно спрашивают. Что такое декоратор, что может быть ключом словаря, что такое GIL, как работает garbage collection. Я специально включал в каждый мок собес вопросы, которые только что попадались другим ребятам на собеседованиях, и ребята часто не знали ответов. Как с этим работать: открываем гугл, находим списки "топ 10 вопросов по Python" и изучаем. Меня так однажды забраковали в Яндекс, потому что я не знал, что такое контекстный менеджер. Очень глупая ситуация, по возможности избегайте.
Применимо не только к Python. Несколько примеров типичных вопросов по ML: что такое регуляризация, как работает логрегрессия, задачки на формулу Байеса и матрицы ошибок, почему градиентный бустинг называют градиентным, что будет если у случайного леса удалить первое дерево (и аналогично для градиентного бустинга), производная сложной функции (chain rule).
Другая ошибка: пытаться выкрутиться, когда не знаешь. Не знаешь ответ, но вроде бы что-то слышал, пытаешься что-то придумать на ходу и в итоге показываешь еще уйму мест, в которых ты ничего не знаешь. Так я задал вопрос про GIL, а в итоге меня убеждали, что в Python нет мультипроцессинга, но зато есть мультитрединг. Это не только закапывает вас, но и тратит время интервьюера. Лучше просто сказать, что не знаешь.
Forwarded from Pavel Pikulev
Вы должны четко понимать что рекрутер ≠ заказчик.
1) заказчик из подразделения которое нанимает очень часто имеет сложности с тем, чтобы сформулировать кто конкретно ему нужен. Большие сложности. Он также нифига не понимает, как это соотносится с тем, что есть на рынке.
2) рекрутер (если в компании нет крутого HR BP) нифига не разбирается в том, что делает заказчик и кто в реальности ему нужен.
И вот 1 и 2 собираются и начинают брейнштормить по требованиям к кандидатам 😂😂😂
Результат, как правило, какой-то шаблонный набор требований, который «вроде ок» для рекрутера и который «ну ты же рекрутер, тебе же виднее» для заказчика.
Очень многое lost in translation
Потом случаются две вещи:
1) так как описание написано фигово - на него откликается фиг знает кто
2) если отклики смотрит рекрутер, он применяет к ним какие-то свои критерии, соответствующие его представлениям о прекрасном, но в большинстве случаев не совпадающие с критериями бизнес-владельцев
Если отклики смотрит бизнес-владелец, то он мало смотрит на формальные критерии. Ему важно то, насколько человек соответствует его внутреннему ментальному шаблону идеального кандидата (который он на шаге 1 не сумел донести до рекрутера ))). Он думает, где может пойти на компромисс с реальностью, а где нет.
Выводы здесь простые и их 2:
1) описания вакансии в подавляющем большинстве случаев написаны фигово, и на требования там надо ориентироваться лишь примерно. Высока вероятность, что в реальности людям надо совсем не то, что там написано.
2) всегда старайтесь откликнуться напрямую бизнес-владельцу вакансии, а не рекрутеру. Шансы на успех по многим причинам (не только по этой) гораздо выше.
1) заказчик из подразделения которое нанимает очень часто имеет сложности с тем, чтобы сформулировать кто конкретно ему нужен. Большие сложности. Он также нифига не понимает, как это соотносится с тем, что есть на рынке.
2) рекрутер (если в компании нет крутого HR BP) нифига не разбирается в том, что делает заказчик и кто в реальности ему нужен.
И вот 1 и 2 собираются и начинают брейнштормить по требованиям к кандидатам 😂😂😂
Результат, как правило, какой-то шаблонный набор требований, который «вроде ок» для рекрутера и который «ну ты же рекрутер, тебе же виднее» для заказчика.
Очень многое lost in translation
Потом случаются две вещи:
1) так как описание написано фигово - на него откликается фиг знает кто
2) если отклики смотрит рекрутер, он применяет к ним какие-то свои критерии, соответствующие его представлениям о прекрасном, но в большинстве случаев не совпадающие с критериями бизнес-владельцев
Если отклики смотрит бизнес-владелец, то он мало смотрит на формальные критерии. Ему важно то, насколько человек соответствует его внутреннему ментальному шаблону идеального кандидата (который он на шаге 1 не сумел донести до рекрутера ))). Он думает, где может пойти на компромисс с реальностью, а где нет.
Выводы здесь простые и их 2:
1) описания вакансии в подавляющем большинстве случаев написаны фигово, и на требования там надо ориентироваться лишь примерно. Высока вероятность, что в реальности людям надо совсем не то, что там написано.
2) всегда старайтесь откликнуться напрямую бизнес-владельцу вакансии, а не рекрутеру. Шансы на успех по многим причинам (не только по этой) гораздо выше.
Forwarded from MISTER SOSISTER ~ CHINESE TIME OF MY LIFE
Z Fellows (не связано с агрессором)
Ранее в нас инвестировал Cory Levy, который так же организовывает Z fellows—недельную программу для молодых фаундеров, по которой им дается 10к на свой проект и возможность пообщаться со звездами стартап мира, типо СЕО Netflix, фаундера Figma, или Naval Ravikant. Мне, конечно же, это было интересно, поэтому 10к из его чека были “от” Z fellows, и вот на этой неделе программа наконец состоялась.
Программа не очень интенсивная, ее цель больше вдохновить, поэтому каждый день был всего один общий созвон и один звонок с приглашенным гостем.
Участники: всего было около 12 людей, из которых, я, наверно, был самым старшим. Почти все были еще студентами, не выглядели впечатляюще, но как только начинали говорить становилось понятно почему их выбрали. Почти все из MIT или Cтенфорда, или на крайний случай из Ivy League. У всех проекты на ранних стадиях, но впечатляющий опыт за спиной. Один чувак был с нашей когорты Алаенс, другой стажировался в SpaceX, одна тян кто-то там в ООН, третий еще школьник, но уже сделал конкурента фотоальбому iOS и его прямо со школы зовут в Эпл. В общем компания собралась интересная.
Самый классный совет который дали в начале программы это спрашивать гостей смелые нестандартные вопросы, которые не услышишь на обычном интервью, это сделало встречи намного интереснее и ценнее, но я мало что запомнил, поэтому вот куски по отдельным гостям:
Гости:
- Edward Lando, фаундер Misfits Market (подняли 530М, и приближаются к обороту в 1Bn). Он постоянно хватается за новые идеи, и имеет сотни зарегистрированных доменов, говорит что его стиль это заниматься несколькими вещами параллельно. Из того, что я запомнил, 1) для того чтобы все успевать и не выгорать, ключевое правильно использовать рычаги и нанимать хороший leadership team, не пытаясь делать все самому. 2) Не важно сколько проектов вы зафейлили, когда у вас получится один успешный, все предыдущие никто не вспомнит.
- Kevin Hartz, ангельский инвестор в PayPal, Pinterest, Airbnb, и прочие, продал компанию почти за лярд, после нее со-основал Eventbrite. Сказал, что, если в паре разница в интеллекте больше одного стандартного отклонения, то вероятность развода почти 100%, а к выбору партнера нужно подходить как к выбору кофаундера (в итоге его жена и оказалась его кофаундером в Eventbrite).
- Keith Rabois, часть PayPal mafia, GP в Founders Fund, и основатель OpenStore (юникорн). Он считает, что любая технология, хоть AI, хоть веб3, сама по себе ни ему ни Питеру Тилю не интересны, они не инвестируют в технологии, а в конкретные решения с понятной ценностью. В веб3 он сейчас это ценности не видит. Про главную черту Питера Тиля он сказал, что это возможность экстраполировать данные и видеть общую картину всего с одной точки. Еще то ли он, то ли Кевин, сказал что это уникальное умение видеть потенциал в людях (как он и собрал мафию). А, еще сказал, что все крутые фаундеры в которых они верят и инвестируют должны быть экстраординарными в какой-то одной, пусть не самой очевидной координате, мол, фаундер должен быть в чем то не таким как другие, чтобы мочь изменить то, как работает мир.
- Adam Guild, фаундер Owner.com, который бросил школу, чтобы строить компанию, а сейчас в 23 делает десятки миллионов выручки. Очень заряженный и трудолюбивый чел, про которого уже можно сказать, что он достигнет очень большого. Сказал, что осознанно жертвует всем ради стартапа, не верит в ворк-лайф баланс, никогда не был в отношениях, и воспринимает успех компании как единственный интерес. Нанимает тоже только тех, кто понимает, что стартап это не прогулка в парке. На счет выгорания, сказал, что умение управлять своей психикой это главное умение фаундера, и он вывел свои методики, которые помогают ему оставаться позитивным и замотивированым. На вопрос “почему не нужно делать стартап?” ответил, что в материальном плане доказано, что сколотить состояние и в короткой и в долгой перспективе вероятнее присоединившись к растущему стартапу на ранней стадии, и помимо этого, сам процесс намного больнее и сложнее, чем любые ожидания в начале.
…
Ранее в нас инвестировал Cory Levy, который так же организовывает Z fellows—недельную программу для молодых фаундеров, по которой им дается 10к на свой проект и возможность пообщаться со звездами стартап мира, типо СЕО Netflix, фаундера Figma, или Naval Ravikant. Мне, конечно же, это было интересно, поэтому 10к из его чека были “от” Z fellows, и вот на этой неделе программа наконец состоялась.
Программа не очень интенсивная, ее цель больше вдохновить, поэтому каждый день был всего один общий созвон и один звонок с приглашенным гостем.
Участники: всего было около 12 людей, из которых, я, наверно, был самым старшим. Почти все были еще студентами, не выглядели впечатляюще, но как только начинали говорить становилось понятно почему их выбрали. Почти все из MIT или Cтенфорда, или на крайний случай из Ivy League. У всех проекты на ранних стадиях, но впечатляющий опыт за спиной. Один чувак был с нашей когорты Алаенс, другой стажировался в SpaceX, одна тян кто-то там в ООН, третий еще школьник, но уже сделал конкурента фотоальбому iOS и его прямо со школы зовут в Эпл. В общем компания собралась интересная.
Самый классный совет который дали в начале программы это спрашивать гостей смелые нестандартные вопросы, которые не услышишь на обычном интервью, это сделало встречи намного интереснее и ценнее, но я мало что запомнил, поэтому вот куски по отдельным гостям:
Гости:
- Edward Lando, фаундер Misfits Market (подняли 530М, и приближаются к обороту в 1Bn). Он постоянно хватается за новые идеи, и имеет сотни зарегистрированных доменов, говорит что его стиль это заниматься несколькими вещами параллельно. Из того, что я запомнил, 1) для того чтобы все успевать и не выгорать, ключевое правильно использовать рычаги и нанимать хороший leadership team, не пытаясь делать все самому. 2) Не важно сколько проектов вы зафейлили, когда у вас получится один успешный, все предыдущие никто не вспомнит.
- Kevin Hartz, ангельский инвестор в PayPal, Pinterest, Airbnb, и прочие, продал компанию почти за лярд, после нее со-основал Eventbrite. Сказал, что, если в паре разница в интеллекте больше одного стандартного отклонения, то вероятность развода почти 100%, а к выбору партнера нужно подходить как к выбору кофаундера (в итоге его жена и оказалась его кофаундером в Eventbrite).
- Keith Rabois, часть PayPal mafia, GP в Founders Fund, и основатель OpenStore (юникорн). Он считает, что любая технология, хоть AI, хоть веб3, сама по себе ни ему ни Питеру Тилю не интересны, они не инвестируют в технологии, а в конкретные решения с понятной ценностью. В веб3 он сейчас это ценности не видит. Про главную черту Питера Тиля он сказал, что это возможность экстраполировать данные и видеть общую картину всего с одной точки. Еще то ли он, то ли Кевин, сказал что это уникальное умение видеть потенциал в людях (как он и собрал мафию). А, еще сказал, что все крутые фаундеры в которых они верят и инвестируют должны быть экстраординарными в какой-то одной, пусть не самой очевидной координате, мол, фаундер должен быть в чем то не таким как другие, чтобы мочь изменить то, как работает мир.
- Adam Guild, фаундер Owner.com, который бросил школу, чтобы строить компанию, а сейчас в 23 делает десятки миллионов выручки. Очень заряженный и трудолюбивый чел, про которого уже можно сказать, что он достигнет очень большого. Сказал, что осознанно жертвует всем ради стартапа, не верит в ворк-лайф баланс, никогда не был в отношениях, и воспринимает успех компании как единственный интерес. Нанимает тоже только тех, кто понимает, что стартап это не прогулка в парке. На счет выгорания, сказал, что умение управлять своей психикой это главное умение фаундера, и он вывел свои методики, которые помогают ему оставаться позитивным и замотивированым. На вопрос “почему не нужно делать стартап?” ответил, что в материальном плане доказано, что сколотить состояние и в короткой и в долгой перспективе вероятнее присоединившись к растущему стартапу на ранней стадии, и помимо этого, сам процесс намного больнее и сложнее, чем любые ожидания в начале.
…
Forwarded from Борис опять
Как проходить литкод. Пост на основе опыта мок собеседований с ребятами.
Структура правильного прохождения литкод собеседования примерно такая:
1. Внимательно читаем условие. Обсуждаем с интервьюером, убеждаемся, что правильно поняли задание.
2. Задаем интервьюеру вопросы. Проясняем все ограничения. Может ли на входе быть пустой массив и все такое прочее.
3. Пишем тест кейсы. Буквально
4. Не пишем код пока интервьюер не сказал: "хорошо, давай приступим к коду"! Худшее, что можно сделать, это броситься писать первое пришедшее в голову решение, а потом застрять в середине: "Ой, эм, блин, не сработало."
5. Устно предлагаем решение и обсуждаем его с интервьюером. Обсуждаем сложность по скорости и по памяти в терминах O(n) нотации. Получаем добро писать код. Просим подсказки, если необходимо.
6. Спокойно пишем код. Особенно внимательно обрабатываем базовые кейсы. Частая глупая ошибка это забыть базовый кейс в рекурсивном решении или нечто подобное.
7. Проверяем свой код после написания! Запускаем интерпретатор Python 3.10 у себя в голове и исполняем код для всех написанных ранее тест кейсов. У вас гарантированно найдутся ошибки. Часто забывают поставить какой-нибудь
Важное:
* Лучше брутфорс решение, чем никакого. Если придумали брутфорс решение и знаете, что оно не оптимально, то можно заработать немного очков указав место, где надо оптимизировать: "мы считаем вот эту штуку дважды, можно как-то лучше, но нет времени придумать как, кажется какое-нибудь дерево помогло бы".
* Вы должны узнавать все типичные классы задач (хеш таблицы, сортировка, поиск, деревья, графы, связанные списки, кучи, динамическое программирование, возможно что-то еще забыл) и уметь написать для них брутфорс решение. Минимальная подготовка: заходим на Leetcode, выбираем Easy задачи и решаем одну на каждую тему.
* Главное рассуждать. В небольших компаниях можно пройти собеседование даже решив задачу брутфорсом, если убедительно показать, что вы системно рассуждаете. В больших компаниях не решил == не прошел, а если решил брутфорсом == грейд джуна.
Структура правильного прохождения литкод собеседования примерно такая:
1. Внимательно читаем условие. Обсуждаем с интервьюером, убеждаемся, что правильно поняли задание.
2. Задаем интервьюеру вопросы. Проясняем все ограничения. Может ли на входе быть пустой массив и все такое прочее.
3. Пишем тест кейсы. Буквально
assert func(input) == output на все входы, которые можете придумать. Во-первых, это позволяет понять, какие ситуации надо обрабатывать. Во-вторых, в некоторых компаниях пишет кандидат тесты или нет это критерий оценки.4. Не пишем код пока интервьюер не сказал: "хорошо, давай приступим к коду"! Худшее, что можно сделать, это броситься писать первое пришедшее в голову решение, а потом застрять в середине: "Ой, эм, блин, не сработало."
5. Устно предлагаем решение и обсуждаем его с интервьюером. Обсуждаем сложность по скорости и по памяти в терминах O(n) нотации. Получаем добро писать код. Просим подсказки, если необходимо.
6. Спокойно пишем код. Особенно внимательно обрабатываем базовые кейсы. Частая глупая ошибка это забыть базовый кейс в рекурсивном решении или нечто подобное.
7. Проверяем свой код после написания! Запускаем интерпретатор Python 3.10 у себя в голове и исполняем код для всех написанных ранее тест кейсов. У вас гарантированно найдутся ошибки. Часто забывают поставить какой-нибудь
return, но бывает получается отловить и ошибку в логике. Важное:
* Лучше брутфорс решение, чем никакого. Если придумали брутфорс решение и знаете, что оно не оптимально, то можно заработать немного очков указав место, где надо оптимизировать: "мы считаем вот эту штуку дважды, можно как-то лучше, но нет времени придумать как, кажется какое-нибудь дерево помогло бы".
* Вы должны узнавать все типичные классы задач (хеш таблицы, сортировка, поиск, деревья, графы, связанные списки, кучи, динамическое программирование, возможно что-то еще забыл) и уметь написать для них брутфорс решение. Минимальная подготовка: заходим на Leetcode, выбираем Easy задачи и решаем одну на каждую тему.
* Главное рассуждать. В небольших компаниях можно пройти собеседование даже решив задачу брутфорсом, если убедительно показать, что вы системно рассуждаете. В больших компаниях не решил == не прошел, а если решил брутфорсом == грейд джуна.