TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #384 · 16.06

Сегодня был первый день конференции #DotNext, пока в онлайне (но офлайн тоже будет, в Петербурге 27-го июня, я пойду). Конференция для разработчиков на .NET, в первую очередь C# и связанные технологии. Особенно понравилась лекция про историю C#. Вот ниже схема, где стрелками обозначено влияние одного языка на другой в некоторых аспектах (хотя не во всех: например, Kotlin тоже взаимно повлиял на C#, скажем, датаклассы из него заимствованы, в C# это тип record). Ещё я не знал, что C# создал Андерс Хейлсберг — тот самый, который в своё время сделал Delphi. Это удивительно. Я когда-то начинал свой путь разработки именно с Delphi, сделал на нём много первых шагов. А теперь вот пишу на C# от того же автора, круг замкнулся. Ещё Хейлсберг один из авторов TypeScript: в общем, умеет мужик в языки! В ходе этой лекции было любопытно узнать или вспомнить, как всё-таки плохо во многих других языках с удобством совершенно типовых действий, начиная от обобщённого программирования и заканчивая ленивой обработкой или генерацией бесконечных множеств. Понятно, что человек ко всему привыкает, но переходить на другой язык после C# было бы болезненно, мне кажется. По крайней мере, для энтерпрайз разработки, где важна архитектура и статический анализ. Завтра второй онлайн-день, посмотрим, что будет там.#dev

Hashtags

Резултати

Намерени 869 подобни публикации

Общо глобално търсене

Т-Банк #interview#dev | часть 3 из 3 | (первая, вторая) На самом деле, они объявились не внезапно. Когда я сказал, что, так и быть, несите вашу джаву, кушать то хочется, мне предложили ещё один фит. Сказали, что команда на Kotlin с использованием собственного т-банковского фреймворка Kora. Kotlin мне интереснее, чем голая Java, потому что Kotlin это как раз попытка превратить джаву в C# (об этом говорили сами авторы Котлина на презентации в JetBrains). Должность тимлида. Фит 2 Классический фит, много спрашивали про мои цели и пожелания, как хочу развиваться. Я несколько раз подчеркнул, что хочу уходить не в менеджмент, а в тесную связку с техническими задачами: техлидом, архитектором и так далее. Интервьюер довольно долго пытался объяснить, чем именно занимается команда. Было что-то вроде «уменьшение числа повторных обращений в поддержку, но только в рамках функциональности, которая касается первичного контакта пользователя с банком/приложением». И оказалось, что вообще-то команда мобильных разработчиков, отсюда и Котлин. Наверное, было наивно полагать, что Котлин используют в продакшене на вебе в большой компании (ни разу не встречал). И всё-таки, моя сфера это веб-разработка. Даже фронт более менее могу. Но нативные мобилки это то, с чем я вообще не контактировал никогда. Даже микроконтроллеры или, скажем, игры и то в большей степени попадают в мой опыт, чем мобильные приложения. Тут стало окончательно понятно, что в Т-Банке тимлиды это всё-таки больше менеджеры, именно поэтому технический стек не важен. Зачем собесили на язык, да ещё так подробно, да ещё и занизив оценку за идеальную секцию? Результат Эйчар написал, что команда не слишком поняла мою мотивацию, готов ли я вообще уходить в менеджмент. И предложили ещё одно интервью для корректировки. Тут я уже не выдержал. Это было бы восьмое интервью в Т-Банк. Я сказал, что нет, с меня довольно. Компания потратила пару десятков человеко-часов дорогих специалистов, чтобы меня прособесить, и не может ничего подходящего предложить. Если будет вакансия на .NET, и именно разработчиком, не тимлидом (в том значении, которое у них), то я схожу ещё на последний фит, иначе до свидания. Здесь как раз я узнал, что получаю оффер в 2ГИС, так что отпустил Т-Банк. Но он вернулся за пару дней до, собственно, презентации оффера. Предложили фит разработчиком .NET (не тимлидом, в данном случае это плюс), вакансия с пылу с жару, запускается новый проект. Фит 3 Из всех фитов, наверное, самый прикольный. Наконец-то мне задавали вопросы в духе: «Топ-3 книги по специальности», «Топ-3 книги не по специальности». Я вообще не очень сильно отделяю работу от своей личности, и уверен, что вкусы и увлечения человека в том числе влияют на его профессиональные навыки и поведение, поэтому с удовольствием пообщался на подобные темы. Кстати, мои топ-3 книги по специальности: 1. Эрик Эванс, «Предметно-ориентированное проектирование». Это библия DDD, и с неё по факту началось моё изучение солюшен-архитектуры. 2. Генрих Альтшуллер, книги по ТРИЗ. Разработчик это инженер, а инженеру полезно знать ТРИЗ и применять иногда мышление оттуда. 3. Кит Бургун, «Теория геймдизайна». Фундаментальный взгляд на поведение интерактивных систем, полезно, даже, если вы не делаете игры. Писал о ней вам раньше. Однако, домен, в котором работает команда, оказался с моей точки зрения этически-неоднозначным. А именно система по продаже имущества, которое должники не смогли выкупить из залога. Дело даже не в том, что нужно делать что-то якобы плохое. Просто это как работа в ритуальных услугах: ты постоянно будешь сталкиваться с негативными и болезненными сценариями в жизнях людей. Результат Команда меня одобрила, эйчар написал, что будут готовить оффер. Я напомнил, что у меня скоро выходит срок ответа по офферу от 2ГИС, так что надо поторопиться, чтобы я мог принять взвешенное решение. Договорились на преоффер, чтобы узнать цифры, так как общие условия я в целом знал: в Т-Банке есть премии и индексация, предлагали мне должность сеньор-разработчика .NET в новый проект, домен известен.

2ГИС #interview#dev (UPD: чуть обновил текст, вспомнил еще часть) Отвлечёмся на секунду от Т-Банка, там в реальности была затяжная пауза, я находился в подвешенном состоянии и не понимал, считать ли попытку устроиться туда проваленной или нет. Но параллельно никто не мешал ходить на другие собесы. Увидел вакансию C#-разработчика в 2ГИС. О 2ГИС у меня много приятных воспоминаний. Помню, что был классный продукт, самобытный, и в него я заходил, когда информации в Яндексе не хватало. Со временем Яндекс сократил этот отрыв, задавил брендом и экосистемой. Как оказалось, 2ГИС никуда не делся, и даже растёт: 80 млн пользователей на текущий момент. А ещё карты, как я рассказывал, очень близкий мне домен по пет-проектам и конкурсам. Этап первичной коммуникации с эйчаром пришёлся как раз на время, когда я считал, что завтра у меня будет оффер от Т-Банка. К тому же, эйчар отвечала с очень большими паузами: по несколько дней. Поэтому я, честно говоря, особо ни на что здесь не рассчитывал. Вообще думал, что она в какой-то момент забила на меня. А при первом созвоне честно предупредил, что я нахожусь в состоянии почти получения оффера от другой компании. Ха-ха. Скрининг, к слову, был достаточно подробный, не просто по ключевым словам, а эйчар нормально расспросила об опыте, пожеланиях и так далее. Дальше планировался короткий технический скрининг, большая универсальная техническая секция и итоговый фит с руководителем. Технический скрининг Интервьюер сказал, что был на моем докладе на DotNext, и помнит меня. Круто, уже второй, кто узнал меня, в процессе этих собеседований. В целом он понимал, что я вроде не самозванец, поэтому пробежались с ним довольно быстро, и часть времени я позадавал вопросы о работе в компании. Техническая секция С моей точки зрения это был почти образцовый собес. В одной секции, не продлившейся дольше двух часов, задавали вопросы сразу и по языку, и по БД, и по архитектуре, и даже задачку на алгоритмы. Пожалуй, единственный минус — секция полностью разговорная. Код не писали, схемы не рисовали. Этого очень не хватило, и рассказывать устно алгоритмическое решение было не слишком прикольно. Собственно, думаю, что такой разговорный стиль интервью ухудшил точность оценки хард-скиллов, поэтому я получил senior-. Фит Эйчар, технический руководитель, общая руководительница. Задавали вопросы по опыту, рассказывали про проект и команду. В принципе, ничего необычного. Спросили, чем хочу заниматься, а чем не хочу. Подумал, что самое неприятное в моей работе — дополнять чужой плохо спроектированный (!) код. Дополнять хорошо спроектированный это ок. Рефакторить говно в конфетку тоже ок. А вот если нужно дописать функцию, но рефакторить нельзя — это, конечно, боль. Что понравилось 1. Роль эйчара не номинальная, задавались довольно подробные вопросы по опыту и пожеланиям 2. Собес почти в один ход, при этом спросили всё нужное 3. Интересный самобытный продукт, а сама компания при этом бигтех (2ГИС это контур Сбера) Что не понравилось 1. Коммуникация со стороны эйчара поначалу была с огромными паузами 2. Вся основная секция сугубо разговорная, ей не хватило практических частей 3. В компании нет премий и индексации Результат Эйчар написала, что готовы сделать оффер, отправила анкету службы безопасности. К этому моменту Т-Банк пропал, Mindbox и Uzum отвалились. На фите спрашивали, какая сумма мне интересна, и я сказал, что меньше X вообще не буду рассматривать. Раз после этого пришли с инфой об оффере, то я логично подумал, что предложат как минимум X (так и оказалось). Поэтому ещё до конкретных цифр я уже понимал, что оффер, вероятнее всего, хороший, и был готов сразу его принять. Мне и компания нравится, и собес понравился, и вариантов других не было. Но тут вернулся Т-Банк...

Т-Банк #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 ради геопространственных индексов, и, судя по всему, сразу же получил от него негласный респект. Удалось эффективно решить все проблемы, хорошо выбрать технологии. Никаких подводных камней, секцию прошёл на сеньора без вопросов.

12•••5•••10•••15•••20•••25•••30•••35•••3738394041•••45•••50•••55•••60•••65•••70•••7273