Блог компании Avito
-
Софт
Чего ждать от NeoVim: особенности редактора
Привет! Я Антон Губарев, инженер команды Platform as a Service (PaaS) в Авито. Долгое время я пользовался IDE от JetBrains, затем пересел на VS Code. Последние несколько лет работаю с кодом только в NeoVim — адаптировал его под себя и перестал использовать другие IDE. Я не фанат ни одного из редакторов или IDE и не буду пытаться убедить вас перейти…
Читать далее » -
Хабрахабр
Go To Memory
Как и многие языки, Go часто использует магию под названием хип (heap). Обычно, когда мы пишем наши джейсоно-гонятели, мы просто не задумываемся об этом, хоть и знаем, что это «где-то есть». Давайте попробуем заглянуть в кроличью нору поглубже и увидеть не только то, какими методами аллокатор Go старается облегчить программисту жизнь, но и то, из чего он состоит в целом.…
Читать далее » -
Хабрахабр
На что обращать внимание на алгоритмических секциях собеседований
За свою инженерную карьеру я провёл десятки собеседований. Чтобы успешно пройти алгоритмическую секцию, кандидату недостаточно просто написать код. Нужно ещё этот код объяснять и в целом поддерживать беседу — общение здесь неизбежно. За время общения с кандидатами я заметил некоторые повторяющиеся ошибки, которых можно избежать, если держать в фокусе внимания сравнительно простые вещи. Возможно, мои наблюдения будут вам полезны при…
Читать далее » -
Хабрахабр
Как мы закрыли все объявления частных пользователей защитными номерами
Привет! Меня зовут Павел Голов, я инженер в юните Communications. Наш юнит развивает функционал взаимодействия пользователей на Авито. В феврале 2022 года произошло большое событие для нашей команды — мы закрыли все объявления частных пользователей защитными номерами. О том, какой путь мы прошли, я хотел бы рассказать в этой статье. Что такое защита номера Сначала быстро разберёмся, что же такое…
Читать далее » -
Хабрахабр
Почему результаты UX-исследований не идут в работу
Почему результаты исследований могут не пойти в работу, а, как часто говорят, могут пойти «в стол»? Чтобы было проще разобраться в вопросе, рассмотрим распространённые проблемы на примере исследователя, который вышел на работу в сервис для покупки авиабилетов. Почему сервис авиабилетов, а не Авито? Нам пишут в комментариях, что не всегда интересно читать только про наш опыт, поэтому мы решили выбрать…
Читать далее » -
Хабрахабр
Межкластерная репликация Apache Kafka между тремя дата-центрами
Я Роман Ананьев, NoSQL/Kafka-инженер в Авито. В этом материале расскажу, как мы попробовали использовать брокер сообщений Apache Kafka в трёх дата-центрах и что из этого получилось. Сначала пробегусь по архитектуре Kafka, потому что она играет роль в репликации между кластерами. Затем коснусь самих способов репликации и расскажу о двух инструментах для неё: MirrorMaker и uReplicator. Основная часть статьи — про…
Читать далее » -
Хабрахабр
Паттерны асинхронных обменов на платформе Авито
Привет! Меня зовут Павел Агалецкий, я старший инженер в команде архитектуры. Одна из областей ответственности нашей команды — синхронное (RPC) и асинхронное взаимодействие между сервисами. В этой статье я расскажу о том, как можно связать сервисы друг с другом и как это делаем мы в платформе Авито. Первая половина статьи будет посвящена паттернам — шаблонам проектирования связи для самых распространённых…
Читать далее » -
Хабрахабр
Эволюция архитектуры Авито, или Как мы монолит в Kubernetes затолкали
Всем привет, я Александр Данковцев, lead engineer команды Antimonolith. Как можно догадаться, в Авито я занимаюсь распилом монолита. В прошлой статье я рассказывал про наш CI/CD. Сегодня речь пойдёт о процессе миграции монолита в Kubernetes и сопутствующих ему проблемах. Я разберу, как мы эти проблемы решали и к чему в итоге пришли. Что было в начале История архитектуры Авито началась…
Читать далее » -
Хабрахабр
Мутационное тестирование: опыт внедрения на 1500 сервисов
Привет, Хабр! Меня зовут Александр, я разработчик в юните, который является центром экспертизы по качеству в Авито. Мы помогаем командам с внедрением эффективных и современных подходов тестирования, а также разрабатываем инструменты для тестирования и управления качеством. В этой статье я расскажу про мутационное тестирование: Что это вообще такое. Почему и для чего мы его внедрили. Как мы внедряли изменения на всю…
Читать далее » -
Хабрахабр
Микросервисы для чайников: как на них перейти с монолита с нуля
Меня зовут Семен Катаев, я работаю в Авито над процессом перехода от монолитной архитектуры к микросервисам. Переход у нас все еще продолжается, но мне уже есть чем с вами поделиться. Это краткий обзор того, с чем придётся столкнуться, если вы задумались над созданием надежного, масштабируемого, распределённого приложения. Нам пришлось поменять практически все процессы разработки, провести реорганизацию в компании, освоить новые…
Читать далее »