Как стать автором
Обновить
0
0
Igor Khvostenkov @ikhvostenkov

Engineer

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

Как я получил 4 оффера в FAANG в Европе или из Воронежа в Лондон

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


Очередная история успеха после череды неудач. Расскажу, чего мне стоило получить офферы от Facebook*, Google, Amazon, JP Morgan в Европе, как я готовился, сколько собесов зафейлил перед тем, как удача повернулась ко мне правильной стороной.


TL;DR. Послал сотни резюме. Прорешал около 100 задач на Leetcode. Прочел книжку по архитектуре (не той, которая про дома, а той, которая system design). Прошел 9 интервью. Получил 4 оффера. Принял 1. Жил, пока что, не очень долго, но, вполне себе, счастливо в Лондоне.
Читать дальше →
Всего голосов 53: ↑43 и ↓10+49
Комментарии65

Теория инвестиций для начинающих, часть 1

Время на прочтение16 мин
Количество просмотров72K
Эдвард Мэтью Ворд. Пузырь Компании Южных морей. 1847 г. Галерея Тейт, Лондон.

В какие ценные бумаги вкладывать деньги? Как накопить на пенсию? Кто такие ETF’ы и почему все с ними носятся? Зачем покупать акции, если рынок может упасть? Такие вопросы я слышу от студентов и коллег, когда читаю лекции о деривативах. В принципе, неудивительно. Деривативы — это что-то далёкое из мира больших банков, а личные инвестиции намного ближе к телу.

Можно было бы ответить коротко: «Покупайте индексные фонды, это хорошо!» К сожалению, такой ответ не объясняет, почему это хорошо. Если бы я услышал его 15 лет назад, когда ещё не интересовался финансами, то он не нашёл бы отклика в моём сердце. Пришлось прослушать не один курс лекций, чтобы осознать, какая экономическая теория стоит за этим советом, и начать применять его на практике.

Собственно, моя статья — не столько инвестиционный совет (хотя я и расскажу о личном опыте и даже посчитаю свою «альфу»), сколько обзорный курс по теории инвестиций. Полезно знать, какие модели придумали предыдущие поколения, и в каких терминах можно думать об инвестициях. Если из теории следует, что имеет смысл покупать индексные ETF’ы, чтобы копить на пенсию — так и быть, расскажу и об этом.

Не секрет, что в финансах много математики. Я постарался соблюсти баланс. Я считаю, что интуитивное понимание главных экономических идей важнее, чем конкретная формула. Даже если вы пропустите вообще все формулы, то вы всё равно поймёте суть и получите полезные знания. С другой стороны, если вы хотели бы размять мозги не ахти какой сложной математикой, то у вас будет такая возможность.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии18

Мои machine learning тулы для инвестирования

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

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

Читать далее
Всего голосов 42: ↑41 и ↓1+53
Комментарии39

Пора обновить ваш монитор

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

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →
Всего голосов 142: ↑109 и ↓33+115
Комментарии991

Must-have алгоритмы машинного обучения

Время на прочтение5 мин
Количество просмотров31K
Хабр, привет.

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи. Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

Метод главных компонент (PCA)/SVD


Это один из основных алгоритмов машинного обучения. Позволяет уменьшить размерность данных, потеряв наименьшее количество информации. Применяется во многих областях, таких как распознавание объектов, компьютерное зрение, сжатие данных и т. п. Вычисление главных компонент сводится к вычислению собственных векторов и собственных значений ковариационной матрицы исходных данных или к сингулярному разложению матрицы данных.

image

SVD — это способ вычисления упорядоченных компонентов.

Полезные ссылки:


Вводный гайд:

Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии6

Разбираемся с латинскими сокращениями и фразами в английском языке

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


Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпаргалку именно по этим сокращениям, чтобы не путаться. И тогда же появилась идея этой статьи.


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

Читать дальше →
Всего голосов 143: ↑142 и ↓1+141
Комментарии72

Инвестиции на бирже как способ сохранения финансов: 3 работающих способа

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


Согласно статистике, на июль 2019 года наивысшая ставка по банковским депозитам в России не превышает 9,5% годовых, что не очень много. Других «пассивных» способов сохранения и приумножения денег тоже не так много – например, стоимость квадратного метра недвижимости в столице фактически не растет уже много лет.

Поэтому тем, кто хочет сохранить финансы и, в идеале, хоть немного увеличить капитал, сегодня приходится обращать свое внимание на биржу. При определенном раскладе с помощью существующих сегодня инвестиционных инструментов можно решить описанную выше задачу. Сегодня мы поговорим именно о них.
Читать дальше →
Всего голосов 32: ↑21 и ↓11+10
Комментарии48

Настройка параметров PostgreSQL для оптимизации производительности

Время на прочтение6 мин
Количество просмотров102K
По умолчанию конфигурация PostgreSQL не настроена для рабочей нагрузки. Значения по умолчанию установлены для обеспечения работоспособности PostgreSQL везде с наименьшим количеством ресурсов. Имеются настройки по умолчанию для всех параметров базы данных. Главной обязанностью администратора базы данных или разработчика является настройка PostgreSQL в соответствии с нагрузкой их системы. В этом блоге мы изложим основные рекомендации по настройке параметров базы данных PostgreSQL для повышения производительности базы данных в соответствии с рабочей нагрузкой.

Имейте в виду, что, хотя оптимизация конфигурации сервера PostgreSQL повышает производительность, разработчик базы данных также должен быть внимательным при написании запросов. Если запросы выполняют полное сканирование таблицы, где можно использовать индекс, или выполнют тяжелые объединения или дорогостоящие операции агрегирования, тогда система все равно может работать плохо, даже если параметры базы данных настроены корректно. При написании запросов к базе данных важно обращать внимание на производительность.

Тем не менее, параметры базы данных тоже очень важны, поэтому давайте посмотрим на восемь, которые имеют наибольший потенциал для повышения производительности
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии21

Разбор квалификации чемпионата по программированию среди бэкенд-разработчиков

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

Первого июня состоялись финалы нашего чемпионата по программированию. Имена победителей уже известны. В скором времени они получат свои награды, а мы тем временем начинаем публиковать разборы задач чемпионата. Сначала разберём задачи квалификационного этапа среди бэкенд-разработчиков.


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



В этот раз мы придумали шесть задач, для каждой из которых можно было придумать несколько альтернативных формулировок: одна придуманная задача порождала сразу четыре! Тем самым варианты получились сопоставимыми настолько, насколько это вообще возможно.


Поэтому я не буду публиковать разборы всех 24 задач. Вместо этого я разберу шесть задач одного из квалификационных вариантов: другие решаются похожим образом.

Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии7

Фриланс и финансы: 5 способов расчета между заказчиком и фрилансером

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


Оплата. Вопрос взаиморасчетов для фриланса стоит остро, каждая из сторон хочет себя обезопасить, ведь риски велики. Заказчик рискует потерять деньги, фрилансер рискует потерять время на работу и по сути тоже потерять деньги.

Как там вообще в этих ваших фрилансах обстоят дела с оплатой работы, как это работает?
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии10

11 вопросов, которые нужно обсудить до начала работы

Время на прочтение5 мин
Количество просмотров19K
Мало кто думает о разрешении или предотвращении конфликтный ситуаций в процессе сотрудничества до их возникновения. Очень часто к проблемам и порче отношений приводят не какие-то непримиримые разногласия и даже не способность каждой из сторон выполнять свои обязательства, а простые недомолвки, разный взгляд на “значения по умолчанию”. Этот небольшой чеклист позволит вам избежать множества проблем при работе.

1. Какую работу требуется выполнить


Не просто в общих чертах, а подробно. Важно, чтобы обе стороны одинаково понимали что нужно сделать и что будет являться результатом сотрудничества. Чем подробнее, тем лучше. Важно зафиксировать объем.

Если договоренностей нет, то разбежности в толковании объема ведут к недовольству и конфликту. Один считает, что работа выполнена не полностью, другой же наоборот, считает, что сделал уже больше оговоренного и его обманывают.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии18

Чётные числа Фибоначчи

Время на прочтение5 мин
Количество просмотров25K
Навеяно комментарием под постом Фибоначчи на собеседовании. Пользователь pavellyzhin упомянул следующую задачу на собеседовании (комментарий):
Больше года назад откликнулся на вакансию «php-программист», прислали ТЗ и там было задание с Фибоначчи: выбрать все четные числа Фибоначчи в диапазоне от 1 до 10000. Решил с помощью цикла(for). Еще там нужно было SQL-запрос составить на выборку ближайших дней рождений пользователей, что-то сверстать, точно не помню и какую-то функцию написать. Все сделал, отправил. Прислали ответ: «по итогам тестового задания Вы не приняты». Что конкретно им не понравилось так и не написали. Вот сейчас сижу и думаю, наверное все-таки из-за Фибоначчи пролетел… :)
В данном посте я собираюсь показать как можно было решить эту задачу эффектно, а может даже и эффективно, но это не точно. Заодно продемонстрирую парочку из тысяч доказанных про числа Фибоначчи фактов.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии39

Почему ваш любимый мессенджер должен умереть

Время на прочтение18 мин
Количество просмотров328K
image
Кладбище мессенджеров, на котором обязательно должны оказаться Skype, Viber, WhatsApp, Hangouts, ooVoo, Apple iMessage, Telegram, Line, Facebook messenger и еще сотни мессенджеров, которым только предстоит выйти в ближайшее время.

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

Последние годы конкуренция на рынке мессенджеров как никогда высока. Доступный интернет у каждого в смартфоне позволил мессенджерам стать самыми часто используемыми приложениями. Только ленивый сейчас не пишет свой мессенджер. Каждый день выходит новое приложение, обещающее совершить революцию в способах коммуникации. Доходит даже до абсурда вроде приложения Yo, позволяющего слать друг другу только одно слово.
У каждого мессенджера есть своя аудитория, агитирующая пользоваться именно их любимым сервисом. В итоге приходится заводить кучу учетных записей в различных сервисах и устанавливать кучу приложений, чтобы иметь возможность оперативно связаться со всеми необходимыми людьми.

Сложившаяся на данный момент ситуация настолько ужасна, что в перспективе угрожает фундаментальным принципам общения. В данной статье я на конкретных примерах попытаюсь донести одну мысль:

image

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


Читать дальше →
Всего голосов 260: ↑230 и ↓30+200
Комментарии357

Erlang для самых маленьких. Глава 1: Типы данных, переменные, списки и кортежи

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

Добрый день, дорогие хабражители.

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


Если интересно - давайте начнем...
Всего голосов 95: ↑88 и ↓7+81
Комментарии65

8 советов для более эффективной работы с Git

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

Привет, мне показалось хорошей идеей начать переводить не только релизные посты из блога ГитЛаба. Для разминки я взял этот пост почти наугад, так что не судите строго. Буду рад, если поможете определиться с выбором статьи для перевода, выбрав один из вариантов в опроснике




Git – это система контроля версий с огромным количеством возможностей. Пытаться изучить их все довольно утомительно, поэтому большинство пользователей ограничивается использованием лишь базового набора команд. В этой статье представлены несколько советов по работе с Git, о которых вы, возможно, не знали. Эти советы помогут вам оптимизировать ваш процесс разработки.


Читать дальше →
Всего голосов 50: ↑43 и ↓7+36
Комментарии25

Как прокрастинировать эффективно: 6 полезных онлайн-сервисов

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

Прокрастинация — явление, жертвой которого становятся все, даже животные не могут ему противостоять. Несколько лет назад проблему ярко описал Тим Урбан на страницах своего блога Wait But Why. И раз уж прокрастинация неизбежна, стоит постараться извлечь пользу и из неё — я составил подборку из шести онлайн-сервисов (и их альтернатив), которые помогут научиться чему-то новому, даже когда работать нет никаких сил.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии31

Обзор нового Intercepter-NG 0.9.10

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

С большим удовольствием хочу представить новую версию Intercepter-NG 0.9.10, которая, на мой взгляд, в значительной степени расширяет область применения инструмента. Данный обзор будет представлен не в виде сухого перечисления нововведений, а скорее как описание новых векторов атак вместе с рядом технических подробностей и элементами hack-story. Приступим…

image
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии19

Тестирование мобильных приложений: интервью с Dan Cuellar (Appium)

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


В преддверии конференции Heisenbug на наши вопросы касаемо мобильного тестирования согласился ответить Дэн Куэллар – создатель опенсорсного фреймворка Appium. До этого Дэн возглавлял отдел тестирования Shazam (Лондон) и Zoosk (Сан-Франциско), ранее – занимался разработкой Microsoft Outlook для Mac и других продуктов из офисной линейки.

Дэн – сторонник опенсорсных решений и тестирования программного обеспечения. Бакалавр компьютерных наук (Школа Компьютерных Наук Университета Карнеги-Меллона, Питтсбург).

– Если мы говорим о мобильном тестировании, то могли бы вы поподробнее рассказать, почему решили выбрать именно эту сферу? Вы начали работать в мобайле ещё в Майкрософт?

– В Майкрософт я работал над пакетом Офиса для iPad, правда, уже в конце своей карьеры там. В то время мы использовали другой фреймворк для автоматизации тестирования. Я создал Appium, когда начал работать в Zoosk – это дейтинговый сайт в США. У нас было очень популярное мобильное приложение, но не было ничего для автоматизации тестирования, поэтому я изучил то, что было на рынке на тот момент, и пришёл к выводу, что ни один фреймворк не может удовлетворить мои потребности. Что делать в таких ситуациях? Сделать свой собственный.


О программировании на мобильных устройствах


– Если рассмотреть развитие программирования на мобильных устройствах, то какие стадии вы могли бы выделить? Ну, что было в самом начале, что стало следующим шагом в развитии, считаете ли вы, что он уже состоялся, или есть еще куда расти?
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии0

Консоль разработчика Google Chrome: десять неочевидных полезностей

Время на прочтение6 мин
Количество просмотров231K
Как с помощью консоли разработчика превратить Google Chrome в подобие текстового редактора? Какой смысл в ней приобретает знакомый многим по jQuery значок $? Как вывести в консоль набор значений, оформленный в виде вполне приличной таблицы? Если сходу ответы на эти вопросы в голову не приходят, значит вкладка Console из инструментов разработчика Chrome ещё не раскрылась перед вами во всей красе.

image

На первый взгляд, перед нами – вполне обычная JavaScript-консоль, которая годится только на то, чтобы выводить в неё логи ответов серверов или значения переменных. Я, кстати, так ей и пользовался, когда только начал программировать. Однако, со временем набрался опыта, подучился, и неожиданно для себя обнаружил, что консоль Chrome умеет много такого, о чём я и не догадывался. Хочу об этом сегодня рассказать. Да, если вы читаете сейчас не на мобильнике, можете тут же всё это и попробовать.
Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии62

Я провел 3 месяца, пытаясь устроиться на работу после лагеря программирования, и вот чему я научился

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

Меньше всего говорят о том, что будет после того как ты окончишь лагерь по программированию — когда ты пытаешься занять позицию разработчика с шестизначным окладом.

image
< 3% заявлений становились предложениями

Я окончил Hack Reactor в июле 2016, и мне потребовалось почти 3 месяца, прежде чем я принял предложение от Radius Intelligence. Я подавал заявления в 291 компанию, прошел 32 собеседования по телефону и 16 обычных, а также выполнил 13 задач по программированию, 11 из них — в офисах. И получил в итоге 8 предложений. Мне предлагали 60-125 тысяч долларов в компаниях США. В общем 2.8% заявок обернулись для меня выгодными предложениями.

Вот 5 вещей, которые я хотел бы знать, прежде чем устраивался на работу.
Всего голосов 91: ↑58 и ↓33+25
Комментарии202

Информация

В рейтинге
Не участвует
Откуда
Stuttgart, Baden-Württemberg, Германия
Дата рождения
Зарегистрирован
Активность