Разбор задач с собеседования на 120 тысяч рублей, которые при подготовке решит даже школьник
В одном из прошлых постов я писал алгоритм, как без опыта работы и высшего образования устроиться на работу на 120К+ после 6 месяцев обучения. В этом посте расскажу про свой первый опыт использования этого метода.
Август 2021 года. К этому моменту я уже прошел базовые курсы, проходил собеседования и пытался получить зп в 80К (не подозревая, сколько я должен получать).
Откликался везде, но откликов либо не было, либо мне предлагали идиотские тестовые задания, которые я старательно делал, а их потом никто не проверял. В какой-то момент меня это выбесило, принял решение “улучшить” резюме - нашел друга, который работал джуном аналитиком, написал резюме как у него, у него поспрашивал что он делал и решил говорить то же самое от своего лица (плюс был опыт 2 мес работы в стартапе в самом начале, что-то я уже понимал).
Первый опыт оказался очень успешным.
В первый же день нового резюме получил кучу откликов. Впервые в личные сообщения мне написала девушка HR - потом набрала и сразу позвала на очное собеседование в компанию с руководителем компании, назовем ее Alpha Bet (букмекерская компания).
Прихожу - меня приветливо встречает руководитель, молодой приятный коллектив из красивых девушек, садятся вокруг меня, собираются проводить интервью. Подождите. До этого меня посылали подальше и давали тестовые, которые никто не проверял. А тут сразу собеседование с руководителем? Неплохое начало.
Вначале вкратце рассказ свою легенду - учился на матфаке ВШЭ, 10 месяцев опыта работы в стартапе, составлял дешборды, писал sql запросы, до этого работал репетитором.. легенда выглядела правдоподобно и типично, поэтому вопросов к ней почти не возникло.
Первое задание было связано с SQL. Представьте, что у вас есть таблица сотрудников некой компании.
В таблицах указаны данные сотрудников. NULL означает что информации нет, в случае Ивана Петрова - что у него нет менеджера либо информация неизвестна.
Эта таблица с заданиями довольно популярна в интернете, ее часто дают на собеседованиях, поэтому никакой коммерческой тайны тут не раскрою. В чем же были задания?
Было 5 задач, решения на которых надо было написать на бумаге.
- Выведите среднюю зарплату по каждому отделу
- Напишите запрос, который возвращает имя менеджера с максимальной зарплатой в каждом отделе.
- Выведите имена сотрудников, которые получают минимальную зарплату в своем отделе.
- Выведите имена сотрудников, которые получают зарплату выше средней по их отделу.
- Выведите имена менеджеров, у которых более 1 сотрудника в подчинении.
Все они примерно однотипны, поэтому разберем одну из них.
Выведите имена сотрудников, которые получают зарплату выше средней по их отделу.
Как ее решить руками, если таблица маленькая? Вроде бы это очевидно. Посчитать среднюю зарплату в каждом отделе, сравнить с зарплатой сотрудника, выписать ответ. Интуитивно понятно и справится даже школьник. Задача состоит в том, чтобы написать SQL-запрос, который это делает и сможет обработать сразу большую таблицу - скажем, из 1000 строк, которую вручную обрабатывать будет очень долго.
Сначала можно создать временную таблицу средних зарплат по отделам.
select department_id, avg(salary) as avg_salary
from employees
group by department_id
Это называется группировка (GROUP BY) - получится такая таблица
Теперь присоединим эту таблицу к изначальной с помощью операции JOIN.
with average_salaries as
(select department_id, avg(salary) as avg_salary
from employees
group by department_id)
select a.*, b.avg_salary as average_department_salary
from employees a
left join average_salaries b on a.department_id = b.department_id
Что он делает? Для каждого сотрудника, например для Ивана Петрова, мы смотрим его номер департамента (1), потом идем в таблицу средних зарплат, получаем значение 96 тысяч, и записываем его в новый столбец. Код это автоматизирует.
Теперь осталось лишь выбрать те строки, которые нам подходят.
select name
from (предыдущая таблица)
where salary > average_department_salary
Интуитивно понятное решение. В экселе эта функция называется ВПН, тут JOIN. Высшей математики нет. Правда, эти запросы надо написать на бумаге и без подсказок, и иметь достаточный опыт написания таких запросов, чтобы написать их без ошибок, которые у новичков могут часто случаться. Но этот опыт легко наработать за пару месяцев.
Когда я написал решения тех 5 задач, мне сказали, что мной очень впечатлены и мое решение точно попало в топ-5 из тех кто проходил собеседования. Хотя я всего лишь прошел базовый курс по этому языку и походил на собеседования, где набрался опыта решения задач.
После этой задали еще одну простую задачу на знание самых основ теории вероятностей и математического ожидания.
Есть три футбольные команды А, В и С. Коэффициенты на победу команды А - 2.0, В - 3.0 и С - 4.0. На какую команду лучше сделать ставку, если вероятность победы команды А равна 0.6, В - 0.3 и С - 0.2?
Для решения надо рассчитать математическое ожидание выигрыша каждого варианта. Допустим, мы ставим 1000р, в таком случае
1) В 60% случаев побеждает команда А, значит мат ожидание = 1000 (сумма ставки)*2(коэффициент в случае победы)*0.6(вероятность победы) - 1000 (сумма ставки).
Итого получаем 1200 - 1000 = 200р мат ожидание.
Аналогично считаем для команд В и С
2) Для команды В мат ожидание ставки = -100р
3) Для команды С мат ожидание ставки = -200р
Значит, лучше поставить на команду А.
После решения этих задач, казалось бы очень простых, мне сказали что моими ответами очень впечатлены, я вообще им сильно понравился и они готовы меня брать. Сделали оффер на 100 тысяч рублей на испытательный срок, с повышением потом до 120 тысяч на руки.
Так вышло, что в итоге я туда не пошел. С моим новым резюме мне стали сыпаться новые приглашения на интервью, и буквально в тот же день мне провели еще одно собеседование, где предложили чуть больше и я пошел туда.
Мой курс аналитики https://teletype.in/@timuranalytics/wautKFjLpOE
Канал по аналитике в телеграм - https://t.me/+wOCTSBfbsooyZDBi