AvitoTech
18.8K subscribers
1.57K photos
61 videos
1.5K links
Рассказываем, что у Авито под капотом, делимся инженерной экспертизой и зовём на митапы.

По всем вопросам: @direct_avitotech

Сайт: https://avito.tech
Хабр: habr.com/ru/company/avito
Гитхаб: github.com/avito-tech

Регистрация в РКН: https://clc.to/FOxC1A
Download Telegram
Стажировка в платформенную команду QA

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

Чтобы попасть на стажировку, нужно немного знать теорию тестирования, чуть-чуть PHP, Go, Python или другие языки программирования и понимать принципы работы с SQL и клиент-серверного взаимодействия.

Стажировка длится от полугода до года. Работать надо будет 20 часов в неделю за 40 000₽ до налогов. Пока в основном на удалёнке.

Если вам это подходит, выполняйте тестовое и откликайтесь. Заявку можно подать до 14 декабря включительно → http://bit.ly/3os6asb
This media is not supported in your browser
VIEW IN TELEGRAM
Масштабируем WebSocket соединения на Go

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

Протокол достаточно простой, работает на всех современных платформах и в браузере (!). При этом у него небольшой оверхед по сравнению с чистой TCP-сессией.

Вот упрощённо, как взаимодействует WebSocket клиента и сервера. Если хотите работать, скажем, с большим приложением на Go, то нюансов надо учитывать очень много. О них в блоге на Хабре рассказывает Саша Емелин, наш lead backend engineer.

Почитайте статью, будет полезно → http://bit.ly/3qATK3d
Трансляция онлайн-митапа о дизайне и дизайнерах

Распакуем сегодня в 18:00 на нашем ютуб-канале пачку докладов. В пачке: краудсорсинг в дизайне, точки роста дизайнера, его значимость на разных скоростях работы и сайд-проекты.

Если будете смотреть в лайве, то сможете задавать вопросы. Но запись тоже будет: https://youtu.be/A-9CuQUIZC0
Типичные ошибки в тестовых заданиях стажёров-исследователей

В нашу UX-лабу мы ищем исследователей в штат, работаем с внешними «облачными» и открываем вакансии для стажёров.

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

Разобрали их на Хабре → http://bit.ly/3n8bscc
Как устроены технические стажировки в Авито

С первого дня стажёры включены в командные процессы: они участвуют в ежедневных встречах, планированиях, демо и ретро по задачам. Задачи тоже боевые. Мы не боимся передавать стажёрам ответственность и стремимся по-максимуму их погружать в работу как всех коллег, но разве что работающих половину рабочей недели.

На Хабре ребята, перешедшие в штат, рассказывают свои истории, а мы объясняем, как попасть на стажировку и на каких условиях: http://bit.ly/2KV36Xq

Если уже решили, что хотите стать стажёром у нас, то подавайте заявки. Есть места для бэкендеров, iOS и Android-разработчиков и QA: http://bit.ly/2JfqL49
Вместе с нашими друзьями Podlodka проводим новогодний стрим. Подключайтесь, если интересно )
14 заповедей тимлида

Максим Ланин, техлид нашей платформенной команды Core Services, делится советами по управлению технической командой, которые мы используем у себя.

Если у вас есть похожие практики, расскажите о них в комментариях на Хабре.

Или напишите, что вы думаете о наших, обсудим → http://bit.ly/2XyZyNC
This media is not supported in your browser
VIEW IN TELEGRAM
Если случается пожар на проде, важно не просто быстро его потушить, но и предотвратить повторные возгорания. Вот коротко, как мы это делаем.

Детали рассказывает Катя Семёнова, наш ведущий QA-инженер: http://bit.ly/3p2ia4y
Как ускорить производительность сайта, когда уже казалось бы нельзя

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

Почитайте, если интересно → http://bit.ly/362a4S1
Оптимизация микросервиса на Go на живом примере

Ситуация: мы создали новый сервис на Go, в памяти которого решили сохранять статусы подключенных анонимных или реальных номеров. На входе задачи было 12 000 статусов, а в перспективе их может быть примерно в десять раз больше.

Что сделали: было два варианта реализации: массив (AKA slice) или map. Посчитали оба и выяснили, что для 12 000 элементов map имеет преимущество на чтение перед массивом примерно в 100 раз. К тому же Map занимает в Heap менее двух мегабайт памяти для хранения нужных нам данных. А благодаря инструментам профилирования и небольшому изменению кода нам удалось выиграть ещё 60% производительности, и всё продолжает работать, как требуется.

И что в итоге: после того, как выбрали кэш, дописали код и задеплоили всё в сервис, добилились уменьшения response time сервиса в 1,8 раз, снизили Throttling CPU в 8 раз и количества ошибок в два раза.

Если подобный опыт вам интересен, наш бэкенд инженер Ваня Нещадин подробно объясняет, как мы это сделали, в статье на Хабре: http://bit.ly/3cgfJYr
Language Server Protocol gopls теперь доступен в VSCode по умолчанию

26 января ребята выкатили долгожданное обновление: https://github.com/golang/vscode-go/releases/tag/v0.22.0

А если вам интересно узнать основные принципы работы gopls и LSP в целом, то советуем посмотреть доклад нашего старшего бэкенд-разработчика. Илья подробно рассказал о них: https://youtu.be/rcvA5gSwj2o
Как напечатать float, улучшить работу чат-бота и автоматизировать тестирование аналитики в браузере

Это темы докладов десятой встречи Общества анонимных тестировщиков.

Онлайн-митап начнётся 4 февраля в 19:00. Ссылку на зум пришлют всем зарегистрировавшимся →
http://bit.ly/2YIADY9
Если занимаетесь QA в вашей компании или просто радеете за качество вашего продукта, то будет полезно.
Как data science помогал Авито Доставке

Разметка товаров на классы с помощью сервиса, в основе которого лежит двухслойная BiLSTM-нейросеть, «Толока» и команда дата сайенс инженеров принесли пользу продавцам, покупателям и бизнесу.

Вот тут вся история → http://bit.ly/3oJ0xpz
↑ Кто предпочитает такую одежду на удалёнке?
Anonymous Quiz
57%
Бэкенд инженеры
7%
UX-исследователи
16%
Продакт и проджект менеджеры
20%
Админы
Правильный ответ — в статье на Хабре: http://bit.ly/3oRVByL
Kafka и микросервисы: обзор

Рассказываем, как устроена платформа, делимся результатами тестирования производительности и отказоустойчивости и объясняем, почему используем подход Kafka as a Service
http://bit.ly/3d8iMTh
Как регулярно обновлять 100 библиотек в 1000 сервисов, чтобы это было просто и удобно

Расскажет Паша Агалецкий, наш senior backend engineer в команде архитектуры. Посмотреть доклад в прямом эфире и задать вопросы можно будет 20 февраля на онлайн-митапе DevTools Partу. Начало в 14:00.

Что ещё будет на встрече. Константин Кардаманов из Яндекса объяснит, как подружить в одном кластере гетерогенное железо и различные операционные системы. Алина Власова расскажет, как в Лаборатории Касперского успешно ладят с монорепозиторием.

Встреча бесплатная, но нужно зарегистироваться → http://bit.ly/2LDtN3v
OSCP: как сдать самый известный экзамен по информационной безопасности

Саша Смагин, наш senior backend engineer в команде монетизации, поделился своим опытом. Обошлось без бессонных ночей и нервных срывов.

http://bit.ly/3d37VcY