13 вопросов системному аналитику
В сегодняшнем интервью с системным аналитиком мы зададим 13 вопросов о профессии системного аналитика, что она из себя представляет, какие навыки необходимы и что важно знать начинающему аналитику, интервью с подписчиком нашего канала IT-старт t.me/it_begin
1. Расскажите о себе, на кого учились, кем работали/работаете?
с 2022 по 2022 год я работала над различными медицинскими информационными системами по разную сторону баррикад и для разных ролей пользователей. Попутно получала высшее образование: сначала я пошла на специальность «Управление и информатика в технических системах» за знаниями по специальности, но мне не подошла программа — было много информации по физике, микросхемам и двигателям и почти не было по разработке; после этого перевелась на специальность «Прикладная информатика в государственном и муниципальном управлении» ради того, чтобы закончить начатое, и, как ни странно, здесь я получила гораздо больше знаний, которые в последствии применяла в работе. Сейчас в процессе трудоустройства в новую организацию — также на позицию системного аналитика.
2. Каков был ваш путь в аналитику? Сразу после института или же прохождение курсов / самообразование ?
В аналитику я попала совершенно случайно: при переезде в более крупный город, изначально искала работу разработчиком, но там, куда я подала свое резюме, мне предложили пройти собеседование еще и на системного аналитика. В итоге для позиции разработчика мне не хватило компетенций, а вот для аналитика — вполне. И я решила — почему бы не попробовать себя в новой роли? В целом при выборе кандидатов не всегда, а может быть даже редко, требуется профильное образование — важнее опыт и ваши знания.
3. Почему именно аналитика вам показалась интересной ?
Как я написала выше, изначально я попала на позицию аналитика случайно. Но в последствии мне очень понравилась эта специальность, т.к. она совмещает в себе анализ, постановку требований и возможность непосредственной разработки. Мне эта многогранность показалась интересной.
4. Расскажите о том, чем занимается системный аналитик. Что входит в ваши профессиональные обязанности ?
Если кратко, то системный аналитик собирает требования заказчика к разрабатываемому ПО, проводит оценку трудозатрат на выполнение разработки/доработки, создает подробное и понятное для разработчика описание системы и функционала или их доработок со стороны веб и БД, ставит задачи разработчикам, контролирует выполнение этих задач, проводит тестирование и участвует в сдаче работ заказчику.
5. Насколько аналитику важно знать математику/статистику ?
Тут зависит от того, на какую конкретно позицию вы претендуете. Где-то знания математики и статистики, техническая специальность не требуются: знания либо дадут уже на месте работы в процессе испытательного срока, либо они и вовсе не потребуются. Но на некоторых позициях, в некоторых сферах необходимы узкоспециализированные знания. И это относится не только к математике и статистике. Например, в вакансиях для работы в банках часто можно встретить среди требований знание тех или иных особенностей работы конкретно в этой сфере.
6. Какие навыки пригождаются вам в работе максимально часто?
Безусловно, должен быть пресловутый аналитический склад ума: нужно уметь систематизировать данные и выявлять зависимости — я считаю, это основа основ.
В работе системного аналитика полезно знать на уровне составления несложных запросов языки SQL или Python — чаще всего именно они встречаются в требованиях к вакансиям. Для получения этих знаний вполне достаточно будет тех ресурсов, которые доступны бесплатно: youtube, обучающие сайты, бесплатные курсы с практикой.
Также лучше изучить нотации моделирования бизнес-процессов и интеграции данных — тоже часто встречаются в требованиях к вакансиям.
Из soft skills я бы отметила усидчивость и тайм-менджмент, т.к. работа состоит из последовательных сбора, обработки, систематизации, описания данных и документации, а также случается, что на аналитика возлагают приоритезацию и контроль выполнения задач.
7. Насколько легко/тяжело трудоустроиться в данной сфере?
На сколько я могу судить по количеству вакансий на разных ресурсах, есть недостаток кадров, т.е. с трудоустройством больших проблем не возникает. Однако, конечно же, не стоит ожидать, что вас с распростертыми объятиями загребут с руками и ногами на первом же собеседовании (хотя, и такое, конечно же, тоже бывает).
Также в последнее время довольно часто встречаю вакансии junior-аналитиков, которых готовы обучать чуть ли не с нуля, соответственно, порог вхождения в профессию значительно снизился — такие вакансии лучше искать в тематических чатах. И можно поискать курсы от различных компаний (бывают и бесплатные), по результатам прохождения которых можно получить оффер.
8. Расскажите о своём опыте работы , где вам удалось поработать?
С 2022 по 2022 работала разработчиком в небольшой конторе небольшого города над несложными задачами для медицинской информационной системы и почти не развивалась профессионально, но в то время мне это подходило. Писала на C# и T-SQL. В 2022 году решила переехать в город побольше и прошла собеседование в организацию, в которой проработала 4 года на позиции системного аналитика — работали мы снова над медицинской информационной системой) В этом году я решила получить опыт в другой сфере и недавно перешла работать в другую организацию.
9. Можете рассказать о том , что за время вашей работы вами было реализовано?
За время работы над медицинскими информационными системами нашими командами в этих МИС были настроены бизнес-процессы заказчика, реализованы функционал ввода данных и автоматизированного расчета некоторых параметров на основании ранее введенных данных, проверки корректности введенных данных, сбор этих данных для последующей выгрузки в файл и сама выгрузка этого файла, реализованы аналитические отчеты по введенным и выгруженным данным.
В общем, было очень много работы с данными) И это еще не предел) Если вам нравится раскладывать все по полочкам, такая работа вам точно придется по душе. Но есть в аналитике и другие задачи — работа аналитиком достаточно многогранна и расти можно как по горизонтали, так и по вертикали.
10. Является ли самообразование для вас постоянным явлением в работе ?
На предыдущем месте работы не было необходимости в получении знаний по специальности: процессы и взаимодействие в команде были так устроены, что их было просто негде применять. Это было одной из причин перехода на новое место: хотелось бы не просто получать новые знания, но и иметь возможность применить их на практике. Поэтому ответ тут будет стандартным: да, если вы хотите быть востребованным на рынке, а не только в одной организации, куда вам посчастливилось устроиться. Но и просто хорошо делать свою работу там, где ты есть, без дополнительных знаний, считаю, замечательно.
11. По вашему мнению, каков спрос на рынке труда и какие перспективы у данной профессии в нашей стране в ближайшие полгода – год, исходя из нынешней экономической ситуации?
На мой взгляд аналитики будут востребованы, т.к. понимая специфику сферы заказчика и техническую часть разработки ПО, аналитики являются связующим звеном между заказчиком и разработчиком. Хотя, конечно, не стоит упускать из внимания, что есть и такие проекты, где в команде нет потребности в аналитике.
12. Успешно работая системным аналитиком – какие впечатления от работы? Нравится то чем занимаетесь или же смешанные чувства ?
Я безусловно получила колоссальный опыт взаимодействия с людьми на разных уровнях производства, смогла взглянуть на процессы с разных углов, что позволило где-то поменять свое мнение о происходящем и необходимом, где-то понять процессы глубже. Также, работая системным аналитиком, получаешь знания как о работе с БД, так и о работе с людьми, сборе информации и ее описании — эта многогранность тоже является для меня привлекательным фактором. Во всяком случае, сейчас это для меня привлекательный фактор) В самом начале я очень стрессовала от необходимости прямого взаимодействия с заказчиком, сейчас же считаю это отличной закалкой. Но отмечу, что не везде есть необходимость такого прямого взаимодействия.
13. Подводя итоги. Что можете посоветовать людям, что хотят переквалифицироваться и в дальнейшем работать в данной сфере?
Когда я искала информацию о том, как быть аналитиком, перешерстила кучу тематических порталов, курсов и чатов — это дает некоторое представление о профессии, но лично на меня в то время это все нагнало больше страху: какие-то очень умные люди говорят на каком-то очень непонятном языке. Поэтому, читать такие ресурсы надо, но не стоит сразу воспринимать себя самым глупым человеком на свете: все непонятные слова гуглятся, всю упомянутую информацию можно (и нужно) бесплатно получить в интернете). И таким образом страшный изначально чат превращается в кладезь полезной информации и центр развития.
Из необходимых шагов, думаю, стоит отметить:
— изучение sql/python до начального уровня,
— книгу babok (сейчас можно найти даже видеобзоры на нее) — это руководство к своду знаний по бизнес-анализу,
— практика описания требований к разрабатываемому функционалу (начать можно с самого простого — например, создать сложный справочник — и дальше двигаться к более сложным задачам)
— изучить нотации BPMN, UML (задание со звездочкой — IDEF0 и другие)
— изучить интеграции систем.
И не бойтесь ходить на собеседования, обязательно просите обратную связь: каждый отказ несет в себе понимание того, что необходимо еще в себе прокачать, чтобы получить заветный оффер)
Если вам интересна IT-сфера и интервью с программистами
публикую также свои статьи и интервью на канале t.me/it_begin
Подписывайтесь 🙂
Спасибо!
5 вопросов по машинному обучению
1. Вам предоставляется набор данных, состоящий из 1000 столбцов и 1 миллиона строк. Набор данных основан на задаче классификации. Ваш менеджер попросил вас уменьшить размер этих данных, чтобы можно было сократить время вычисления модели. У вашей машины нехватка памяти. Что бы ты сделал? (Вы можете делать практические предположения.)
Вариантов ответа множество, приведенный ниже — это только пример размышления на заданную тему.
— Поскольку у нас мала оперативной памяти, мы должны закрыть все другие приложения на нашем компьютере, включая веб-браузер, чтобы можно было использовать большую часть памяти.
— Мы можем случайным образом выбрать набор данных. Это означает, что мы можем создать меньший набор данных, скажем, имеющий 1000 переменных и 300000 строк, и провести вычисления.
— Чтобы уменьшить размерность, мы можем разделить числовые и категориальные переменные и удалить коррелированные переменные. Для числовых переменных мы будем использовать корреляцию. Для категориальных переменных мы будем использовать критерий хи-квадрат.
— Кроме того, мы можем использовать PCA и выбрать компоненты, которые могут объяснить максимальную дисперсию в наборе данных.
— Возможным вариантом является использование алгоритмов онлайн-обучения, таких как Vowpal Wabbit (доступный на Python).
— Также полезно построение линейной модели с использованием стохастического градиентного спуска.
— Мы также можем применить наше понимание бизнеса для сокращения данных. Но это интуитивный подход, неспособность определить полезные данные может
привести к значительной потере информации.
2. Вам предоставляется набор данных. В наборе данных отсутствуют значения, которые разбросаны на 1 стандартное отклонение от медианы. Какой процент данных останется без изменений? Почему?
3.Вам предоставляется набор данных по выявлению рака. Вы построили модель классификации и достигли точности 96%. Почему вы не должны быть довольны своей моделью? Что вы можете сделать по этому поводу?
Если вы опытный дата-саентист, вы должны сделать вывод, что обнаружение рака приводит к несбалансированности данных. В несбалансированном наборе данных точность не должна использоваться в качестве меры, потому что 96% (как указано) могут правильно предсказывать только класс большинства, но наш интересующий класс — это класс меньшинства (4%), то есть люди, которые фактически получили факт диагностирования рака. Следовательно, чтобы оценить производительность модели, мы должны использовать:
— Sensitivity (True Positive Rate)
— Specificity (True Negative Rate)
— F-measure
Еще можно предпринять следующие шаги:
— Мы можем использовать undersampling/oversampling или SMOTE, чтобы сбалансировать данные.
— Мы можем изменить пороговое значение прогноза, выполнив калибровку вероятности и найдя оптимальный порог с помощью кривой AUC-ROC.
— Мы можем назначить вес классам, чтобы классы меньшинства получали больший вес.
— Мы также можем использовать методы обнаружения аномалий.
4. Вы узнали, что ваша модель страдает от low bias и high variance. Какой алгоритм вы должны использовать для решения этой проблемы? Почему?
Вариантов ответа множество, ниже приведен только пример.
Такая ситуация возникает, когда прогнозируемые значения модели близки к фактическим. Другими словами, модель становится достаточно гибкой, чтобы имитировать распределение обучающих данных. Хотя это звучит как большое достижение, но не стоит забывать, что такая модель не имеет возможностей обобщения. Когда эта модель тестируется на данных, которые она не видела, она дает плохие результаты.
Мы можем использовать алгоритмы bagging-а (например, случайный лес), чтобы решить проблему с high variance. Алгоритмы делят набор данных на подмножества, созданные с помощью повторной рандомизированной выборки. Затем эти образцы используются для создания набора моделей с использованием единого алгоритма обучения. Позже прогнозы модели объединяются с использованием голосования (классификация) или усреднения (регрессия).
Кроме того, для борьбы мы можем:
— Использовать метод регуляризации, при котором более высокие коэффициенты модели штрафуются, что снижает сложность модели.
— Использовать первые n переменных из таблицы важности. Возможно, со всеми переменными в наборе данных алгоритм испытывает трудности с поиском значимого сигнала.
5. Чем случайный лес отличается от алгоритма повышения градиента (GBM)?
5 вопросов по теории вероятности
1. Пусть A и B — события в одном и том же пространстве выборки, причем P (A) = 0,6 и P (B) = 0,7. Могут ли эти два события не пересекаться (быть несовместными)?
А) Да
Б) Нет
2. Шестигранный кубик бросается 6 раз. Какова вероятность того, что все результаты будут уникальными?
A) 0.01543
Б) 0.01993
В) 0.23148
Г) 0.03333
3. У нас есть две монеты: A и Б. Для каждого броска монеты A вероятность выпадения орла равна 1/2, а для каждого броска монеты Б вероятность выпадения орла составляет 1/3. Все броски одной монеты независимы. Выбираем монету наугад и подбрасываем до выпадения решки. Вероятность выбора монеты A равна 1/4, а монеты Б — 3/4. Какое ожидается количество бросков, чтобы получить первые решки?
А) 2,75
Б) 3,35
В) 4,13
Г) 5,33
4. При перекрестном оплодотворении красного и белого цветов в 25% случаев появляются красные цветы. Теперь мы перекрестно оплодотворяем пять пар красных и белых цветков и производим пять потомков. Какова вероятность того, что в пятерке потомков нет красных цветочных растений?
A) 23.7%
Б) 37.2%
В) 22.5%
Г) 27.3%
(A) Вероятность того, что потомство будет красным, составляет 0,25, таким образом, вероятность того, что потомство не будет красным, составляет 0,75. Поскольку все пары независимы друг от друга, вероятность того, что все потомки не красные, будет (0,75)^ 5 = 0,237. Вы можете думать об этом как о биноме со всеми ошибками.
5. Какова примерно вероятность того, что в классе из 30 учеников день рождения двух учеников наступит в один и тот же день (определяется одним днем и месяцем) (при условии, что это не високосный год)?
A) 49%
Б) 52%
В) 70%
Г) 35%
(В) Общее количество возможных комбинаций, когда два человека не могут иметь один и тот же день рождения в классе из 30 человек, составляет 30 * (30-1) / 2 = 435.
Итак, в году 365 дней (при условии, что это не високосный год). Таким образом, вероятность того, что у людей будет другой день рождения, будет 364/365. Теперь возможно 870 комбинаций. Таким образом, вероятность того,что у двух людей один и тот же день рождения, равна (364/365) ^ 435 = 0,303. Следовательно, вероятность того, что у двух людей дни рождения будут в один и тот же день, будет 1 — 0,303 = 0,696
V интеграция
56. Что такое XSD?57. Что содержится в XML?58. Чем sequence отличается от choice в XSD?59. Приходилось ли вам писать XSD?60. Что такое пространство имен в XML?61. Какими программами вы работали с XML?62.
Что такое WSDL?63. Чем SOAP отличается от REST?64. Из чего состоит сообщение в SOAP?65. Что содержит HEADER в ответе REST?66. Чем отличается ошибка 200 от 201?67. Какие методы REST вы знаете?68.
Чем POST отличается от GET? 69. Чем PUT отличается от PATCH?70. Приходилось ли вам писать JSON? С помощью чего вы писали JSON?71. Напишите пример rest-API для книжной библиотеки (напишите методы, эндпоинты и пример JSON).72. Что содержит URL в REST запросе? 73.
Как проверить, что сообщение брокера получено в полном объеме?74. Знаете ли вы CAP-теорему?75. Что такое stateless и stateful, если говорить про сервисы? Rest – это какие сервисы? Что значит stateless сервисы?76. Что такое идемпотентность?
Почем это важно?77. DELETE – идемпотентный метод?78. Приходилось ли вам проектировать взаимодействие информационных систем?79. Что такое корпоративная шина? Приходилось ли работать с корпоративной шиной?80. Чем корпоративная шина отличается от ETL – инструмента?81.
Чем брокер сообщений отличается от корпоративной шины?82. К корпоративной шине подключены веб-сервисы. В одном веб-сервисе появились два новых обязательных поля. Что изменится в интеграции?83. Есть некий UI, нужно написать к нему веб-сервис.
Опишите вашу постановку – что в ней будет.84. Что такое синхронные и асинхронные вызовы?85. Приходилось ли вам работать с брокерами сообщений?86. Для чего вы использовали брокер сообщений?87. Как брокер сообщений гарантирует доставку сообщений?88.
Чем Kafka отличается от RabbitMQ?89. Есть две системы. Назовите все способы интеграции этих систем.90. Какие виды/способы интеграции вы знаете?91. Клиент читает в Kafka два последних сообщения. Как тому же клиенту зановопрочитать эти два последние сообщения?92.
Приходилось ли вам проектировать API в нотации OpenAPI/Swagger?93. Опишите все способы снизить нагрузку на вебсервис.94. Есть четыре системы, участвующие в последовательном исполнении заказа клиента на выдачу карты: форма заявки на выдачу карты, скоринг, печать карты, логистика.
Опишите, как вы их интегрируете между собой.95. Знакомы ли вы с микросервисами?96. Что такое Хореография и Оркестрация?97. Какие достоинства и недостатки микросервисов вы знаете?98. Расскажите про токен-авторизацию в микросервисах.
Площадки для поиска вакансий
По факту поиск работы после курсов мало отличается от поиска работы после вуза. Знания вроде есть, но они не проверены в боевых условиях, глаза горят, но кто на них купится — непонятно. Как истинный маркетолог любое новое действие я перевожу в простые и понятные объекты.
Если посмотреть на тот же процесс глазами HR, то будет то же самое — процесс поиска идеального кандидата из всех и предложение ему работы. Везде воронки, которые с каждым этапом отсеивают нерелевантные предложения и оставляют самый сок. В маркетинге — это воронка клиентов, тут — воронка трудоустройства.
Рассмотрим воронку трудоустройства со стороны компании. Слева у нас те кто перешел на следующий этап воронки, справа — те, которым отказали. Все цифры условны. На интересные позиции эйчар обычно получает много резюме. Наша задача — создать такое резюме которое заметят, отложат, отправят тестовое и впоследствии донесут до стола руководителя.
Про резюме мы поговорим еще ниже, но только успех на каждом этапе приведет вас к получению предложения о работе. Понятно, что не всегда соискатель проходит все этапы воронки трудоустройства, иногда на связь сразу выходит руководитель, если заметил в резюме специалиста, которого ищет.
Хедхантер.
Это популярный агрегатор вакансий и резюме. Плюсы: большая база данных, легкое заполнение резюме, есть свой бот в вайбере, который тоже помогает в поиске. Минусов для соискателей нет, зато они есть для компаний. Размещение вакансии платное, просмотр резюме платное, не очень удобный интерфейс, из-за которого ваше сопроводительное письмо может легко затеряться.
Хабр. Это крупное русскоязычное комьюнити. В огромной базе «Хабр.Карьеры» есть актуальные вакансии по всем ведущим сферам ИТ-индустрии и всё больше работодателей перебираются на эту площадку. Плюсы площадки для соискателя — это возможность создать свое резюме, которое легко связать со своим профилем на Хабре.
Сталкивалась с этим на Хедхантере — название вакансии не соответствует задачам. В этом примере искали маркетолога-аналитика, а по факту это описание ближе к product manager. Не знаю, как на других ресурсах с этим. Тут поможет поиск не по названию а по ключевым словам — анализ, SQL, Python, нейросети и т.д.
Полезные материалы для подготовки к собеседованию на аналитика
Чтобы глубже погрузиться в предмет, восполнить пробелы и систематизировать знания, рекомендуем регулярно изучать профильную литературу. Собрали небольшую подборку книг на важные для начинающих аналитиков темы:
- Теория вероятностей и математическая статистика, Ганичева А. — учебное пособие состоит из 2 частей: в первой вы разберёте теоремы теории вероятностей и законы распределения случайных величин, во второй изучите методы математической статистики, способы проверки статистических гипотез и др.;
- Введение в SQL, Грабер М. — если вы ещё не владеете SQL, эта книга поможет быстро освоить синтаксис языка и научиться писать простые и сложные запросы для управления базами данных;
- Python и анализ данных. Первичная обработка данных с применением Pandas, NumPy и Ipython, Маккини У. — вы узнаете, как очищать, агрегировать и визуализировать данные с помощью популярных Python-библиотек;
- Моделирование бизнес-процессов в нотации BPMN, Репин В. — в пособии для новичков подробно рассматривается порядок моделирования BMPN-процессов, а наглядные схемы помогут понять и запомнить логику этого метода;
- Анализ данных в Tableau на практике, Слипер Р. — вы познакомитесь с инструментами и фишками программы Tableau, разберётесь, как строить разного типа диаграммы и дашборды и превращать данные в наглядную и интересную историю.
Чтобы лучше понять, как проходить собеседование на аналитика данных, и потренироваться в ответах на типичные вопросы рекрутёров, посмотрите пару видео по теме. Годные часовые ролики с тренировочными собеседованиями есть на ютуб-канале Karpov.Courses: первое собеседование джуниор-аналитика и технический этап собеседования на позицию джуниор-аналитика.
Решение
Найдём вероятность пересечения классическим подходом — поделим число маршрутов с пересечением на общее число возможных маршрутов. Пусть
— длина ребра квадратной сетки. Тогда общее число возможных маршрутов:
Вывод формулы описан
. А вот как узнать число маршрутов с пересечением реки для каждого
? Озадачившись этим вопросом, я решил взять несколько длин сетки поменьше, нарисовать поля и вручную подсчитать, сколько маршрутов пересекают реку, надеясь проследить зависимость (Очень рекомендую вам также сейчас взять листочек и ручку и поэкспериментировать с рисованием маленьких сеток и путей).
Пусть имеется сетка размером 3 на 3 клетки. Побочная диагональ сетки занята рекой, путник стоит в левом нижнем углу.
Как только я сделал рисунок, понял, что намного проще будет отследить маршруты, реку не пересекающие, а именно маршруты ниже реки. Затем можно будет умножить их число на 2, учтя таким образом и зеркальные маршруты выше реки. Так как мы знаем вдобавок и общее число маршрутов, найдём и количество пересекающих реку. Но вернёмся к главной задаче — нам нужна зависимость между
Новые пути я отметил красным. Итак, понятно, что если путник свернёт на левое и затем верхнее ребро клетки (1, 0), ему далее будут доступны лишь 2 из трёх путей через клетки с горизонтальной координатой 2, ведь двигаться можно лишь вверх и вправо — третий же путь лежит ниже.
Возьмём сетку 4 на 4 и продолжим распутывать клубок. Стало понятно, что добавление новой клетки какого-либо столбца увеличивает число путей на то количество маршрутов, которое проходит через следующий столбец не ниже верхнего ребра добавленной клетки.
Крайний правый столбец вновь даёт нам
маршрутов. Верхнее ребро клетки (2, 0) добавит нам
маршрут. Верхнее ребро клетки (2, 1) добавит
маршрута. Верхнее ребро клетки (1, 0) добавит столько маршрутов, сколько добавили клетки (2, 0) и (2, 1) вместе. При желании можно нарисовать сетку побольше и продолжить считать маршруты тем же алгоритмом. Наша задача — подсчитать маршруты для сетки 100×100. Для этого можно написать программку, которая примет на вход
и построит матрицу
, начиная со столбца
и далее для каждой клетки предыдущих столбцов подсчитывая число добавленных клеткой путей, основываясь на данных предыдущего столбца. Таким образом, количество не пересекающих реку путей будет найдено.
import numpy as np
import math
def routes_total(n): # Общее число путей
return math.factorial(2*n) / (math.factorial(n)**2)
def fill_matrix(n): # Число путей, не пересекающих реку с одной стороны реки
net = np.zeros((n, n))
net[0, 0] = n # Крайний столбец даёт n путей
for i in range(n-2):
net[1, i] = n - i - 1
for i in range(2, n):
for j in range(n - i - 1):
net[i, j] = 0
for g in range(j, n - i 1):
net[i, j] = net[i - 1, g]
# Сумму полученных чисел умножаем на 2, чтобы учесть другую сторону реки
return (2 * sum(sum(net)))
# Хотим долю пересекающих реку путей - вычитаем результат из 1
print(1 - fill_matrix(100) / routes_total(100))
Собеседования
Вот мы прошли множество этапов и оказались лицом к лицу перед ясными очами руководства. Дальше только трудоустройство и поэтому этот этап надо пройти блестяще. Как нам показать себя и выделиться среди остальных претендентов? Ваша цель — максимально расписать выгоду для компании, которое принесет ваше сотрудничество.
Посмотрим на собеседование глазами руководителя — будь это руководитель группы аналитиков, продакт менеджер или генеральный директор. Цель найма одна — получить от нового сотрудника выгоды (прибыли) больше, чем этот сотрудник будет стоить для компании.
Изучите компанию вдоль и поперек — их продукты, сайты. Попробуйте купить что то или заказать звонок. Найдите прямых или косвенных конкурентов и посмотрите их преимущества и недостатки. Найдите точки, где ваша работа, как аналитика, может быть полезна уже сейчас.
Именно такой взгляд и эти идеи можно и нужно рассказывать на собеседовании. Именно эти идеи могут помочь вам попасть в компанию, а компании впоследствии использовать их для развития. Зачетно, если это будет сделано в Bi системе — закроем сразу вопрос знаний и умений в визуализации и анализа данных из открытых источников.
Если у вас есть опыт в веб-аналитике, но нет в продуктовой аналитике, говорите, что готовы показать свое мастерство работы в Яндекс.Метрике или Google Аналитике. Настроим аналитику там, а значит можем сэкономить компании деньги и быстрее впишемся в коллектив.
Возьмите и оцифруйте свой предыдущий опыт работы, даже если он не релевантен. Краткая презентация о себе с цифрами, успехами, заслугами и даже поражениями. Качаем PowerPoint, и показываем навыки презентации. Снижайте опасение компании из-за возможно неправильного найма.
Разговоры о зарплате. Для меня честно говоря это самый трудный момент, оценить себя в деньгах, надеюсь что для вас вопрос будет легким. Посмотрим на зарплату глазами человека, который платит деньги — если трудоустройство прошло успешно, тогда прибыль компании будет больше затрат на сотрудника. Зарплата может быть сколько угодно большой, если она меньше той прибыли, которую генерирует сотрудник, то есть вы.
Трудности
Как только я вышла на тропу войны (тропу поиска работы) я столкнулась с трудностями. Те руководители, для которых найм аналитика в компанию проходит впервые, стали спрашивать меня, как я могу использовать свои навыки с курсов в работе. Как бы да, они понимают что анализ им нужен и аналитик теперь это модно но… Как ему понять, что анализ данных и дальнейшие действия смогут увеличить прибыль компании…
Тавтология. В этот момент становиться понятно что многим не понятно как с помощью анализа делать реальные деньги.
Мы не берем в расчет большие компании со штатом аналитиков больше сотни. Но есть множество тех, кто только начинает свой путь в Data Driven и стремиться выстроить продажи, закупки с учетом аналитики.
Поиграем! Наша задача научиться показывать выгоду от аналитики любому человеку, даже тому, кто достаточно далек от этой сферы.
Например, я начну: моя мама — учитель в школе. Можно спарсить олимпиадные задания по разным регионам последних лет и выдавать списки таких заданий для подготовки ее учеников. Ученики побеждают — учитель получает премию. А если бы это была частная школа — тогда я бы предложила построить модель, которая на основании оценок в школе могла предсказать какую сферу выберет потом школьник, где он будет сильнее и успешнее. Повышаем привлекательность школы в глазах будущих учеников.
Подруга работает в производстве и распространении медицинских вебинаров. Можно предложить ей кластеризовать базу клиентов и делать рассылки за счет этого более “умными”.С акциями которые сработают для конкретного кластера.А можно за счет анализа
статей на медицинских порталах — предсказывать тренды и темы для будущих семинаров.
Ее компания растет и опережает конкурентов. Кажется, что это просто игра, но на самом деле возможность находить применение своим знаниям и умениям пригодиться не только на этапе собеседования но и в работе, когда вы будете генерировать гипотезы для роста и развития компании.
Условие задачи
Государство Линейного Распределения представляет собой множество городов, некоторые из которых соединены дорогами.
Однажды королю Государства стало известно, что в его границы собирается вторгнуться Народ Точек Разрыва. Так как Государство не было готово к обороне, король принял нелёгкое решение — разделить Государство на много маленьких, каждое из которых будет самостоятельно защищать свои границы.
Было решено, что два города можно и нужно оставить в одном государстве, если из одного города можно будет добраться во второй, даже если Народ Точек Разрыва захватит одну дорогу между двумя любыми городами Государства Линейного Распределения. Во всех остальных случаях — города должны оказаться в разных государствах.
На каждой дороге, которая будет пересекать границу каких-либо двух новых государств, необходимо поставить бастион. Это нужно на случай, если одно из этих государств будет захвачено Народом Точек Разрыва. Тогда второе сможет продолжать оборонять свои границы. Иными словами, бастион будет поставлен на дороге, которая соединяет города из разных государств.
Король попросил вас дать ему список дорог, на которых необходимо поставить бастионы.
Формат ввода
Первая строка входного файла содержит два натуральных числа
и
— количества городов и дорог в Государстве Линейного Распределения соответственно.
. Следующие m строк содержат описание дорог по одной строке. Дорога номер i описывается двумя натуральными числами
— номерами городов, которые эта дорога соединяет
Формат вывода
Первая строка выходного файла должна содержать одно натуральное число b — количество дорог, на которых необходимо поставить бастионы. На следующей строке выводится b целых чисел — номера дорог, на которых будут установлены бастионы, по возрастанию. Дороги нумеруются с единицы в том порядке, в котором они заданы во входном файле.
Такие условия были даны изначально, в коде решения, который я приведу ниже, ввод производится с клавиатуры, а вывод — в консоль.
Часть 2. первое интервью
Интересный момент, что получилось провести интервью только через неделю, тк то у меня не получалось, то интервьюера. Мы созвонились в зуме, он представился, сказал, что возглавляет отдел аналитики Яндекс.Маркета, начал общение сразу на «ты», позднее мне рекрутер сказал, что в Яндексе так принято.
Интервьюер, назовём его Сергей, рассказал как будет устроено интервью: 10 минут я должен рассказать о себе, потом ТЗ (задача на питоне) и задачи на теорвер.Я вкратце рассказал о себе, своем проекте про алгоритмы кластеризации, которым я занимаюсь в институте.
Он позадавал пару стандартных вопросов из разряда: «Почему Яндекс?», «Какие качества мне стоит развивать?», «Что было моим успехом?» .Далее была ТЗ: вывести список уникальных слов, считываемых из файла. Я код написал, в целом, ему важна была идея и знания синтаксиса. Всё подводные камни я разгадал у этой задачи, но не сразу. Вот сами камни:
Если файл пустой
Английский и русский язык (что будет?)
Отделение знаков препинания
Первые слова в предложении
Сергей сказал (в конце интервью), что я с задачей справился и что были ребята, которые не до всех пунктов могли додуматься(я был польщён). Далее были задачи по теорверу:
Бросаем монетку 10 раз. Какова вероятность, что выпадет 10 орлов? [(1/2)^10]
Бросаем монетку 10 раз. Какова вероятность, что выпадет 9 орлов? [10*(1/2)^10]
В ящике есть 4 вида носков. Носков бесконечно много. Сколько нужно изьятий, чтобы получить пару? [5]
Далее, задача на математику: «У Аркадия много жён. У него есть коллекция кактусов, которые он решил раздать всем жёнам. Первой жёне отдал 1000 кактусов и 10% от остатка. Второй жене 2000 кактусов и 10% от остатка. И так далее… Каждая жена получила поровну.
Сколько жён у Аркадия?Ход решения я тоже рассказал. Чтобы не ждать, пока я посчитаю, он мне сказал, сколько всего было кактусов и я дал ответ. [81000 всего кактусов, 9000 каждой жене]. Последней была задачка на проверку аналитических способностей:20 детям в детском садике задали вопрос: живут ли их родители вместе?
На что 2 ребёнка ответили, что не живут. На следующий день в местной газете выходит статья с заголовком: «10% семей в нашем городе в разводе». Почему данное утверждение неверно? Всего есть 6 ключевых пунктов, до 2х последних я, к сожалению, не додумался:
Дети могут быть из одной семьи
Разный возраст детей, и, соответственно, разные группы, то-то более осознанный, кто-то ещё не понимает вопроса.
Месторасположение садика, может выборка была только в благополучном/неблагополучном районе.
У ребёнка может быть один родитель или у ребёнка может быть мачеха/отчим, отсюда неверные результаты.
Дети врут.
Есть семьи, где дети не ходят в садик.
После этой задачи Сергей рассказал мне как я в целом отвечал и рассказал, чем занимается отдел аналитики.У них есть 2 типа задач:
Визуализация данных, представление менеджерам отчётов, в частности, работа в Tableau, то есть создание дашбордов.
Прогонка данных из одного сервиса в другой
Я позадавал вопросы и Сергей сказал, что назначит через рекрутера ещё одно интервью, где мне подробнее расскажут про задачи.
После интервью создалось приятное впечатление о интервьюере и о возможных задачах и в целом от общения.