Как стать автором
Обновить
13
0
Stas911 @Stas911

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

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

32 полезных Rust крейта, о которых вы могли не знать

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров7.5K

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии16

Чат в терминале на Rust

Уровень сложностиПростой
Время на прочтение36 мин
Количество просмотров5.7K

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

Bittorrent с нуля на Go

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


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

Читать дальше →
Всего голосов 59: ↑56 и ↓3+53
Комментарии9

Hashmap(map) по версии Golang вместе с реализацией на дженериках

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров23K

Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из под капота с помощью дженериков.

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

Как я проходил собеседования на Machine Learning Engineer

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

Это статья с 21-ой ссылкой о подготовке к собеседованиям. Я собеседовался на позиции Machine Learning Engineer.

Разобрал основные этапы (алгоритмы, machine learning system design, поведенческий этап) и как к ним готовиться.

Читать далее
Всего голосов 20: ↑18 и ↓2+16
Комментарии6

История о том как я переехал в США и искал тут работу. Офферы от MAANG и не только

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

В феврале 2022 года я наконец переехал в США по рабочей визе О1. Этому предшествовало 2.5 года работы над укреплением кейса, ожидание аппрува.

За 1.5 года до этой даты я начал готовиться к интервью на позицию Front End. Сейчас работаю Senior Front-End Engineer в Roku.

Мотивацией для данного поста и создания телеграмм канала по интервью Front-End инженеров стало отсутсвие подробной информации о том, как же выглядит этот процесс в США.

Читать далее
Всего голосов 41: ↑37 и ↓4+33
Комментарии25

«Rust – не Си на стероидах. Чтобы его изучить, нужно избавиться от предрассудков»

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

В отличие от нашего прошлого героя, Михаил сделал выбор не в пользу Scala, а предпочел Rust, так как этот язык обеспечивает безопасное использование данных и ресурсов. На нём можно управлять памятью и создавать не только более быстрый, но и более надёжный код. Кстати, Михаил считает C++ не столько базовым языком для Rust, сколько консервативным конкурентом. По его словам, поклонники C/C++ недолюбливают Rust лишь потому, что имеют о нём много предрассудков и пока не осознали преимущества нового языка.

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

Читать далее
Всего голосов 32: ↑24 и ↓8+16
Комментарии20

Без одной faangи или как я проходил собеседования

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

Привет, Хабр! Меня зовут Рустам, работаю программистом 9 лет. 7 лет работал в Контуре и около 2 лет в Яндексе. В этой статье расскажу про свой опыт подготовки и прохождения собеседований в большие технологические компании, поделюсь рекомендациями.

Пробовался в Facebook, Apple, Amazon, Microsoft, Google. Пять попыток: четыре на бэкенд программиста, одна на инженера по инфраструктуре. Два предложения по работе, два отказа, одно потенциальное предложение.

Принял предложение в Amazon. Сейчас в Лондоне.

Читать далее
Всего голосов 82: ↑79 и ↓3+76
Комментарии27

Где искать данные по зарплате на этапе обсуждения оффера?

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

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

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

Ниже я привожу несколько источников в первую очередь с фокусом на США которые можно использовать для анализа. Большинство из этих ресурсов используют данные предоставленные самими сотрудниками, анонимно.

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии2

Как Go-разработчику сэкономить несколько недель жизни

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


Привет! Меня зовут Александр Сусиков, я тимлид команды, которая занимается платформой PaaS для СберМаркета. В этой статье я расскажу, как повысить скорость разработки с помощью кодогенерации.

Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии15

Асинхронный python без головной боли (часть 2)

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

Продолжаем вкусно готовить asyncio

Теперь мы уже знаем достаточно, чтобы написать модный асинхронный микросервис, реализующий паттерн "API-шлюз". И попутно познакомимся с асинхронным логгированием и доступом к базе данных.

Выпей меня
Всего голосов 13: ↑12 и ↓1+11
Комментарии17

Как стать хорошим техлидом

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

В 2006 году Яндекс и Google приехали в Петербург в Borland, который сокращал команду. Обе компании одновременно открывали в Петербурге свои офисы на его базе. Тогда к нам пришли замечательные ребята. Мы много общались, но больше всего запомнились слова Толи Орлова. Он сказал, что рост Яндекса на тот момент ограничивает только количество лидов, которые бы могли развивать продукты. Что роли техлида и тимлида очень существенны, и часто рост компании зависит только от наличия сильных лидеров. Тогда мне и захотелось узнать, как им стать.

Меня зовут Владимир Горовой. Я был тимлидом, потом перешёл в менеджмент, руководил созданием разных сервисов, в том числе, Яндекс.Путешествий. Сейчас работаю в Яндекс.Вертикалях. У меня есть разный опыт: менеджерский, разработческий и тимлидский. Всем этим и хочу с вами поделиться.

Читать далее
Всего голосов 53: ↑50 и ↓3+47
Комментарии39

Как я готовился к собеседованию на позицию Senior ML Engineer

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

Привет, меня зовут Глеб Зарин, я ML-разработчик. Сегодня я расскажу, как я подготовился к собеседованиям на позицию Senior Machine Learning Engineer и получил работу мечты за рубежом.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии6

Асинхронный python без головной боли (часть 1)

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

Почему так сложно понять asyncio?

Асинхронное программирование традиционно относят к темам для "продвинутых". Действительно, у новичков часто возникают сложности с практическим освоением асинхронности.

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Съешь красную таблетку
Всего голосов 135: ↑135 и ↓0+135
Комментарии56

Четыре простых лайфхака при написании тестов на Go + testify

Время на прочтение4 мин
Количество просмотров12K
Хотя язык программирования Go идёт в комплекте со встроенным тестовым фреймворком, мне сложно себе представить написание всего того количества тестов, что я написал, без testify. В этой заметке я расскажу про несколько маленьких неочевидных трюков, которым я научился в процессе.


Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии0

Проверяем защищённость приложения на Go: с чего начать

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

Привет! Меня зовут Александра, я инженер по информационной безопасности в Delivery Club. Мы используем Go в качестве основного языка для разработки Web-API и представляем вашему вниманию краткое руководство по быстрой проверке сервиса на соответствие базовым требованиям безопасности. Представленную ниже информацию можно адаптировать под проекты, написанные и на других языках.

Читать далее
Всего голосов 26: ↑20 и ↓6+14
Комментарии7

Вопросы и ответы для собеседования Go-разработчика

Уровень сложностиСредний
Время на прочтение53 мин
Количество просмотров104K

Структурирование информации — очень полезный навык. И дабы привнести некоторый порядок в этап подготовки к интервью на должность Golang разработчика (и немножко техлида) решил записывать в этой заметке в формате FAQ те вопросы, которые я задавал, задавали мне или просто были мной найдены на просторах сети вместе с ответами на них. Стоит относиться к ним как к шпаргалке (если затупишь на реальном интервью — будет где подсмотреть) и просто набору тем, которым тебе стоит уделить внимание.


Я постарался копнуть в каждый вопрос чуть глубже чем, возможно, надо бы — что бы у читателя был не только короткий ответ на вопрос, но и некоторое понимание "а почему именно так устроена та или иная штука". Более того, крайне рекомендую ознакомиться и с ссылками на источники, что будут под ответами — там вы найдете более развернутые ответы.


Да, это очень объемный пост, и вряд ли его можно вдумчиво осилить за один подход, но поместив его в закладки он, возможно, когда-то сослужит вам добрую службу (читать его можно по частям, находясь в метро или между вечными совещаниями; да и Ctrl + F никто не отменял). Ещё ему очень не хватает оглавления для удобной навигации между вопросами, но у хабраредактора нет возможности генерировать TOC (если будут запросы об этом в комментариях — сделаю его руками). Об очепятках, пожалуйста, пишите в личку.

Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии16

Гайд по поиску и устранению утечек памяти в Go сервисах

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

Привет меня зовут Игорь и я профессионально занимаюсь веб разработкой с 2005 года, раньше это называлось "веб-мастер", а сейчас full-stack developer.

На данный момент я tech lead в одной классной команде и иногда мне приходиться писать много текста в confluense, что бы не объяснять всё дважды и заодно приумножить knowledge base компании. Этот гайд мои "заметки на полях" в ходе исследования одного инцидента.

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии4

Проходим L6 интервью на System Design в FAANG

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

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

Читать далее
Всего голосов 19: ↑15 и ↓4+11
Комментарии6

Собеседование Golang разработчика (теоретические вопросы), Часть I

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

Как сейчас проходят собеседования на golang разработчика? Что спрашивают?

Читать далее
Всего голосов 47: ↑46 и ↓1+45
Комментарии22

Информация

В рейтинге
Не участвует
Откуда
Toronto, Ontario, Канада
Зарегистрирован
Активность