Как стать автором
Обновить
107.94
hh.ru
HR Digital
Сначала показывать

Summarization is all you need

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

Привет! Меня зовут Станислав, я — дата-сайентист из команды Поиска в hh.ru. У нас в компании дата-сайентисты занимаются главным образом работой над рекомендательными системами. Если у вас есть резюме на hh.ru, то скорее всего вы хотя бы раз просматривали список подходящих вам вакансий. И вот то, насколько они действительно вам подошли, и является нашей зоной ответственности.

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

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

Турбулентный рынок труда: аналитика данных и прогнозы

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

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

Читать далее
Всего голосов 23: ↑20 и ↓3+21
Комментарии12

Все на борт! Онбординг и адаптация новых сотрудников

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

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

Приятно, да? 

Нет. Не душите нового сотрудника.

Всем привет! Меня зовут Павел Стрельченко, я — Android-разработчик в hh.ru, и  сегодня мы поговорим про онбординг. Онбординг — это организованная помощь новому сотруднику в адаптации к необычным для него условиям. Все это необходимо, чтобы новичок как можно скорее разобрался: куда можно обратиться за информацией, где искать необходимые доступы, откуда скачивать софт, и начал приносить пользу команде и бизнесу. 

В сегодняшней статье я опишу типичную первую неделю нового сотрудника в мобильных командах hh.ru.

НА БОРТ!
Всего голосов 8: ↑6 и ↓2+5
Комментарии5

Рефакторинг прайс-листа без духоты

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

Любой крупный проект старше пары лет имеет легаси. hh.ru здесь — не исключение. Однажды перед нашей командой встала задача перевести страницу прайс-листа работодателя на React. Сперва это занятие показалось нам абсолютно рутинным, но если бы это на самом деле было так, вы бы сейчас не читали эту статью.

Всем привет! Меня зовут Саша, я — фронтенд-разработчик команды «Монетизация» hh.ru. В своем материале расскажу, как мы рефакторили наболевшее, обнаруживали главные проблемы и находили элегантные решения.  

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

GraphQL: доступ запрещен

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

Жил-был один маленький разработчик, работал себе над REST API и горя не знал. Но вот приходит к нему тимлид и предлагает затащить GraphQL. Казалось бы: классный и мощный GraphQL — это запросто! Но в процессе проектирования API разработчик столкнулся с неожиданными проблемами и суровыми испытаниями: система оказалась довольно сложна и полна различных прав и ролей.

Всем привет! Меня зовут Олег, я — бэкенд-разработчик системы Talantix. В этой статье я расскажу о том, как работать с доступом к данным в GraphQL.

Читать далее
Всего голосов 10: ↑9 и ↓1+11
Комментарии11

Как мы внедряли tracing

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

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

Всем привет, меня зовут Саша Казанцев, я — тимлид команды “Clickme” в hh.ru. В этой статье расскажу о том, как мы внедряли трейсинг. 

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

Внедрение GraphQL на фронтенде без переломов

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

Всем привет! Меня зовут Илья, я фронтенд-разработчик в hh.ru. В статье расскажу, как внедрить GraphQL на фронте, не переломав всё на своем пути.


В проекте мы используем React и Redux, для асинхронных запросов у нас есть собственная библиотека, а бэкенд работает на Java. Для получения данных используем страничные URL, а когда заходим на страницу, прямо по URl-у забираем все данные Аяксом. Это влечет за собой две проблемы — overfetching и underfetching. Проще говоря, либо у нас избыток данных, которые используются в данном рендере, либо их нехватка. Эту беду и призван решить GraphQL.


Если лень читать или больше нравится видеоформат — вам сюда.


Внедрение GraphQL на фронтенде без переломов

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

Иерархия модулей: как выстроить связи между модулями в Android

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

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

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

Статья также доступна в видео-формате.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии9

Обзор GraphQL-фреймворков на Java

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

В предыдущей статье мы поговорили о том, что такое graphQL, почему решили на него переходить, какие у него есть достоинства и недостатки. Но что делать дальше, если вы всё-таки решились внедрить graphQL в java-проект? Какие на данный момент есть фреймворки, чем они отличаются и какой вообще выбрать? Именно с этими проблемами мы и столкнулись почти год назад и не нашли адекватного ответа в одном источнике. Собрав по крупицам инфу из разных ресурсов (статьи, документации, доклады) и потыкав палочкой несколько фреймворков, мы сформировали общую базу знаний о них, которой и захотелось поделиться.

Если вам интересно, какие есть современные graphql-фреймворки на java, как выбрать подходящий и посмотреть, как он может выглядеть в продакшне — эта статья для вас.

Всем привет! Меня зовут Артем, я бэкенд-разработчик в hh.ru. Сегодня мы поговорим о современных решениях в GraphQL-мире на Java.

Статья также доступна в видео-формате.

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

Запуск Flannel & kube-proxy отдельно от кластера

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

Всем привет! В сегодняшнем материале разберемся, как сделать внутренние сетевые ресурсы кластера k8s доступными напрямую с внешнего хоста. Спойлер: в этом нам поможет запуск Flannel в связке с kube-proxy этом самом хосте.

Так мы получим доступ к приложениям, запущенным в Kubernetes без использования NodePort, LoadBalancer и Ingress Controller.

Мы в hh.ru уже используем это решение для поднятия окружения в разработке и тестировании, решили поделиться с комьюнити. Поехали!

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

Адаптация Jetpack Compose в hh.ru

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

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

Всем привет! Меня зовут Паша Стрельченко, я Android-разработчик в hh.ru. В этой статье поведаю историю о том, как начиналась адаптация Jetpack Compose в нашем продакшн-приложении. 

Читать далее
Всего голосов 17: ↑14 и ↓3+12
Комментарии15

GraphQL, что ты такое?

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

Привет! Сегодня у нашей статьи два автора — бэкенд-разработчик Артём и фронтенд-разработчик Илья. 

Примерно год назад мы решили попробовать внедрить graphQL у себя в проекте и сейчас хотим поделиться, как это происходило. Расскажем, что такое GraphQL, как его внедряли, почему мы вообще решили с ним подружиться и как начать взаимодействовать с API бэкенда словно вы граф, а не холоп.

Если лень читать или больше нравится видеоформат — вам сюда

Читать далее
Всего голосов 11: ↑8 и ↓3+6
Комментарии22

Как мы в hh.ru отправляем пользователям миллиард уведомлений в месяц

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

В hh.ru много пользователей, а уведомлений мы отправляем еще больше: о регистрации, о восстановлении пароля, об изменении статуса услуг, о новых сообщениях и т.д. Одних только email-уведомлений мы отправляем около 900 миллионов в месяц, а ведь есть еще пуши и смс.

Меня зовут Кирилл, я — тимлид команды Bonjour в hh.ru. Сегодня я расскажу как у нас устроены рассылки.

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

История одного внедрения дизайн-токенов vol. 1

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

Жила-была небольшая CRM-система для рекрутмента от команды hh.ru. Не было у нее дизайн-системы, а был маленький UI-китеныш и десяток компонентов. Дизайнер и фронты не думали про Pixel Perfect, а макеты и верстка их отличались. Так бы и жили себе тихонечко, если бы не пришел запрос на освежение дизайна. 

Привет! Меня зовут Женя, я дизайнер продукта. Сегодня я поделюсь с вами историей о том, как мы с фронтами подружили Figma и React. В своей статье я затрону всё, что связано с Figma: выбором плагина, созданием токенов и передачей выгруженного json в разработку. Подробнее про техническую часть ждите во второй статье от моего коллеги Ильи.

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

Как мы делаем техбренд

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

Привет! Меня зовут Паша Стрельченко, я — Android-разработчик в hh.ru. Впрочем, сегодня я буду выступать в качестве проджект-менеджера нашего техбренда. Официально, конечно, у нас такой должности нет, да и деврелов тоже. В общем, справляемся своими силами. 

В этой статье расскажу о том, как мы создаем техбренд на примере нашего видеопроекта на YouTube “Охэхэнные истории”. Объясню, через какие стадии проходят наши выпуски, как мы их визуализируем, как управляем, а еще поделюсь парочкой кулстори. Запасайтесь чаем, контента будет много. 

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

История одного OOM

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

В далекой-далекой галактике были времена стабильности и процветания. Сервис с шестнадцатью инстансами работал на благо человечества. Через Hibernate он ходил в PostgreSQL-базу, доставал необходимые данные и отдавал другим по REST-интерфейсу. Однако спокойные времена прошли. Внезапно один из инстансов упал с OutOfMemoryError. Лучшие программисты hh.ru пустились в погоню за heapdump-ом в поисках ценнейшей информации. 

Привет, меня зовут Артем, я — бэкенд-разработчик в hh.ru. В этой статье расскажу о том, как мы чинили одну из ошибок OutOfMemoryError, которая возникла при работе сервиса с базой данных. Сегодня говорим только на бэкендерском! 

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

MVI в iOS-приложении

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

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

Меня зовут Саша, я iOS-разработчик в hh.ru. В сегодняшней статьей расскажу, как мы ушли от этого монструозного ужаса и что у нас в итоге получилось. Спойлер, мы использовали стейт-машину.

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

Коварные перцентильные фильтры

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

В жизни каждого A/B-эксперимента наступает момент, когда пора проанализировать его результаты и понять, а не зря ли мы пилили все эти фичи. 

Всем привет! Меня зовут Костя Житков, я — аналитик в команде Поиска рекомендаций hh.ru. В этой статье я расскажу о том, как мы чуть не увязли в самообмане во время анализа одного из наших A/B-экспериментов.

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

Гибкая навигация в iOS

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

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

Меня зовут Тимур Шафигулин, я – iOS-разработчик в hh.ru. В этой статье я расскажу про фреймворк для навигации в iOS-приложении.

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

Зачем бизнесу data science

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

Встретились как-то продакт с дата-сайентистом в одном офисе и стали выяснять, кто для бизнеса нужнее. Об этом в нашем видеоблоге вышел огромный выпуск, который я решил переделать в статью. Если интересно послушать полный диалог со всеми подробностями – добро пожаловать.

Всем привет! Меня зовут Игорь Уткин, я – дата-сайентист в hh.ru.  В этой статье разбираемся: когда компании может понадобиться дата-сайентист, имеет ли собранная модель право на ошибку и как вообще люди уходят в data science. 

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

Информация

Сайт
hh.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия