Яндекс выложил в открытый доступ нейросеть YaLM 100B, которая может псевдоразумно отвечать на вопросы и вести беседу. К сожалению, попробовать её лично я не могу, потому что для запуска нужно около 200+ гигабайт видеопамяти, это приличная такая майнинг-ферма. Но по скриншотам она действительно хорошо работает. Хотя про GPT-3 тоже так говорили, а на деле очень так себе.
А ещё неделю назад по сети ходила новость о том, что один из разработчиков в Google пообщался с их нейросетью и увидел в ней признаки разума. Вплоть до того, что нанял юриста защищать интересы нейросети! Его в итоге отправили в оплачиваемый принудительный отпуск, подлечиться, наверное.
Разработчики знают о мысленном эксперименте "Китайская комната", но обывателю он, на мой взгляд, сложен для понимания, поэтому я попробую привести другой пример. Представьте, что у вас есть кубики с буквами, и там набор граней, которые составляют фразу "Привет, человек". Вы эти грани намазали чем-то вкусным и научили вашу собаку переворачивать кубики вкусными гранями вверх в ответ на команду "Привет, собака". В итоге, если вы говорите "Привет, собака", она переворачивает кубики так, чтобы из них сложилось "Привет, человек".
Научилась ли собака при этом говорить на человеческом языке и осознанно отвечать на приветствие? Нет. Нейросеть гораздо глупее собаки (та хотя бы способна именно сознанием различать разные человеческие фразы). Это просто набор алгоритмов, которые складывают кубики, а мы уже на этих кубиках что-то читаем. Чтобы кубики складывались правильно, этих алгоритмов много, и параметров, которыми такая нейросеть оперирует, 100 миллиардов.
Даже очень хороший алгоритм по подбору кубиков не является разумным фактически ни в каком смысле этого слова. Впрочем, это не значит, что он не может решать нужные нам задачи. Такую сетку вполне нормально поставить в условной службе поддержки отбиваться от дурачков, задающих банальные или глупые вопросы.
Что еще посмотреть по теме:
«Теорема о бесконечном количестве обезъян»;
И очень крутой фантастический рассказ Хорхе Луиса Борхеса «Вавилонская библиотека». В Библиотеке точно будет книга, которая станет буквально с вами разговаривать: вы задаёте вопрос (любой), переворачиваете страницу и видите там ответ на него, будто бы от разумного существа.
#dev#fiction
Т-Банк #interview#dev | часть 2 из 3 (первая)
В предыдущих сериях: наш герой получил оффер от Ozon и отклонил его. Ещё были сравнительно неудачные серии интервью в Magnit Tech, Mindbox, Uzum. Однако, приобретённый опыт позволил очень круто пройти секции на тимлида в Т-Банк, куда герой и стремился. Получив грейд, он ждал заветного сообщения от эйчара. Т-Банку оставалось лишь найти вакансию внутри и провести фит...
...Но вакансий по нужному стеку не оказалось. Совсем. Эйчар ещё раз уточнил, хочу ли я перейти на джаву, потому что по джаве вроде как были. Я сказал, что не хочу. Через пару дней он предложил мне провести фит с руководительницей одной из команд отдела по работе с заявками юзеров в поддержку, но сразу предупредил, что не по моему стеку.
Фит 1
Очень бойкая руководительница, много спрашивала про опыт управления. Фактически, фит был похож на менеджерскую секцию, только более сжатую и с вопросами от меня. Команда оказалась фронтовой. Окей, у меня есть опыт фронта (хоть и не на Реакте, но догнать я бы смог, пожалуй). Занималась команда веб-приложением Т-Банка, которое с 2022 года стало кратно более популярным у любителей одной пафосной «just works» экосистемы.
Результат
Мне показалось, что нужен скорее менеджер, чем технарь, но я всё равно дал согласие. После встречи эйчар мне написал, что руководительница тоже ок. Ну всё, оффер?
Нет, утром следующего дня он снова мне написал, что она свой ок отозвала. Причины не объяснили.
Других вакансий не было. Эйчар предложил мне пройти ещё две секции: алгоритмическую и «архитектурную», и попробоваться на техлида. Я снова воодушевился. Алгоритмы я знаю, по архитектуре опыта тоже полно. Поехали.
Алгоритмическая секция
Код писать нужно было в местном редакторе без подсказок и автокомплита. Но можно было глянуть в документацию языка, я разок глянул. Две задачи решил целиком, для третьей придумал всё решение и написал 80% кода до того, как час закончился.
Задача 1
Два массива интов, могут быть разной длины. Отсортированы по возрастанию. Вывести объединение без дублей, сохранив сортировку и использовав константу дополнительной памяти.
Моё решение не сохранилось, но вот вам более красивое синтаксически, но точно такое же по смыслу решение Димы Тюрникова: MergeSortedLists. Сложность по времени: линейная.
Задача 2
У Пети сломалась клавиатура. Когда он вводит b, то вместо этого стирается последняя введенная строчная буква. Когда вводит B (большая английская бэ), то стирается последняя введенная заглавная буква. Остальные работают нормально. Дана строка из больших и маленьких английских букв, показывающая последовательность нажатия клавиш. Нужно вывести, что будет введено по факту.
Вот тоже код Димы, изменённый с учётом моего решения. То есть моё совершенно такое же: BrokenKeyboard. Сложность по времени: линейная, по памяти: линейная.
Задача 3
Дан массив неотрицательных интов. Нужно найти непрерывный подмассив с наибольшей суммой элементов такой, в котором не более двух разных типов чисел. И вывести сумму. Например можно [10,10,5,5] тут всего два типа чисел: десятка и пятерка.
Моё решение: MaxSubarraySum. Решение Димы с другим подходом: ArrayFound. И там и там сложность по времени: линейная, по памяти: константа.
«Архитектурная» секция
Пишу в кавычках, потому что, к моему ужасу, оказалось, что они так называют вторую менеджерскую секцию. Я не понимаю, почему. Вопросов по настоящей архитектуре не задавали. Поскольку систем-дизайн я уже прошёл раньше, то здесь ожидал, что будет солюшен архитектура: DDD, паттерны, low coupling / high cohesion и так далее. Эти темы я знаю хорошо, даже преподавал их студентам, поэтому был уверен, что пройду. Но это оказалась менеджерская беседа, прошёл я её предсказуемо ровно так же, как предыдущую менеджерскую: на junior+.
Т-Банк #interview#dev | часть 1 из 3
Компания, в которую я целился с самого начала. Если в другие места я иногда проходил собесы либо для тренировки, либо для получения запасных офферов, то сюда я сразу решил, что хочу попасть. Подался через знакомство. Система у них такая: собесят не на конкретную вакансию, а на должность, а потом ищут вакансию внутри. На должность тимлида надо было пройти: менеджмент, любой язык, систем дизайн, фит с руководителем и командой.
На скрининге эйчар спросил меня, готов ли я перейти на джаву. Запомните этот момент, я ответил, что не готов, и хотел бы оставаться в рамках привычного мне стека.
Перед каждой секцией эйчар высылал страницу со ссылками и рекомендациями, как готовиться, это сразу плюс. Там чаще всего были названия книг и ссылки на видеоролики с мок-собеседованиями.
Менеджмент
Опять же, я не понимаю, как его оценивать, и какой вопрос можно задать, чтобы отличить сеньор-менеджера от мидл-менеджера. Но, возможно, я как раз и не понимаю, потому что я не менеджер. В целом интервью прошло приятно, собеседующий поспрашивал про мой опыт, предложил решить некоторые кейсы. В процессе он намекнул, что тимлид, скорее всего, сам код писать не будет совсем, что меня не очень обрадовало.
Позже я узнал, что прошёл секцию на junior+. Не знаю, хорошо или плохо, вообще не понимаю, как сравнивать менеджеров, но для тимлида этого у них хватает. Ещё из Т-Банка после каждой секции поступала достаточно подробная обратная связь с рекомендациями литературы. Круто, нигде такого не было. Я был воодушевлён после этой секции и сразу купил книгу, которую посоветовали по результатам.
Языковая секция
По структуре точно такая же, как в Ozon: показывают на экране задачи, нужно решить, пишешь код сам, параллельно обсуждаете. Тут я блистал, потому что был очень хорошо готов. Я за секунды щёлкал все типовые вопросы, предугадывал уточнения интервьюера, пускался в неожиданную глубину устройства языка... Задача по SQL попалась в точности такая же, как в Ozon. Если помните, там я на ней затупил, но позже я конечно же обсудил все наилучшие варианты решения с DeepSeek и попробовал сам. Поэтому к некоторому удивлению интервьюера я лихо применил оконную функцию, вслух проговорив альтернативные способы. Кстати, здесь, в отличие от Озона, SQL-код можно было запускать и смотреть результат промежуточного запроса, это важный положительный аспект. Одна из задач была такая же, как в мок-интервью на ютубе, поэтому её я тоже знал. Потом буквально на полминуты притормозил на работе замыканий, но в итоге тоже дал верный ответ.
По собственным ощущениям я прошёл секцию идеально. Слишком идеально для человека. Слишком быстро и безошибочно на всё отвечал. Боялся, что подумают, будто бы мне подсказывал ИИ. В качестве обратной связи получил рекомендацию перечитать Рихтера, что тоже хороший знак: если тебе из рекомендаций советуют только адски задротную низкоуровневую литературу, значит, на всё более человеческое ты ответил прекрасно.
Много позже я узнал, что мне засчитали middle+. Что??? Я даже предложил эйчару совместно с каким-нибудь крупным техлидом пересмотреть запись собеса, настолько был поражён. Но в целом, это не очень важно, потому что общий грейд к тому моменту по всем секциям у меня был сеньорный. Просто непонятно и обидно.
System Design
Секция с самого начала пошла очень хорошо. Знакомый мне по пет-проектам и конкурсам домен: отслеживание курьеров на карте. Никаких абсурдных требований типа миллиарда запросов в секунду. Я с первых минут обсудил с интервьюером использование MongoDB ради геопространственных индексов, и, судя по всему, сразу же получил от него негласный респект. Удалось эффективно решить все проблемы, хорошо выбрать технологии. Никаких подводных камней, секцию прошёл на сеньора без вопросов.
На самом деле у меня для вас осталось всего две истории про #interview, но одна из них такая длинная, что я её разобью на две части. Завтра начну, а пока что интерлюдия: куда ещё подавался и как.
Т1 Иннотех
Интегратор, но с постоянными крупными клиентами типа Газпрома. Очень красивые сайты, хорошо оформленные вакансии. На DotNext пару лет назад я выиграл у них на стенде носки. Хорошие носки, долго носил, собственно поэтому и вспомнил про компанию.
Форма на сайте не позволила приложить файл с резюме. Написал на эйчарную (!) почту, там сказали подаваться через форму. Вакансия вскоре исчезла, в людях особо не заинтересованы, я не стал продолжать.
Авито
Подался через знакомство. Пришли с вакансией абсолютно мимо, что-то типа «Менеджер по техподдержке». Эйчар явно хотела просто хоть как-то ответить на резюме, раз ей его закинули, но не читала.
Я сказал, что я шарпист. Ответили, что шарписты не нужны, потому что переходят на Go. Предложили пройти собес на шарписта и переучиться на Go внутри. Интересный вариант, но я к тому моменту только начинал поиски, поэтому отказался. Go — унылейший язык, но платят за него много, может когда-то и перейду.
Северсталь
После Росатома первое время очень хотел снова в какую-то такую отрасль, чтобы заниматься промышленностью. Увидел вакансию .NET-сеньора. По всем ключевым пунктам идеально подходил, плюс есть опыт в смежной отрасли. Подался через почту на сайте, получил ответ, что не подхожу. Скорее всего, ответ автоматический, а на деле либо остановлен найм, либо ленивый эйчар.
Альфа-Банк
Полный игнор даже после подачи резюме через знакомства по программе реферралов.
Газпром
Через знакомства меня куда-то в подрядчиков закинули, но никакого эффекта это не возымело вообще.
Nedra Digital
Цифровизация бурения нефтяных скважин. На сайте и на hh очень пасофно расписано, как они ищут людей, но на самом деле не ищут. Полный игнор.
Lamoda Tech
Подавался через hh. Любопытно, что в вакансии были дополнительные пункты, которые обычно у разработчиков отсутствуют, а я по ним подходил: опыт программирования электроники, умение работать с Blazor, работа с промышленным оборудованием и т.д.
Игнор. Позже оказалось, вакансию забыли удалить.
Positive Technologies
Компания-разработчик систем компьютерной безопасности. Полный игнор.
Астра
Те, которые делают импортозамещение. Вакансия по моему стеку, подался через hh, полный игнор.
Касперский
Во всех выборках мне постоянно подсовывались вакансии Касперского. Но в прошлом году туда ушёл мой бывший начальник и, как я слышал, остался там. Руководитель он, на мой личный взгляд, крайне сомнительный, совершенно не хотелось бы снова с ним работать, поэтому я даже подаваться не стал.
______
В итоге я подался в 15 компаний. Из них от 9 был хоть какой-то отклик (60% от всех, считаю очень хорошим показателем). И в 6 были собеседования (40% от всех).
#dev
Uzum #interview#dev
Вышли на меня сами через бывших коллег, которые теперь там работают. Вакансия тимлида на Java (ага).
Uzum — это такой Яндекс/Ozon в Узбекистане. Бывшие выходцы из Сбера и Яндекса в 2022 году пришли в Узбекистан и обнаружили, что там огромный, но совершенно пустой рынок с точки зрения крутых удобных цифровых сервисов, к каким мы привыкли в России. Голубой океан, как говорят. Естественно, получили лавинообразный рост, который, как я понял, идёт до сих пор. Активно хантят новых людей, в том числе из России.
В основном устроиться туда можно через регистрацию налогового резидентства в Узбекистане. Зарплату получать в долларах (в настоящее время не ясно, плюс это или минус). А дальше уже сам решаешь, как передавать себе деньги в Россию: есть легальные, но запарные способы.
Секции на лида такие:
1. Общение с техлидом / скрининг
2. Языковая секция
3. System Design
4. Менеджмент
5. Финалка и фит с руководством, на который заглядывает CTO
На скрининге техлид сказал, что помнит меня по Цифровому Прорыву 2019 (приятно). Обсудили проекты, компанию. Я сказал, что я шарпист, а не джавист. Поскольку провести языковую секцию по шарпу у них некому, решили вообще её пропустить. Как я понял, тимлид здесь выполняет технические функции опосредованно, поэтому опыт в языке нужен, но не обязательно ровно в том, на котором пишет команда. Тем более, на джаве я всё-таки чуть-чуть кодил, просто после шарпа возвращаться на неё это как пересесть на старую Ладу с новенькой иномарки: вроде ездит, но уже давно привык к другому уровню комфорта.
System Design
Нужно было встроить функцию в существующую систему. Два сервиса отвечают медленно, а поверх них требовалось спроектировать ещё один сервис, который отвечает теми же данными быстро. Вообще, в таких условиях способа всего два: подделывать данные или накапливать. Кажется, интервьюеру не сильно было важно, как именно я думаю, и какими элементами из собственного опыта пользуюсь. Когда я размышлял вслух над вариантами решения той или иной проблемы, у меня было впечатление, что интервьюер оценивает факт такого размышления отрицательно, ожидая более быстрый шаблонный ответ.
Ещё проблем добавило то, что существующую систему никак нельзя было менять. Нельзя было добавлять нужные события к существующим сервисам, нельзя было обогащать атрибутивный состав и обновлять контракты. Но с горем пополам сошлись на чём-то, хотя послевкусие от секции осталось так себе.
Менеджмент
Вообще, я очень сильно не люблю менеджерские секции, потому что эта область не детерминирована. Окей, существуют какие-то конкретные методологии и некое подобие теории поверх деятельности по управлению процессами, но незнание этих методологий абсолютно ничего не говорит о способности человека вести команду. Как и знание.
В целом, когда интервьюер третий раз задал один и тот же вопрос, я понял, что секцию мне не зачтут, потому что я не понимаю, что именно хотят от меня услышать. Было примерно так:
Интервьюер:
— Как ты понимаешь, работает ли команда хорошо или нет?
Я:
— Во-первых, я смотрю на скорость и качество результата их работы. Эти показатели противоречат друг другу, поэтому нужно обращать внимание на баланс. Во-вторых, смотрю, как много дополнительного ручного управления требует команда, как часто нужно подключаться, чтобы решить какую-то проблему внутри.
Интервьюер:
— Окей. И всё-таки, как ты понимаешь, что команда перформит?
Я:
— Эээ, ну я уже сказал. Скорость, качество, самостоятельность.
Интервьюер:
— Да, я понял, но как всё-таки понять, нормально команда работает или нет?
Ещё я закладывал на секцию час, а потом увидел в приглашении, что планировалось полтора. У меня был следом другой собес, поэтому я честно сказал, что есть всего час (это было где-то через 40 минут после начала интервью, я заметил накладку не сразу). Поскольку интервьюер к этому моменту уже повторял одни и те же вопросы по кругу, я был уверен, что ещё полчаса нам в любом случае не нужны.
Mindbox #interview#dev
Вакансия тимлида .NET, откликнулся через hh, единственная вакансия, где был указан доход: до 500 на руки.
Mindbox — это крупнейший в России софт для автоматизации маркетинга. Среди клиентов известные торговые сети и бренды (Комус, Петрович, Делимобиль, Афиша, даже бигтех, например Сбер Еаптека и Мегафон). Когда я готовился к другим собеседованиям, в моём пуле был очень хороший доклад по микросервисной среде от сотрудника Mindbox с конференции DotNext. В общем, не стартап-однодневка, а вполне серьёзная организация, просто известная больше в бизнесовых, а не потребительских кругах.
А ещё Mindbox — это «бирюзовая» компания. С этим термином я столкнулся впервые. Таким способом называют компании, у которых внутренняя организационная структура отвергает классические подходы с жёсткой иерархией и согласованиями. Теоретически любой человек может принять любое решение, если готов за это решение отвечать. Прозрачность зарплат внутри — все знают, кто сколько зарабатывает. Многие вопросы решаются голосованием, системой вето, дебатами с аргументацией. Принято давать не анонимную обратную связь коллегам, и в компании специально обучают, как это делать так, чтобы тебе в челюсть не прилетело человека такая обратная связь развивала, а не обижала.
Короче, мечта зумера. Как в современных смешных роликах, где вчерашние школьники на звонке говорят что-то типа «Сегодня я не в ресурсе работать, пойду выпью лавандовый раф и помедитирую».
Давайте честно скажу: я сам не верю, что такая структура работает. Но, во-первых, как-то всё-таки она работает. Организация успешно функционирует, ребята делятся интересными технологиями, доходы есть. И Mindbox не единственная «бирюзовая» компания в России, на самом деле их довольно много: ВкусВилл, Буше, Qiwi, Точка итд. Во-вторых, я уверен, что есть подводные камни, но выявить их с помощью вопросов на собеседованиях у меня не получилось.
Например, с моей точки зрения при открытости зарплат всегда будут люди, которые считают, что кто-то с более высоким доходом на самом деле менее компетентен и получает такой доход незаслуженно. И даже в ряде случаев эти люди будут правы. Это создаёт негативное эмоциональное напряжение. Хуже открытой неприязни только скрытая: когда человек в лицо мило с тобой общается, а потом в кулуарах будет тебя поливать грязью. Но, когда я спросил на собеседовании, как они справляются с такого рода конфликтами, мне ответили, что у них так не бывает.
Система повышения зарплаты тоже голосованием: на некотором внутреннем портале ты публикуешь свои достижения и желаемую новую цифру, а люди апрувят или нет. Вот тут уже, как я понял, не все подряд апрувят, а, условно, руководители. То есть, иерархия всё-таки есть в разрезе количества власти и влияния на компанию и людей в ней. Да и в других голосованиях у разных сотрудников разные веса.
Должно было быть три секции:
1. Скрининг с эйчаром и обсуждение моих пожеланий
2. Встреча с техлидом, решение технической задачи, вопросы от меня по команде и продукту
3. Финальная встреча, фит, софтскиллы
На скрининге действительно больше, чем в других местах, интересовались моими пожеланиями. Не только по зарплате, но и, например, с задачами какого типа я люблю работать.
Основная секция
Начинается с моих вопросов команде. Тут как раз я больше спрашивал про оргструктуру, чем про проект. Затем дали задачу: элементарный обход дерева. Я спросил, нужен ли им обход в ширину или в глубину, ответили, что не важно. И ещё момент — разрешили пользоваться гуглом, нейросетями (!), и даже не шарить экран на время решения (я всё-таки пошарил). Ну, то есть, идея была такая: в настоящей работе мы всё-таки сидим с гуглом, нейронками и без надзора, поэтому вот решай в условиях, приближенных к естественным. Не понимаю, что именно оценивалось, и кто мог с такими вводными не решить. Хотя потом эйчар сказала, что некоторые кандидаты решают по 50 минут (я написал за 10 на yield'ах). Когда смотрели решение, поспрашивали совсем чуть-чуть по простым вещам. И погоняли по кейсам из моего тимлидского опыта по системе STAR (situation, task, action, result).
Magnit Tech #interview#dev
Что? Да. У сети магазинов «Магнит» внезапно большой современный технический отдел. В обслуживании парка из 30к магазинов без развитого айти никуда. Увидел вакансию тимлида .NET, и там прямо очень похоже на то, чем я занимался в АСЭ: электронный документооборот, BPMN-системы, интеграционные потоки. А ещё можно было бы всем говорить, что работаю в Магните.
Скрининг показался чуть менее номинальным, чем в Ozon. Вообще, роль эйчаров тут была более глубокая, и эйчар присутствовала на всех секциях. Изначально должна была быть одна большая общая секция, но в итоге оказалось две.
Общая техническая и архитектурная секция
В целом, явно видна попытка провести собеседование одностадийно (с моей точки зрения это плюс). Была эйчар, старший разработчик и техлид/архитектор. Эйчар задавала вопросы по опыту и по менеджменту. Затем вступил техлид.
Вопросы местами были странными, и почти на каждый вопрос после моего ответа техлид отвечал ещё и сам. Иногда вопрос казался заковыристым, но ожидался на деле какой-то совсем школьный ответ, например:
Интервьюер:
— Скажите, а кроме EntityFramework, какие вы ещё знаете средства взаимодействия с БД?
Я (тут я подумал, что он интересуется альтернативными ORM):
— Dapper пробовали один раз, в некоторых случаях он вполне удобен, работа чуть более низкоуровневая. Ещё активно изучал Linq2Db, потенциально выглядит очень интересно, но на практике так и не удалось применить.
Интервьюер:
— На самом деле можно ещё и просто писать SQL-запросы!
И далее он пару минут рассказывает, почему SQL-запросы лучше, чем ORM. Не «чем лучше», а именно «почему лучше», то есть защищая позицию полного отказа от ORM в любых условиях. Позже в другом вопросе он защищал отказ от строгих типов при десериализации, что на мой взгляд является признаком не выстроенных процессов по согласованию контрактов.
Пару раз спросили про вещи, о которых я никогда раньше не слышал. А после собеса полез искать, и узнал, что это давным-давно deprecated. Зачем про это спрашивали? Либо просто прозондировать мой опыт (то есть, писал ли я на .NET Framework 20 лет назад), либо у них где-то используется. Второе гораздо хуже, но и первое не слишком осмысленно, на мой взгляд.
Языковая секция
Далее эйчар написала, что они совсем забыли задать мне вопросы по языку, и предложила ещё один небольшой созвон на 40 минут. В итоге вышла почти часовая полноценная языковая секция. Вопросы в основном ожидаемые, но пара странных тоже была. Если в Ozon гоняли по глубоко академической теории, то здесь иногда цеплялись за какие-то невероятно нишевые примеры использования, которые в опыт к программисту могут попасть только случайно. Из-за этого у меня осталось послевкусие, что прошёл я средненько.
Результат
Ещё через пару дней эйчар написала, что всё очень хорошо, я понравился, но, к сожалению, у них сотрудник изнутри пожелал вырасти до тимлида, и они отдали предпочтение ему. Ну, бывает. Странно, что в момент открытия вакансии этот вопрос не проработали явно с собственным же персоналом. По крайней мере это собеседование не отняло много времени и дало любопытный опыт, так что я не расстроился.
Что понравилось:
1. Роль эйчара более активная и глубокая
2. Мало стадий, в норме вообще одна
Что не понравилось:
1. Интервьюер слишком много времени посвятил тому, чтобы защищать свои собственные решения, которые он принял в компании
2. Есть признаки работы с легаси, и в целом не слишком современных технических подходов, но могу ошибаться
И так, Ozon Tech. #interview#dev
Наверное, первая крупная организация, которая приходит на ум, когда думаешь о работе для C#-программиста. В Озоне и правда очень много всего на шарпе. У нас туда уходили разработчики из дирекции, но и обратный случай был (когда разработчик перешёл в АСЭ из Озона). Так что у меня была одной из первых, куда я подался. Но подавался через знакомства. Хотя, я думаю, что и при обычном отклике по общим каналам мне бы написали. Эйчар отвечала быстро и охотно, но скрининг был скорее номинальным, просто по ключевым технологиям: .NET, PostgreSQL, Kafka итд.
А теперь важный дисклеймер: это первый раз в жизни, когда я пошёл на собеседование, как соискатель. И вообще, резюме я оформил вот только в мае этого года. До АСЭ я много лет работал на аутсорсе, а в АСЭ устроился по приглашению после хакатона, собеседования не было. Так что уже тимлидом я проводил собеседования, но сам их не проходил.
К сожалению, навык прохождения собеседований соотносится с настоящим умением работать программистом очень ортогонально. Я распишу своё мнение по современным процессам найма как-нибудь потом, но достаточно сказать, что для подготовки я в течение двух недель читал книжки и общался с DeepSeek, и без этой подготовки я бы собеседования нигде не прошёл. Хотя, разумеется, двухнедельное чтение книжек не сделали меня ни на йоту лучшим разработчиком, не добавили мне опыта и умений.
После первичного скрининга в Озоне три секции: технический скрининг, большая техническая секция и system design с небольшим фитом в конце (фит это общение с руководителем на предмет того, совпадаете ли вы).
Технический скрининг
Чисто разговорная секция на 40-50 минут. Интервьюер один. Задаёт вопросы общего плана по языку, структурам данных, многопоточности. Ничего неожиданного нет. Я шёл на ведущего разработчика C# (это тимлид), так что нужно быть готовым рассказывать про поколения сборщика мусора и особенности работы IO-bound операций в асинхронном контексте. Секция сугубо академически-теоретическая. Кроме языка была пара вопросов по энтерпрайз-архитектуре и по базам данных, но без копания вглубь.
С моей точки зрения для скрининга всё равно секция чрезмерно подробная, и позже на большой технической секции часть тем повторилась.
Большая техническая секция
Два интервьюера, два часа. Задачи по коду, но не на алгоритмы, а скорее на решение конкретных кейсов. Например, нужно параллельно читать из кэша и из БД (если в кэше нет), как это написать максимально эффективно. Дан шаблон, который нужно заполнить. Параллельно задавали вопросы по теории.
Одна задача по SQL (я решил только с подсказкой). Вообще с чистым SQL в современном энтерпрайзе работают мало и редко. Когда дошли до этой задачи, я честно сказал собеседующим: «В реальной работе, получив такую задачу, я бы изучил документацию по средствам СУБД, которые позволили бы мне её решить, и погонял бы тестовые запросы на предмет правильности и оптимальности». По моим ощущениям, им этот ответ не понравился, и в целом мне показалось, что оценили мои навыки в этой части низко.
И в конце кусочек код-ревью. Когда я сам проводил собеседования, это была моя любимая часть, потому что наш пример кода на ревью содержал сразу большой пласт разнообразных проблем: инъекции, ошибки асинхронности, освобождение неуправляемых ресурсов, безопасность итд. Сразу было видно, с чем человек часто сталкивался, а с чем редко.
Здесь на ревью я стал давать комментарии по кодстайлу, за которым, как тимлид, тоже регулярно следил. Но меня попросили сосредоточиться на проблемах другого рода, и по сути весь код крутился вокруг неверного использования lock. Я увидел эту проблему, предложил решение, но не смог глубоко объяснить, какими особенностями поведения среды выполнения вызвана эта проблема.
Понижение должности
Через пару дней эйчар написала, что на ведущего разработчика (тимлида) они не готовы меня рассмотреть, но готовы на старшего (сеньора). Запомните этот момент. Я согласился. На мой вопрос о том, ниже ли вилка, она ответить не смогла, и сказала, что обсуждать нужно с руководителем.
"A Change of Heart"
Describe a bitter, solitary individual experiencing an unexpected act of kindness. How does this change their perspective on life?
Example:
The moonlight seeped into his musty attic room, amplifying his loneliness. His heart, a stone locket filled with past resentments, was hardened further in the cold December night. At dawn, when the neighborhood kids snuck in to leave a Christmas present by his door, he discovered a warmth spreading through his chest he had long forgotten - the heart melting warmth of love and gratitude.
#CreativeWriting#Fiction#Poetry
Sharing is caring 🔥@WritersCafe
@Chatbotcreatorbot
Qué puede hacer este bot?
Con este bot puedes crear tus propios Telegram Chatbots o usar plantillas existentes. No se requieren habilidades de codificación.
Idioma: Inglés
(visto en @BotsGram_cu)
#create, #chat, #development, #dev, #botbuilding