Как стать автором
Обновить
7
0

Пользователь

Отправить сообщение

Заметки про интервью на разработчика

Время на прочтение5 мин
Количество просмотров10K

Пролог


Как найти порядочного работодателя\клиента\заказчика? Ответ совсем не лежит на поверхности. Однако десятки пройденых и проваленых собеседований заставили глубоко задуматься, как можно предотвратить встречи с токсичными фейками, бюрократами, и теми, кто собирает мертвые души ради отчётности в отделе кадров или перед начальством. Это чисто субъективные мысли, кто-то может быть со мной не согласен, однако все описанное ниже было опробовано мною ни раз.

image

Процесс интервью


Никогда не берите тестовое задание, решение которого требует от вас времени больше, чем один-два вечера.

Мне еще не известен ни один случай, чтобы человек, который неделю делал тестовое задание и получил хороший оффер. Работодатель часто готов потратить годы, лишь чтобы найти изумруд (скилового, опытного, и за копейки работающего разработчика), но лишь бы найти. Они собеседуют буквально сотню людей, прежде чем наймут кого-то. И такой критерий как выполненное тестовое задание, длинною в неделю, ставит вас в длинную очередь ожидания, в который вы уже заведомо проиграли. Допустим Вы выполнили блестяще тестовое задание, но оффер так и не получили. Вы потратили НЕДЕЛЮ личного времени. А Сколько потратил работодатель? Максимум 10 джоулей, нажимая пальчиком «переслать», отправляя Вам задание. Он не потерял ничего, и ему это ничего не стоит. А вот вложить силы на решение задачи которой ушла неделя, и получить отказ — это огромная просадка по эмоциональным ресурсам, времени, деньгам и самое главное — по мотивации. Простое правило: если у вас есть 20 часов свободного времени, вы можете пройти целых 10 собеседований по 2 часа, или решить 1 тестовую задачу и понятия не иметь получите оффер или нет, а в случае отказа эмоциональный откат неизбежен, потому что ресурсов было вложено много, а результата никакого. Не делайте так, следуйте зову здравого смысла!
Читать дальше →
Всего голосов 25: ↑13 и ↓12+4
Комментарии43

Система рекомендаций фильмов с GUI на Python

Время на прочтение13 мин
Количество просмотров12K

«Без опыта я никому не нужен! Где взять опыт?» — часто думают люди, осваивающие новую для себя сферу или изучающие новый язык программирования. Решение есть — делать пет-проекты. Представленный под катом проект системы рекомендации фильмов не претендует на сложность и точность аналогичных систем от энтерпрайз-контор, но может стать практическим стартом для новичка, которому интересны системы рекомендации в целом. Этот пост также подойдет для демонстрации как использовать Python-библиотеку EasyGUI на практике.

Важное предупреждение: если вы крепкий миддл либо сеньор, то проект может показаться вам простым. Однако не стоит спешить опускать палец вниз и забывать про тех, кто не так опытен, и кому пост может быть полезен, ведь все мы когда-то были джунами.
Приятного чтения!
Всего голосов 12: ↑9 и ↓3+9
Комментарии10

SciPy, оптимизация с условиями

Время на прочтение7 мин
Количество просмотров51K


SciPy (произносится как сай пай) — это библиотека для научных вычислений, основанная на numpy и скомпилированных библиотеках, написанных на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab.


В этой статье рассмотрим основные приемы математического программирования — решения задач условной оптимизации для скалярной функции нескольких переменных с помощью пакета scipy.optimize. Алгоритмы безусловной оптимизации уже рассмотрены в прошлой статье. Более подробную и актуальную справку по функциям scipy всегда можно получить с помощью команды help(), Shift+Tab или в официальной документации.

Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии5

Эффективная генерация числа в заданном интервале

Время на прочтение16 мин
Количество просмотров35K
image

В подавляющем большинстве моих постов о генерации случайных чисел рассматривались в основном свойства различных схем генерации. Это может оказаться неожиданным, но производительность алгоритма рандомизации может зависеть не от выбранной схемы генерации, а от других факторов. В этом посте (на который меня вдохновила превосходная статья Дэниела Лемира) мы исследуем основные причины снижения производительности генерации случайных чисел, которые часто перевешивают производительность движка ГПСЧ.

Представьте такую ситуацию:

В качестве домашнего задания Хуан и Саша реализуют одинаковый рандомизированный алгоритм на C++, который будет выполняться на одном университетском компьютере и с одним набором данных. Их код почти идентичен и отличается только в генерации случайных чисел. Хуан торопится на свои занятия по музыке, поэтому просто выбрал вихрь Мерсенна. Саша, с другой стороны, потратил несколько лишних часов на исследования. Саша провёл бенчмарки нескольких самых быстрых ГПСЧ, о которых недавно узнал из соцсетей, и выбрал наиболее быстрый. При встрече Саше не терпелось похвастаться, и он спросил Хуана: «Какой ГПСЧ ты использовал?»

«Лично я просто взял вихрь Мерсенна — он встроен в язык и вроде неплохо работает».

«Ха!», — ответил Саша. «Я использовал jsf32. Он намного быстрее, чем старый и медленный вихрь Мерсенна! Моя программа выполняется за 3 минуты 15 секунд!».

«Хм, неплохо, а моя справляется меньше, чем за минуту», — говорит Хуан и пожимает плечами. «Ну ладно, мне пора на концерт. Пойдёшь со мной?»

«Нет», — отвечает Саша. «Мне… эээ… нужно снова взглянуть на свой код».

Эта неловкая вымышленная ситуация не особо и вымышлена; она основана на реальных результатах. Если ваш рандомизированный алгоритм выполняется не так быстро, как хотелось бы, и узким местом похоже является генерация случайных чисел, то, как это ни странно, проблема может быть и не в генераторе случайных чисел!
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии10

Указатели в Python: в чём суть?

Время на прочтение15 мин
Количество просмотров154K

Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам управления памятью. А есть ли указатели в Python, можно их как-то эмулировать?

Указатели широко применяются в С и С++. По сути, это переменные, которые содержат адреса памяти, по которым находятся другие переменные. Чтобы освежить знания об указателях, почитайте этот обзор.

Благодаря этой статье вы лучше поймёте модель объектов в Python и узнаете, почему в этом языке на самом деле не существуют указатели. На случай, если вам понадобится сымитировать поведение указателей, вы научитесь эмулировать их без сопутствующего кошмара управления памятью.
Читать дальше →
Всего голосов 75: ↑70 и ↓5+65
Комментарии28

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Время на прочтение20 мин
Количество просмотров124K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

Ну и пишу, пишу, потому что стали забывать… Пугающе быстро стали забывать. Сначала в аптеках исчез йодид калия (я уж не говорю про описываемые в статье антидоты), потом так же неотвратимо исчезли льготы у ликвидаторов, знания у людей и т.д. и т.п.

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

Читать дальше →
Всего голосов 227: ↑210 и ↓17+193
Комментарии272

Жизненный цикл кода на Python – модель выполнения CPython

Время на прочтение11 мин
Количество просмотров16K
Всем привет! Наступила весна, а это значит, что до запуска курса «Разработчик Python» остается меньше месяца. Именно этому курсу и будет посвящена наша сегодняшняя публикация.


Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии1

Немного про кино или как делать интерактивные визуализации в python

Время на прочтение5 мин
Количество просмотров69K


Введение


В этой заметке я хочу рассказать о том, как можно достаточно легко строить интерактивные графики в Jupyter Notebook'e с помощью библиотеки plotly. Более того, для их построения не нужно поднимать свой сервер и писать код на javascript. Еще один большой плюс предлагаемого подхода — визуализации будут работать и в NBViewer'e, т.е. можно будет легко поделиться своими результатами с коллегами. Вот, например, мой код для этой заметки.


Для примеров я взяла скаченные в апреле данные о фильмах (год выпуска, оценки на КиноПоиске и IMDb, жанры и т.д.). Я выгрузила данные по всем фильмам, у которых было хотя бы 100 оценок — всего 36417 фильмов. Про то, как скачать и распарсить данные КиноПоиска, я рассказывала в предыдущем посте.


Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии8

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность