Внутреннее интервью на переход в другую команду

Я работаю в одной и той команде над одним и тем же модулем уже 6 лет и пришло время что-то менять в моей жизни и двигаться дальше, работать над чем-то новым. Я попросился перевести меня в команду, которая занимается архитектурой и мне сказали, что я должен буду пройти тест. Нефига себе, сказал я себе. Я работаю в компании не первый день, но несмотря на это мне предлагают пройти еще одно интервью только потому, что я хочу поменять команду? 

Ну ладно, подумал я, нужно соглашаться, потому что оставаться в этой команде – заниматься тем же самым и совершенно не расти. Для роста необходимо менять компании, а мне компанию особо менять не хотелось, потому что меня тут все устраивает, но все же хочется расти, и смена команды внутри компании может стать пинком под зад. 

И вот вчера у меня было интервью с представителями архитектуры. Меня интервьюировали два человека, которые раньше работали в Google и Microsoft. Блин, такого хорошего интервью у меня не было уже давно. У меня на канале есть видео с самыми провальными интервью, которые у меня были и вчерашнее было полной противоположностью. Оно было сложнее, если говорить с тем, что я проходил, когда сам попал в текущую компанию. Оно сложнее, если смотреть на то, как мы нанимаем программистов в свою команду. Но каждый вопрос, который мне задавали был в точку. 

Сначала меня попросили рассказать какую-то архитектуру на мой выбор, и я рассказал про то, как мы работали с Sony и как мы запускали код в распределенное окружение. Это хорошо, потому что это стало как бы дало мне уверенность говорить на темы, которые я хорошо знаю, с чем у меня был опыт и как бы пошел разговор. 

Потом погоняли по теории и спрашивали классические вопросы по управлению памятью в .NET, почему даже в управляемой среде нам нужно следить за памятью и могут ли быть проблемы. Почти все теоретические вопросы так или иначе были связаны с памятью. Каждый вопрос четкий и понятный, 

Третья часть – мне показали код, и я должен был рассказать, какие косяки я в нем вижу, так сказать Review Code и тут тоже в коде были такие косяки, которые реально полезно видеть и нужно понимать, почему они являются именно косяками. 

Последний вопрос – кодинг. Я загрузил онлайн dotnetfiddle и мне описали вопрос на алгоритмы. Наверно не самый популярный вопрос, но все же явно из книжки по алгоритмам, я его где-то уже видел, но ни разу не решал этой задачи, а тут у нас остается всего 20 минут до конца интервью, а мне нужно придумать решение для задачи, которую я до этого не решал. 

У меня началась паника. Только на неделе я хотел записать видео на тему, что глупо проводить интервью с алгоритмами, потому что очень много программистов, которые умеют хорошо писать код, которые хорошо умеют решать задачи в спокойной обстановке, но могут облажаться под давлением того, что на него смотрят. Поэтому в моей текущей команде вопрос на алгоритмы самый банальный и мы нанимаем даже тех, кто находит не самое оптимальное решение. Скажу так, самое оптимальное решение на тесте пока никто не написал и это нормально для нас. Главное понять, как человек думает. 

Надеюсь, что этим ребятам нужно то же самое – как я размышляю, как я хотя бы пытаюсь решить задачу. Я собрался с силами и начал писать. Описал метод, который получает входные данные, которые мне сказали. Написал вызов этого метода и тут же забыл, в каком namespace находятся коллекции C#. Написал using System и не помню, что писать дальше, чтобы заработал List, потому что паника в голове из-за отсутствия решения. Было бы обидно облажаться. 

Я набил простых входных данных и начал обсуждать самый ужасный способ решения задачи. Просто описал его словами, но конечно же реализовывать не стал, потому что уже оставалось 15 минут. 

Я начал думать, а что если мы отсортируем данные пойдем решать проблему с обоих сторон с рекурсией. Теоретически результат можно будет найти даже в половину N, только если во входных данных не будет нужных данных мы получим самый ужасный N результат. Отлично, описал его словами и мне говорят, что это хорошо, но сортировка же тоже занимает время, а можно решить задачу без сортировки в N

Блин, неужели им недостаточно того, как я размышляю и продвигаюсь по проблеме не говорит не о чем. Я не видел этого алгоритма ни разу, как я придумаю решение? 

Не знаю как, но тут у меня рождается решение в голове. Оно на столько простое и элегантное, что у меня загорелись глаза и я уже веселый, понимая всю прелесть решения и что я нашел его, я писал код как по маслу. Пять минут и решение было готово. Я запустил несколько тестов и результат – pass с первого раза. Я просто светился. У меня были невероятные ощущение, давно такого не было, потому что давно не проходил интервью и тестов. Аж захотелось еще пройти интервью.

Уже получил результат, что все ничтяк и я прохожу, теперь жду, когда мне дадут добро на переход. Надеюсь, что это займет не много времени, потому что очень хочется заниматься чем-то новым. Конечно же странно было проходить интервью на внутренний переход из одной команды в другую, но все же это был очень интересный опыт. 



Внимание!!! Если ты копируешь эту статью себе на сайт, то оставляй ссылку непосредственно на эту страницу. Спасибо за понимание

Комментарии

Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.

Добавить Комментарий

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне