Здравствуйте, hokkaido, Вы писали:
H>Две (минимум), т.к. для того чтобы отослать человека после двух интервью нужно довольно сильное no-hire от обоих интервьюеров. В общем тут выше уже все сказали — можно или: подготовиться к интервью, приняв правила игры; или не работать в МС. Но тогда не понятно зачем вообще было в интервью учавствовать.
Интервью, к которому надо "готовиться" — это абсурд. Лютый, бешеный идиотизм. По очевидной причине — если нужна какая-то специальная подготовка, кроме обычной работы — значит, оно проверяет навыки и знания, которые в реальной работе не используются.
T>Было 7 человек, вроде. Я уже писал, но 8 утра это жесть для организма "совы".
Может быть потому что они просто не знают, что "совы" вообще существуют? Мне на самом деле действительно интересно. Я довольно часто езжу в разные страны по работе. Где-то работу принято начинать в 7-8 утра, где-то рабочий день начинается в 9. И абсолютно все в это время приходят на работу, и как-то не заметно, что кто-то из них тупит, зевает, мучается. И только в России я видел, как многие приходят к 11-12, а когда с ними пытаются договориться хотя бы на 10 утра (совещания, например), то они начинают что-то лечить про "сов" и "генетическую предрасположенность".
T>Общее впечатление — лучше бы не ездил. Просто убитый день. T>Было 7 человек, вроде. Я уже писал, но 8 утра это жесть для организма "совы". В самом офисе посадили ждать начала, могли бы и кофе угостить, это же копейки... T>До раундов было небольшое вступление, на мой взгляд с излишним позитивом. Постоянные "all right", "right", "ok". T>Первый раунд был с американцем, он что-то вроде начальника разработчиков. Первая задачка мне до этого не встречалась на "тематических ресурсах", а вот вторая "есть два стека — хочу очередь" — старый wtf, который по-хорошему вообще не нужен. Сам раунд понравился. T>Второй раунд был с русским. Кто он в команде — не сказал. Общался он тоже на русском, что странно ибо если все до этого говорят на английском, к чему это? Вообще было ощущение что занят больше своими делами. Дал задачку на atoi с нестандартным основанием и уткнулся в ноутбук, потом вообще пересел и стал звонить куда-то. Вторую задачку тоже дал старую, про нахождение цикла в связном списке, ее я не решил. T>Что там было далее мне не ведомо, после второго раунда мне и еще парню сказали "пока-пока".
То есть Вы не смогли решить две простые (общеизвестные) задачки и удивляетесь "зачем нужно такое интервью"? Так вот затем и нужно. Какой смысл был переходить к более сложным вещам, если и так все ясно?
Здравствуйте, hokkaido, Вы писали:
H>То есть Вы не смогли решить две простые (общеизвестные) задачки и удивляетесь "зачем нужно такое интервью"? Так вот затем и нужно. Какой смысл был переходить к более сложным вещам, если и так все ясно?
Я не решил только одну, с внимательностью у тебя беда.
Но на самом деле это не важно, потому что такие задачи ничего не скажут о навыке программирования. Это именно "трюк", который учится один раз и применяется очень-очень редко.
Если задачи общеизвестные — зачем их спрашивать? Проверить хорошо ли человек заучил их к интервью?
Здравствуйте, Олег К., Вы писали: ОК>Тем не менее, даже тестовые задачки можно и нужно сделать интересными и не оторванными от реальной жизни. Я могу представить что пишу atoi для какого-нибудь нового компилятора, но я в упор не могу представить зацикленный связанный список.
значит вы просто не работаете с графами. вообще вы себя показываете не с лучшей стороны сейчас. я не про то, что МС это рай на земле, нет, но попытки вынести _личное_ незнание как догму это странно. что до задачек, когда вам придется собеседовать по сотне человек в месяц и при этом еще и работать, то пыл по поводу задач как-то утихает. Сколько вы отсобеседовали человек? По опыту нескольких сотен собеседований могу сказать что самое то давать совершенно простые задачи на подступах.
ОК>И потом. Тут происходит подмена понятий. Хороший инженер — это тот кто решит задачу просто и понятно а не тот кто вые...ся с двумя пойнтерами.
в данном случае два поинтера как раз просто и понятно, есть другой способ решить?
Здравствуйте, mucks, Вы писали: M>Здравствуйте, __kot2, Вы писали: __>> я москву вообще никогда не рассматривал — я себя там как по колено в навозе в циганском таборе ощущаю. все страшно дорого и жутко некачественно. M>Мда. Похоже ненависть к москве и москалям ты впитал с молоком матери
нет у меня ненависти к москве. как нет ненависти, например, к тонне навоза. я по делам прохожу мимо этой кучи навоза раз в несколько лет, зажав нос и ес-но не хочу переезжать поближе к ней, хотя, говорят, что чем ближе к вершине кучи, тем больше платят. нет, не стоит оно того.
T>>Второй раунд был с русским. Кто он в команде — не сказал. Общался он тоже на русском, что странно ибо если все до этого говорят на английском, к чему это? Вообще было ощущение что занят больше своими делами. Дал задачку на atoi с нестандартным основанием и уткнулся в ноутбук, потом вообще пересел и стал звонить куда-то. Вторую задачку тоже дал старую, про нахождение цикла в связном списке, ее я не решил. T>>Что там было далее мне не ведомо, после второго раунда мне и еще парню сказали "пока-пока".
H>То есть Вы не смогли решить две простые (общеизвестные) задачки и удивляетесь "зачем нужно такое интервью"? Так вот затем и нужно. Какой смысл был переходить к более сложным вещам, если и так все ясно?
На счет atoi ничего не буду говорить, но нахождение цикла в связанном списке — глупость какая-то. Никакой ценности задачка не имеет. Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами.
В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего.
T>Я не решил только одну, с внимательностью у тебя беда.
Две (минимум), т.к. для того чтобы отослать человека после двух интервью нужно довольно сильное no-hire от обоих интервьюеров. В общем тут выше уже все сказали — можно или: подготовиться к интервью, приняв правила игры; или не работать в МС. Но тогда не понятно зачем вообще было в интервью учавствовать.
А на счет того, что "здачики глупые и зачем спрашивать", ну понятно что на РСДНе все исключительно архитекторы.... нет, Архитекторы, но МС как правило набирает девов.
Здравствуйте, artevseev, Вы писали:
A>Ну вот давайте представим такую ситуацию. Вы в течение 3-5 лет занимаетесь разработкой каких-то внутренних компонентов системы, "забыв" немного при этом как работать с базами и как строить SQL-запросы. Ничего плохого нет в том, чтобы подготовиться к собеседованию и освежить это в памяти.
Базовые принципы он и так должен помнить, а углубленно собеседовать человека на тему, с которой он реально не работал 3-5 лет — это полный идиотизм.
Здравствуйте, artevseev, Вы писали:
A>Ну вот давайте представим такую ситуацию. Вы в течение 3-5 лет занимаетесь разработкой каких-то внутренних компонентов системы, "забыв" немного при этом как работать с базами и как строить SQL-запросы. Ничего плохого нет в том, чтобы подготовиться к собеседованию и освежить это в памяти.
Да конечно ничего нет плохого. Еще освежить в памяти работук с графикой, обход графов двумя поинтерами, контролы(хотя-бы сандартные), протоколы ну и мат. бекграунд подвспомнить... Что-бы на новой работе на 3-5 лет засеть за разработку каких-то внутренних компонентов системы.
Здравствуйте, artevseev, Вы писали:
A>Ну вот давайте представим такую ситуацию. Вы в течение 3-5 лет занимаетесь разработкой каких-то внутренних компонентов системы, "забыв" немного при этом как работать с базами и как строить SQL-запросы. Ничего плохого нет в том, чтобы подготовиться к собеседованию и освежить это в памяти. A>А по поводу задачки с двуми поинтерами — тут, я считаю, интервьюер на самом деле немного ошибся. Но не потому, что дал такую задачу, а потому, что эта задача общеизвестна. Насколько я понимаю, в идеале они хотят, чтобы человек слышал про задачу на интервью первый раз и решил ее прямо на месте. Типа таким образом хотят посмотреть как вы будете размышлять и подбираться к решению. Что плохого в том, что они хотят на это посмотреть? В конце концов, им же лучше знать о чем они хотят узнать на собеседовании
Практика показывает что большинство общеизвестных задач известны большинству только тем, что они общеизвестны. Т.е. человек слышал про нее, но решить не может.
Здравствуйте, Олег К., Вы писали:
ОК>Тем не менее, даже тестовые задачки можно и нужно сделать интересными и не оторванными от реальной жизни. Я могу представить что пишу atoi для какого-нибудь нового компилятора, но я в упор не могу представить зацикленный связанный список.
ОК>И потом. Тут происходит подмена понятий. Хороший инженер — это тот кто решит задачу просто и понятно а не тот кто вые...ся с двумя пойнтерами.
Собственно, одни из основных задач интервью — это увидеть, как человек умеет думать, оценить problem solving и coding skills. Учитывая ограниченное время, любая небольшая задача с заковыкой подходит для этого великолепно.
Если ты не знаешь про два поинтера — это же здорово! Есть возможность подумать.
А заодно ответить на вопрос: почему и когда добавление bool в список может быть плохо?
И кто добавляет эти элементы в список? И кто их инициализирует?
Даже если не додуматься о двух поинтерах, а список менять нельзя, есть варианты разной сложности и разных требований к ресурсам.
Ну а если ты знаешь ответ про два поинтера, то можно приподнести тебе сюрприз в виде некоторой модификации исходной задачи.
Задача на интервью — это всегда всего лишь повод для дискуссии, и способ проследить, как человек думает, принимает решения, ну и потом пишет код. Ну и оценивает еще, что и при каких условиях может не работать.
Нет одного правильного ответа, есть оценка, как человек может думать.
Ищу напарника для совместной подготовки к technical interview.
Если ваша цель устроится в Microsoft или другую крупную US компанию и вы работаете в этом направлении то мы пригодимся друг другу.
Пишите на почту мой_никнейм_на_форуме@gmail.com
Здравствуйте, kuzmaprutkov2, Вы писали:
K>=) Вроде как уже сроки подошли. Чего-то никто не пишет, не делится впечатлениями об интервью..
Я вообще был невыспавшийся. Т.е. вообще не спал до собеседования. Поэтому после первых двух интервью начал тормозить.
С первыми двумя все гладко прошло. Вопросы были детские, типа:
1) рекурсивый и итеративный обход дерева inorder.
2) определить, что вторая фраза получена из первой путем перестановки букв, но не учитывать пробелы и знаки припенания
У третьего был вопрос на синхронизацию потоков. Здесь я уже притормаживать стал.
Здесь сделали перерыв 1 час кажется. Я закинулся двумя чашками кофе, чтобы выдержать еще одного.
Потом меня отправили к четвертому, где я, похоже, лоханулся с ответом. Вопрос тоже был на деревья, но посложнее.
Короче, результат будет известен после 5го ноября.
Итого, длилось все с 8 до 14 часов у меня.
По поводу того, что выступление рекрутеров было излишне позитивное: на самом деле так у амеров принято, такой менталитет у них. Им не понятны эти вечно хмурые русские. У них с детства учат позитиву и проактивности (помните эти улыбки, которые нам кажутся противоестественными?). Если сравнить английскую речь у амера и русского, то русские часто используют пассивный залог. У них же, по возможности используют активный.
ОК>Да у обоих интервьюирующих, из того что я тут прочитал (если допустить что все так и было), уровень не тот чтобы интервьюировать.
Да не вопрос..... Конечно не тот.
Здравствуйте, Denis, Вы писали:
D>значит вы просто не работаете с графами.
Как раз в алгоритмах на графах происходит раскраска вершин, потому что это понятно интуитивно. Если же ты говоришь про смежные списки для представления графа, то там список будет использоваться библиотечный, и откуда там цикл возьмется?
K>Интервью, к которому надо "готовиться" — это абсурд. Лютый, бешеный идиотизм. По очевидной причине — если нужна какая-то специальная подготовка, кроме обычной работы — значит, оно проверяет навыки и знания, которые в реальной работе не используются.
Ну вот давайте представим такую ситуацию. Вы в течение 3-5 лет занимаетесь разработкой каких-то внутренних компонентов системы, "забыв" немного при этом как работать с базами и как строить SQL-запросы. Ничего плохого нет в том, чтобы подготовиться к собеседованию и освежить это в памяти.
А по поводу задачки с двуми поинтерами — тут, я считаю, интервьюер на самом деле немного ошибся. Но не потому, что дал такую задачу, а потому, что эта задача общеизвестна. Насколько я понимаю, в идеале они хотят, чтобы человек слышал про задачу на интервью первый раз и решил ее прямо на месте. Типа таким образом хотят посмотреть как вы будете размышлять и подбираться к решению. Что плохого в том, что они хотят на это посмотреть? В конце концов, им же лучше знать о чем они хотят узнать на собеседовании
Здравствуйте, Rustavelli, Вы писали:
R>Если сравнить английскую речь у амера и русского, то русские часто используют пассивный залог. У них же, по возможности используют активный.
С точностью до наоборот. Пассив в английской речи зашкаливает. Когда долго общаешься, становится трудно переходить обратно на русский, продолжаешь думать английскими конструкциями, а они просто не имеют аналогов в русском.
ОК>Я, конечно, понимаю что ты горд что попал в Майкрософт, но все-таки предположу что даже в Майкрософте найдутся идиоты.
Та не. Я уже старый чтобы гордиться этим.
ОК>З.Ы. Чего вырезал второе предложение?
Ну так потому что отвечал на первое.
K>>>Быдлокодерам? Хорошо платить? __>>ну, каким бы там я быдлокодером не был, а з.п. они предложили в разы больше, чем предлагает самая пафосная московская контора в самый известный проект.
D>блин, мне всего лишь на 60% больше чем текущая зарплата в москве (если чистыми считать из 30% налогов). Зато по многим предметам там цена/качество лучше.
Здравствуйте, kuzmaprutkov2, Вы писали:
K>=) Вроде как уже сроки подошли. Чего-то никто не пишет, не делится впечатлениями об интервью..
Еще полторы недели до него. Ты, кстати, чего так суетишься?
Здравствуйте, techgl, Вы писали:
T>Здравствуйте, kuzmaprutkov2, Вы писали:
K>>=) Вроде как уже сроки подошли. Чего-то никто не пишет, не делится впечатлениями об интервью.. T>Еще полторы недели до него. Ты, кстати, чего так суетишься?
Ничего сверхестественного... Просто интересно, как дела идут =)
Здравствуйте, kuzmaprutkov2, Вы писали:
K>=) Вроде как уже сроки подошли. Чего-то никто не пишет, не делится впечатлениями об интервью..
Мне вот интересно, как оно в 8 утра на вопросы отвечать, например, если человек — сова. Если себя специально не настроить, будешь сонный.
Откуда такое желание именно ранним утром проводить собеседование мне не понятно. Может чтобы не тратить весь день на это.
Здравствуйте, techgl, Вы писали:
T>Мне вот интересно, как оно в 8 утра на вопросы отвечать, например, если человек — сова. Если себя специально не настроить, будешь сонный. T>Откуда такое желание именно ранним утром проводить собеседование мне не понятно. Может чтобы не тратить весь день на это.
Тут по работе столкнулся с японцами. Они походу вообще не спят. Так что радуйтесь, что не к японцами идете
T>Мне вот интересно, как оно в 8 утра на вопросы отвечать, например, если человек — сова. Если себя специально не настроить, будешь сонный.
Учитывая то что и сами интервьюверы хотят утром спать то паритет (наверно ?) равный, с утра, по крайней мере. А так вообще конечно лучше вечером, часов в 10-11 — и интервьюверы дохлые и ты как бы в режим мыслительного процесса вошел...
В целом это, пожалуй было, самое адекватное интервью, что я видел.
Здравствуйте, eskimo82, Вы писали:
T>>Мне вот интересно, как оно в 8 утра на вопросы отвечать, например, если человек — сова. Если себя специально не настроить, будешь сонный. E>Учитывая то что и сами интервьюверы хотят утром спать то паритет (наверно ?) равный, с утра, по крайней мере. А так вообще конечно лучше вечером, часов в 10-11 — и интервьюверы дохлые и ты как бы в режим мыслительного процесса вошел...
Учитывая смену часовых поясов (летят они из GMT-08), утром как раз-таки самый бодряк
Сон прижимает ближе к обеду, особенно если хорошо пообедать. Еще через пару часов — полный ресет.
Здравствуйте, techgl, Вы писали:
T>Здравствуйте, kuzmaprutkov2, Вы писали:
K>>=) Вроде как уже сроки подошли. Чего-то никто не пишет, не делится впечатлениями об интервью.. T>Мне вот интересно, как оно в 8 утра на вопросы отвечать, например, если человек — сова. Если себя специально не настроить, будешь сонный. T>Откуда такое желание именно ранним утром проводить собеседование мне не понятно. Может чтобы не тратить весь день на это.
Ну я думаю ради такого события не жалко день потратить. А вообще же спрашивают когда тебе удобнее.. =)
Здравствуйте, kuzmaprutkov2, Вы писали:
K>=) Вроде как уже сроки подошли. Чего-то никто не пишет, не делится впечатлениями об интервью..
Общее впечатление — лучше бы не ездил. Просто убитый день.
Было 7 человек, вроде. Я уже писал, но 8 утра это жесть для организма "совы". В самом офисе посадили ждать начала, могли бы и кофе угостить, это же копейки...
До раундов было небольшое вступление, на мой взгляд с излишним позитивом. Постоянные "all right", "right", "ok".
Первый раунд был с американцем, он что-то вроде начальника разработчиков. Первая задачка мне до этого не встречалась на "тематических ресурсах", а вот вторая "есть два стека — хочу очередь" — старый wtf, который по-хорошему вообще не нужен. Сам раунд понравился.
Второй раунд был с русским. Кто он в команде — не сказал. Общался он тоже на русском, что странно ибо если все до этого говорят на английском, к чему это? Вообще было ощущение что занят больше своими делами. Дал задачку на atoi с нестандартным основанием и уткнулся в ноутбук, потом вообще пересел и стал звонить куда-то. Вторую задачку тоже дал старую, про нахождение цикла в связном списке, ее я не решил.
Что там было далее мне не ведомо, после второго раунда мне и еще парню сказали "пока-пока".
Обидно скорее что из-за двух часов убил день. Такое можно и по скайпу прогнать без потери качества, еще и экономнее выйдет для всех участников. Ожидал что будут интересные задачки, ближе к реальности. Тут кто-то из Ad команды расхваливал задачи, упоминал про CAS, примитивы для синхронизации, высокую нагрузку. А в итоге все свелось к старым задачам с "трюками", вообще не нужными в реальной разработке. Не было даже вопросов про классические алгоритмы. Из того, что повторял, вообще не пригодилось ничего (это к вопросу о подготовке к таким собеседованиям путем чтения книг). Оказывается нужно было просто через glassdoor (или как он там), старые вопросы повторить, они их из года в год гоняют вообще без привлечения фантазии.
Возможно, я просто не умею правильно общаться на таком интервью.
p.s: Бумеранг... ну lol же. Это намек, что всегда возвращается (отдохнувшим и с магнитиками), куда ни пошли, видимо. Ладно, пусть валяется в тумбочке как напоминание, как не надо жечь время.
ой, а мне все понравилось
летел я в москву и хоть вставать пришлось в 5:20, но по нашему местному времени это было уже как раз нормальное утро.
в гостинице нашел хак — поняв, что не попадаю на завтрак, оказалось, что можно заказать ранний завтрак прямо в номер, куда мне его и принести. так что был и поевший и выспавшийся.
народ у нас хороший подобрался, 7 человек вроде, было 4 собеседования, после первого у меня почему-то был перерыв на час. поэтому у остальных было по 5, у меня 4 только, но все собеседования понравились. в американцами я раньше работал, они действительно всегда стараются на позитиве с шуточками, а не как наши угрюмо-недоверчиво, с отношением, будто ты их нае%ать хочешь, везде наврал в резюме, а если задачу нестандартно решаешь, значит, строишь типа самого умного. я так тоже поприкалывался немного кое-где, да и в команде тож весело было, когда все собирались на перерыв. после собеседования американцы еще и по обеду раздали — мы на кухне ихней поели, прям замечательно все было.
никто мозги особо не выносил, обычно у каждого интервьювера было 2 задачи, как я понял, в идеале которые ты должен был решить. задачи несложные, каждая решением максимум строк на 20. и у одного интервьювера был разговор про архитектуру — нужно было рассказать, а вот как бы я спроектировал такую-то систему. просили задачи не разглашать, ну скажем, конвейер на реальном заводе. там пришлось очень долго говорить на английском, под конец уже язык стал заплетаться и слова забываться.
Здравствуйте, Олег К., Вы писали:
ОК>В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего.
Не, я фигею, честно говоря. Microsoft дает шанс практически бесплатно устроиться в одну из ведущих компаний мира, обеспечивает переезд, помогает с жильем, дает подъемные, предлагает проекты, у которых не то, что в России, в мире аналогов не так то много, появляется шанс поработать с известными профессионалами, получить бесценный опыт. А народ недоволен тем, что интервьюер два поинтера потребовал и в ноут уставился! Конечно, это личное дело каждого, но мне непонятно, для чего идти на собеседование с подобным настроем. Компания имеет полное право решать, как ей проводить интервью и что спрашивать у кандидатов. Если соискатель считает, что знает об этом лучше, то тогда может не стоит и пытаться, а лучше оставить место для других.
Здравствуйте, hokkaido, Вы писали:
H>Две (минимум), т.к. для того чтобы отослать человека после двух интервью нужно довольно сильное no-hire от обоих интервьюеров.
Ну тебе само собой виднее как оно было.
Здравствуйте, Олег К., Вы писали: ОК>На счет atoi ничего не буду говорить, но нахождение цикла в связанном списке — глупость какая-то. Никакой ценности задачка не имеет. Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами.
ОК>В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего.
глупость это когда в тестовых задачках ищут смысл и реальность.
Здравствуйте, techgl, Вы писали:
T>Здравствуйте, hokkaido, Вы писали:
H>>Две (минимум), т.к. для того чтобы отослать человека после двух интервью нужно довольно сильное no-hire от обоих интервьюеров. T>Ну тебе само собой виднее как оно было.
ну вообще насколько я знаю он прав, иначе домой не отсылают.
[]
T>Второй раунд был с русским. Кто он в команде — не сказал. Общался он тоже на русском, что странно ибо если все до этого говорят на английском, к чему это? Вообще было ощущение что занят больше своими делами. Дал задачку на atoi с нестандартным основанием и уткнулся в ноутбук, потом вообще пересел и стал звонить куда-то. Вторую задачку тоже дал старую, про нахождение цикла в связном списке, ее я не решил.
со списками надо было конечно решить хотя бы потому, что это боян
T>Что там было далее мне не ведомо, после второго раунда мне и еще парню сказали "пока-пока".
D>Здравствуйте, Олег К., Вы писали: ОК>>На счет atoi ничего не буду говорить, но нахождение цикла в связанном списке — глупость какая-то. Никакой ценности задачка не имеет. Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами.
ОК>>В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего.
D>глупость это когда в тестовых задачках ищут смысл и реальность.
Тем не менее, даже тестовые задачки можно и нужно сделать интересными и не оторванными от реальной жизни. Я могу представить что пишу atoi для какого-нибудь нового компилятора, но я в упор не могу представить зацикленный связанный список.
И потом. Тут происходит подмена понятий. Хороший инженер — это тот кто решит задачу просто и понятно а не тот кто вые...ся с двумя пойнтерами.
ОК>>В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего. MM>Не, я фигею, честно говоря. Microsoft дает шанс практически бесплатно устроиться в одну из ведущих компаний мира, обеспечивает переезд, помогает с жильем, дает подъемные, предлагает проекты, у которых не то, что в России, в мире аналогов не так то много, появляется шанс поработать с известными профессионалами, получить бесценный опыт. А народ недоволен тем, что интервьюер два поинтера потребовал и в ноут уставился! Конечно, это личное дело каждого, но мне непонятно, для чего идти на собеседование с подобным настроем. Компания имеет полное право решать, как ей проводить интервью и что спрашивать у кандидатов. Если соискатель считает, что знает об этом лучше, то тогда может не стоит и пытаться, а лучше оставить место для других.
Что такое Майкрософт?
Более чем вероятно, на интересный проект ты не попадешь. Ориентируйся лучше на финансовую индустрию где и платят существенно лучше и задачи есть не менее интересные. А это преклонение перед Майкрософтом/Гуглом/Фейсбуком происходит от незнания Американского рынка труда.
H>>>Две (минимум), т.к. для того чтобы отослать человека после двух интервью нужно довольно сильное no-hire от обоих интервьюеров. T>>Ну тебе само собой виднее как оно было.
D>ну вообще насколько я знаю он прав, иначе домой не отсылают.
Да у обоих интервьюирующих, из того что я тут прочитал (если допустить что все так и было), уровень не тот чтобы интервьюировать. Задачи "есть два стека — хочу очередь" и "определить зацикленность в связанном списке" как минимум сомнительны.
ОК>>Да у обоих интервьюирующих, из того что я тут прочитал (если допустить что все так и было), уровень не тот чтобы интервьюировать. H>Да не вопрос..... Конечно не тот.
Я, конечно, понимаю что ты горд что попал в Майкрософт, но все-таки предположу что даже в Майкрософте найдутся идиоты.
Здравствуйте, Олег К., Вы писали:
ОК>Более чем вероятно, на интересный проект ты не попадешь.
Перед собеседованием известно, в какие команды идет набор. Никакой шары.
ОК>Ориентируйся лучше на финансовую индустрию где и платят существенно лучше и задачи есть не менее интересные. А это преклонение перед Майкрософтом/Гуглом/Фейсбуком происходит от незнания Американского рынка труда.
Скажи мне, какая компания "из финансовой индустрии" приезжает сюда за разработчиками и обеспечивает потом все те стартовые бенефиты, которые дает Microsoft?
ОК>Тем не менее, даже тестовые задачки можно и нужно сделать интересными и не оторванными от реальной жизни. Я могу представить что пишу atoi для какого-нибудь нового компилятора, но я в упор не могу представить зацикленный связанный список.
Я тоже всегда недоумевал почему эта задача всеми дается в виде задачи на связанный список. На практике ее лучше формулировать в виде: найти период последовательности x_n = f(x_n-1)
Например период последовательности псевдослучайных чисел.
Здравствуйте, dilmah, Вы писали:
D>Я тоже всегда недоумевал почему эта задача всеми дается в виде задачи на связанный список. На практике ее лучше формулировать в виде: найти период последовательности x_n = f(x_n-1) D>Например период последовательности псевдослучайных чисел.
В такой формулировке, я бы вообще не допер, что от меня хотят
Здравствуйте, Олег К., Вы писали:
ОК>Что такое Майкрософт?
Жирный патентный троль, вроде эппла. Я бы побрезговал.
ОК>А это преклонение перед Майкрософтом/Гуглом/Фейсбуком происходит от незнания Американского рынка труда.
Угу. Отдай всю интеллектуальную собственность и права на все изобретения, совершенные в личное время. Как здесь говорят, фтопку.
Здравствуйте, DorfDepp, Вы писали:
R>>Если сравнить английскую речь у амера и русского, то русские часто используют пассивный залог. У них же, по возможности используют активный. DD>С точностью до наоборот. Пассив в английской речи зашкаливает. Когда долго общаешься, становится трудно переходить обратно на русский, продолжаешь думать английскими конструкциями, а они просто не имеют аналогов в русском.
в разговорной речи? да не должно вообще. много пассива обычно при формальном письменном общении, а разговорная речь проще.
Здравствуйте, DorfDepp, Вы писали:
ОК>>А это преклонение перед Майкрософтом/Гуглом/Фейсбуком происходит от незнания Американского рынка труда.
DD>Угу. Отдай всю интеллектуальную собственность и права на все изобретения, совершенные в личное время. Как здесь говорят, фтопку.
Хорошему профи вообще нечего делать в больших компаниях. Придется везти на своем горбу кучу иждивенцев и офисных политиканов, шансы на продвижение — мизерные.
Здравствуйте, Klatu, Вы писали:
K>Хорошему профи вообще нечего делать в больших компаниях.
Хорошему профи по контракту есть много чего делать в больших компаниях На перманенте сидеть годами, конечно, не стоит.
Здравствуйте, DorfDepp, Вы писали:
R>>Если сравнить английскую речь у амера и русского, то русские часто используют пассивный залог. У них же, по возможности используют активный.
DD>С точностью до наоборот. Пассив в английской речи зашкаливает. Когда долго общаешься, становится трудно переходить обратно на русский, продолжаешь думать английскими конструкциями, а они просто не имеют аналогов в русском.
Это где? В америке носители языка в пассиве никто не говорят.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, DorfDepp, Вы писали:
R>>>Если сравнить английскую речь у амера и русского, то русские часто используют пассивный залог. У них же, по возможности используют активный.
DD>>С точностью до наоборот. Пассив в английской речи зашкаливает. Когда долго общаешься, становится трудно переходить обратно на русский, продолжаешь думать английскими конструкциями, а они просто не имеют аналогов в русском. AJD>Это где? В америке носители языка в пассиве никто не говорят.
Словаки, например, считают высшим шиком составить предложение из 40 существительных и одного глагола, при этом 39 существительных служат уточняющими прилагательными к подлежащему. Не исключаю, что немцы могут считать высшим шиком делать все предложения в пассиве.
ОК>На счет atoi ничего не буду говорить, но нахождение цикла в связанном списке — глупость какая-то. Никакой ценности задачка не имеет. Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами.
Как раз очень хорошая задачка. И имеющая (лично для меня) прикладное значение. Скажем так, лет 10 назад я писал chkdsk для FAT12/16/32 под аналогом DOS-а. Одна из задачек там — это поиск циклов в цепочках кластеров. Так вот решение через "добавим bool" (добавим битовую табличку) было очень плохим, но за неимением лучшего таки реализована. Да тогда я не знал об двух машинках/"поинтерах". А вообще А.А.Степанов, когда приезжал в Мск., прочел по этому поводу целую лекцию, очень даже хорошую.
Здравствуйте, Klatu, Вы писали:
K>Хорошему профи вообще нечего делать в больших компаниях. Придется везти на своем горбу кучу иждивенцев и офисных политиканов, шансы на продвижение — мизерные.
В принципе, согласен. У меня такое же впечатление сложилось от больших компаний, был рад, когда сбежал оттуда. Толпы людей, которые не знают, чем они занимаются, чем их отдел занимается, пустые офисные крысы, высиживающие пенсию.
Исключение, если вас по знакомству на конкретный проект берут, и вы точно знаете, что вам там будет интересно и перспективно.
E>Как раз очень хорошая задачка. И имеющая (лично для меня) прикладное значение. Скажем так, лет 10 назад я писал chkdsk для FAT12/16/32 под аналогом DOS-а. Одна из задачек там — это поиск циклов в цепочках кластеров. Так вот решение через "добавим bool" (добавим битовую табличку) было очень плохим, но за неимением лучшего таки реализована. Да тогда я не знал об двух машинках/"поинтерах".
ээ.. хм, боюсь что решение с двумя машинками для диска это еще худшее решение -- там же головка рандомно двигаться будет
Вариант со списками тоже по своему (с теоретической точки зрения) хорош -- нужно дать решение которое гарантированно даст ответ. Решение с дополнительным полем bool не очень хорошее потому что оно заточено на то что есть бит который исходно равен нулю -- а если начальное значение неизвестно, то опять таки чтобы обнулить их все нужно уметь обнаруживать цикл.
D>ээ.. хм, боюсь что решение с двумя машинками для диска это еще худшее решение -- там же головка рандомно двигаться будет
Никуда она более рандомно чем при чтении файлов она двигаться не будет, кроме того хоть таблица FAT32 и большая и в нижнюю память почти не влазит под ДОСом, но тем не менее совсем не обязательно разбирать её по 1му сектору. В большем числе случаев файл фрагментирован в довольно небольшой области, случаев когда его раскидало по всему разделу довольно мало. А если есть верхняя память (а в случае работы с FAT32 она обычно есть) то таблицу можно уместить в памяти полностью. Спрашивается, нафига еще иметь довесок в виде битовой таблицы ?
D>Решение с дополнительным полем bool не очень хорошее потому что оно заточено на то что есть бит который исходно равен нулю -- а если начальное значение неизвестно, то опять таки чтобы обнулить их все нужно уметь обнаруживать цикл.
Можно обнулить все поля bool, но тут эффективнее битовая таблица — обнуление будет чуть быстрее.
D>>Решение с дополнительным полем bool не очень хорошее потому что оно заточено на то что есть бит который исходно равен нулю -- а если начальное значение неизвестно, то опять таки чтобы обнулить их все нужно уметь обнаруживать цикл. E>Можно обнулить все поля bool, но тут эффективнее битовая таблица — обнуление будет чуть быстрее.
как ты их гарантированно обнулишь не умея детектировать цикл??? Двигаешься ты по списку, двигаешься, обнуляешь, а как ты узнаешь что можно остановиться? для этого нужно уметь детектировать цикл, пришли к тому с чего начали.
Классический способ в этом случае это использовать то что почти на всех современных архитектурах объекты выравниваются на границу слова, то есть указатели четные, и поэтому в каждом указателе есть гарантированно нулевой младший бит, который можно использовать.
MM>А народ недоволен тем, что интервьюер два поинтера потребовал и в ноут уставился! Конечно, это личное дело каждого, но мне непонятно, для чего идти на собеседование с подобным настроем. Компания имеет полное право решать, как ей проводить интервью и что спрашивать у кандидатов.
Просто в России разработчики привыкли, что если ты адекватный, то участие в собеседовании уже равно тому, что ты получишь предложение, а не сойтись можно только в зарплате и условиях. Поэтому когда они сталкиваются с ситуацией, что предложения нет, значит интервьюер идиот.
ОК>Ориентируйся лучше на финансовую индустрию где и платят существенно лучше и задачи есть не менее интересные.
Ты уже в этой финансовой индустрии работаешь? Если устраиваться на qant-dev (именно там и начинают платить существенно лучше), то задачки будут не только про "списки", но ещё и по теории вероятностей, математике и т.д. и т.п..
D>как ты их гарантированно обнулишь не умея детектировать цикл??? Двигаешься ты по списку, двигаешься, обнуляешь, а как ты узнаешь что можно остановиться? для этого нужно уметь детектировать цикл, пришли к тому с чего начали.
Перед поиском цикла обнуляется вся битовая таблица. Это относительно недолго, но вариант с машинками лучше и в плане скорости и в плане памяти.
D>Классический способ в этом случае это использовать то что почти на всех современных архитектурах объекты выравниваются на границу слова, то есть указатели четные, и поэтому в каждом указателе есть гарантированно нулевой младший бит, который можно использовать.
За такое надо бить по рукам — это местячковый непортируемый хак.
D>ээ.. что ты называешь битовой таблицей (в рамках оргинальной задачи со списком)?
Каждую bool-метку из узла списка ты однозначно сопоставляеш с битом в битовой таблице, естественно это возможно если кол-во узлов ограничено сверху. Плюс пару трюков, один из которых — это отложенное "постраничное" обнуление.
Каким способом производить соспоставление ? Например индекс бита = адрес узла списка , ну и вариации.
В целом это относится больше не к "задаче со списками" а к той задаче, которую я описал выше.
Задача со списками — это просто одна из интерпретаций задачи с генерацией последовательности x(i+1) = f( x(i) ). Впрочем об этом уже сказали.
ОК>>Ориентируйся лучше на финансовую индустрию где и платят существенно лучше и задачи есть не менее интересные.
DB>Ты уже в этой финансовой индустрии работаешь?
Я в ней давно.
DB>Если устраиваться на qant-dev (именно там и начинают платить существенно лучше), то задачки будут не только про "списки", но ещё и по теории вероятностей, математике и т.д. и т.п..
А это уже ошибочное мнение что только квантам хорошо и платят. Полно чисто технических ролей. И средние зарплаты в финансах будут получше чем большинство хороших зарплат не в финансах.
ОК>>Тем не менее, даже тестовые задачки можно и нужно сделать интересными и не оторванными от реальной жизни. Я могу представить что пишу atoi для какого-нибудь нового компилятора, но я в упор не могу представить зацикленный связанный список.
D>значит вы просто не работаете с графами.
А ты каждый день прямо работаешь с графами?
D>вообще вы себя показываете не с лучшей стороны сейчас.
Я тоже так о тебе считаю.
D>я не про то, что МС это рай на земле, нет, но попытки вынести _личное_ незнание как догму это странно.
А с чего ты решил что я не знаю? Наоборот, я знаю и вижу тупость этой задачки.
D>что до задачек, когда вам придется собеседовать по сотне человек в месяц и при этом еще и работать, то пыл по поводу задач как-то утихает. Сколько вы отсобеседовали человек? По опыту нескольких сотен собеседований могу сказать что самое то давать совершенно простые задачи на подступах.
Я давал еще проще. Просто перевернуть строку. И, по-мне, развернуть связанный список будет получше чем этот идиотизм с двумя пойнтерами в зацикленности.
ОК>>И потом. Тут происходит подмена понятий. Хороший инженер — это тот кто решит задачу просто и понятно а не тот кто вые...ся с двумя пойнтерами.
D>в данном случае два поинтера как раз просто и понятно, есть другой способ решить?
Вообще-то я уже сказал другой способ. Добавить в каждый узел bool visited и проверять ее. Другое решение — добавлять адрес пройденног узла в какой-нибудь сет. Оба этих решения — straightforward.
ОК>>И потом. Тут происходит подмена понятий. Хороший инженер — это тот кто решит задачу просто и понятно а не тот кто вые...ся с двумя пойнтерами.
S>Собственно, одни из основных задач интервью — это увидеть, как человек умеет думать, оценить problem solving и coding skills.
Я как бы этого и не отрицаю.
S>Учитывая ограниченное время, любая небольшая задача с заковыкой подходит для этого великолепно.
Любитель заковырок? По-моему как раз-таки такие любители заковырок и понтуются на интервью (когда они собеседуют) а не пытаются понять может человек делать работу или нет, и если да то как.
S>Если ты не знаешь про два поинтера — это же здорово! Есть возможность подумать.
Это именно что не здорово. Это изврат. Самое просто решение это с дополнительной переменной в узле либо заносить адреса пройденых нодов в какой-нибудь сет. Все. Думать больше не надо. Вместо этого какие-то извращенцы хотят изврат в виде двух пойнтеров.
S>А заодно ответить на вопрос: почему и когда добавление bool в список может быть плохо? S>И кто добавляет эти элементы в список? И кто их инициализирует?
Ну как бы предполагается что если ты пишешь функцию к связанному списку, то уже есть необходимая функциональность для твоей функции. Ты ведь не пишешь весь связанный список?
S>Даже если не додуматься о двух поинтерах, а список менять нельзя, есть варианты разной сложности и разных требований к ресурсам.
Второе простое решение — заносить адреса в какой-нибудь сет. И никакие пойнтеры тут не нужны.
S>Ну а если ты знаешь ответ про два поинтера, то можно приподнести тебе сюрприз в виде некоторой модификации исходной задачи.
Абстрактные слова.
S>Задача на интервью — это всегда всего лишь повод для дискуссии, и способ проследить, как человек думает, принимает решения, ну и потом пишет код. Ну и оценивает еще, что и при каких условиях может не работать.
Какие-то напыщенные слова. Те интервьюеры с которыми лично мне было очень интересно пообщаться никогда не давали эту задачку и требовали бы два пойнтера.
S>Нет одного правильного ответа, есть оценка, как человек может думать.
Ты не понял моего пойнта. Мой пойнт в том что эта задачка уж никак не проверяет как человек может думать.
ОК>>На счет atoi ничего не буду говорить, но нахождение цикла в связанном списке — глупость какая-то. Никакой ценности задачка не имеет. Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами.
E>Как раз очень хорошая задачка. И имеющая (лично для меня) прикладное значение. Скажем так, лет 10 назад я писал chkdsk для FAT12/16/32 под аналогом DOS-а. Одна из задачек там — это поиск циклов в цепочках кластеров. Так вот решение через "добавим bool" (добавим битовую табличку) было очень плохим, но за неимением лучшего таки реализована. Да тогда я не знал об двух машинках/"поинтерах". А вообще А.А.Степанов, когда приезжал в Мск., прочел по этому поводу целую лекцию, очень даже хорошую.
Ты не считаешь что это все-таки несколько другая задача, даже не смотря на то что в них прослеживается связанный список? Ну и конечное решение все-таки зависит от конкретной задачи.
Эта битовая таблица — то что я называю сет выше — и есть straightforward решение. В упор не вижу зачем тут циклы.
Здравствуйте, Олег К., Вы писали:
S>>Если ты не знаешь про два поинтера — это же здорово! Есть возможность подумать. ОК>Это именно что не здорово. Это изврат. Самое просто решение это с дополнительной переменной в узле либо заносить адреса пройденых нодов в какой-нибудь сет. Все. Думать больше не надо. Вместо этого какие-то извращенцы хотят изврат в виде двух пойнтеров.
Зато этот изврат дает линейное время и не требует никаких дополнительных затрат памяти.
Я не имею никакого отношения к обсуждаемому интервью, но все-таки, откуда взялась уверенность, что хотели именно про два поинтера?
Если бы я задал такую задачу, для меня было бы главнми проследить рассуждения. Добавить флажок в список — это самое что ни наесть влоб. Следующий вопрос: чем это плохо? Если чел. не может ответить, это означает, что он имеет не очень богатый опыт работы с существующими системами. Когда надо что-то сделать новое, и не сломать старое.
Ок, "сет", это уже лучше. А в чем его недостаток?
А если мне скорость выполнения не так важна, но важно, чтобы ноль лишней памяти? (предполагая, что не зная про 2 поинтера, чел. не догадается... пусть напишет мне решение влоб без использования доп. памяти — хотя бы примитивынй кодинг скиллз можно проверить).
Ну и т.д.
S>>А заодно ответить на вопрос: почему и когда добавление bool в список может быть плохо? S>>И кто добавляет эти элементы в список? И кто их инициализирует? ОК>Ну как бы предполагается что если ты пишешь функцию к связанному списку, то уже есть необходимая функциональность для твоей функции. Ты ведь не пишешь весь связанный список?
А если это чужой список?
S>>Ну а если ты знаешь ответ про два поинтера, то можно приподнести тебе сюрприз в виде некоторой модификации исходной задачи.
ОК>Абстрактные слова.
Можно-можно Только я конкретных слов давать не буду.
Кстати, вариант вопроса на интервью: а теперь, придумай мне задачу на основе этой, чтобы те индусы, которые все как один знают про два поинтера, подзатупили и им пришлось задуматься?
ОК>Какие-то напыщенные слова. Те интервьюеры с которыми лично мне было очень интересно пообщаться никогда не давали эту задачку и требовали бы два пойнтера.
S>>Нет одного правильного ответа, есть оценка, как человек может думать.
ОК>Ты не понял моего пойнта. Мой пойнт в том что эта задачка уж никак не проверяет как человек может думать.
Это смотря чего требовать. Если требовать правильного ответа — два поинтера, то не проверяет, конечно.
Однако, существует масса других подходов — см. выше.
S>>>Если ты не знаешь про два поинтера — это же здорово! Есть возможность подумать. ОК>>Это именно что не здорово. Это изврат. Самое просто решение это с дополнительной переменной в узле либо заносить адреса пройденых нодов в какой-нибудь сет. Все. Думать больше не надо. Вместо этого какие-то извращенцы хотят изврат в виде двух пойнтеров.
S>Зато этот изврат дает линейное время и не требует никаких дополнительных затрат памяти.
В ущерб понятности.
S>Я не имею никакого отношения к обсуждаемому интервью, но все-таки, откуда взялась уверенность, что хотели именно про два поинтера?
А эта задача именно что на дво пойнтера. Другие решения "они не хотят."
S>Если бы я задал такую задачу, для меня было бы главнми проследить рассуждения. Добавить флажок в список — это самое что ни наесть влоб. Следующий вопрос: чем это плохо? Если чел. не может ответить, это означает, что он имеет не очень богатый опыт работы с существующими системами. Когда надо что-то сделать новое, и не сломать старое.
Я уж не знаю как тут можно не ответить.
S>Ок, "сет", это уже лучше. А в чем его недостаток? S>А если мне скорость выполнения не так важна, но важно, чтобы ноль лишней памяти? (предполагая, что не зная про 2 поинтера, чел. не догадается... пусть напишет мне решение влоб без использования доп. памяти — хотя бы примитивынй кодинг скиллз можно проверить). S>Ну и т.д.
Скажи, к чему эти искусственные ограничения?
S>>>А заодно ответить на вопрос: почему и когда добавление bool в список может быть плохо? S>>>И кто добавляет эти элементы в список? И кто их инициализирует? ОК>>Ну как бы предполагается что если ты пишешь функцию к связанному списку, то уже есть необходимая функциональность для твоей функции. Ты ведь не пишешь весь связанный список?
S>А если это чужой список?
Опять-таки, ты как бы пишешь функцию к своему классу. Если хочешь услышать что-то другое в ответ, то может стоит тогда давать более конкретную задачу чем абстрактный список в памяти?
S>>>Ну а если ты знаешь ответ про два поинтера, то можно приподнести тебе сюрприз в виде некоторой модификации исходной задачи.
ОК>>Абстрактные слова.
S>Можно-можно Только я конкретных слов давать не буду. S>Кстати, вариант вопроса на интервью: а теперь, придумай мне задачу на основе этой, чтобы те индусы, которые все как один знают про два поинтера, подзатупили и им пришлось задуматься?
Зачем мучить человека на интервью? Если он тебе не нравится, то просто прекрати интервью вместо очередных понтов.
ОК>>Какие-то напыщенные слова. Те интервьюеры с которыми лично мне было очень интересно пообщаться никогда не давали эту задачку и требовали бы два пойнтера.
S>>>Нет одного правильного ответа, есть оценка, как человек может думать.
ОК>>Ты не понял моего пойнта. Мой пойнт в том что эта задачка уж никак не проверяет как человек может думать.
S>Это смотря чего требовать. Если требовать правильного ответа — два поинтера, то не проверяет, конечно. S>Однако, существует масса других подходов — см. выше.
Не вижу ничего что эта задача дает.
Да, кстати, объясни, при каких таких обстоятельствах у тебя может получиться зацикленный список в памяти?
Здравствуйте, Олег К., Вы писали:
S>>Если бы я задал такую задачу, для меня было бы главнми проследить рассуждения. Добавить флажок в список — это самое что ни наесть влоб. Следующий вопрос: чем это плохо? Если чел. не может ответить, это означает, что он имеет не очень богатый опыт работы с существующими системами. Когда надо что-то сделать новое, и не сломать старое.
ОК>Я уж не знаю как тут можно не ответить.
Ну вот, ты, зная про возможные проблемы с предлагаемым решением, это решение сам же раньше и предложил.
Как-то не совсем стыкуется.
ОК>Скажи, к чему эти искусственные ограничения?
В общем, мой ответ на большинство встречных вопросов на эту тему:
Вообще, абстрактное мышление полезно.
А если твое мнение таково, что это не так (типа не могу/не хочу абстрагироваться от конкретной задачи конкретного заказчика), то не очем больше и спортить по этой теме.
S>>>Если бы я задал такую задачу, для меня было бы главнми проследить рассуждения. Добавить флажок в список — это самое что ни наесть влоб. Следующий вопрос: чем это плохо? Если чел. не может ответить, это означает, что он имеет не очень богатый опыт работы с существующими системами. Когда надо что-то сделать новое, и не сломать старое.
ОК>>Я уж не знаю как тут можно не ответить.
S>Ну вот, ты, зная про возможные проблемы с предлагаемым решением, это решение сам же раньше и предложил. S>Как-то не совсем стыкуется.
Это где ты тут проблемы увидел? Я говорил о простом списке автором которого бы ты являлся.
ОК>>Скажи, к чему эти искусственные ограничения?
S>В общем, мой ответ на большинство встречных вопросов на эту тему:
S>Вообще, абстрактное мышление полезно.
S>А если твое мнение таково, что это не так (типа не могу/не хочу абстрагироваться от конкретной задачи конкретного заказчика), то не очем больше и спортить по этой теме.
Ты лучше ответь на последний вопрос. При каких таких обстоятельствах у тебя может получиться зацикленный список в памяти?
Здравствуйте, __kot2, Вы писали:
__>Здравствуйте, Klatu, Вы писали: K>>С каких пор возможность работать быдлокодером стала считаться удачей? __>с тех пор как за это стали хорошо платить
Здравствуйте, Klatu, Вы писали: K>Здравствуйте, __kot2, Вы писали: __>>Здравствуйте, Klatu, Вы писали: K>>>С каких пор возможность работать быдлокодером стала считаться удачей? __>>с тех пор как за это стали хорошо платить K>Быдлокодерам? Хорошо платить?
ну, каким бы там я быдлокодером не был, а з.п. они предложили в разы больше, чем предлагает самая пафосная московская контора в самый известный проект.
K>>Быдлокодерам? Хорошо платить? __>ну, каким бы там я быдлокодером не был, а з.п. они предложили в разы больше, чем предлагает самая пафосная московская контора в самый известный проект.
блин, мне всего лишь на 60% больше чем текущая зарплата в москве (если чистыми считать из 30% налогов). Зато по многим предметам там цена/качество лучше.
Здравствуйте, dilmah, Вы писали: D>блин, мне всего лишь на 60% больше чем текущая зарплата в москве (если чистыми считать из 30% налогов). Зато по многим предметам там цена/качество лучше.
с неработающей женой говорят 25. ну и цена/качество там это само собой. я москву вообще никогда не рассматривал — я себя там как по колено в навозе в циганском таборе ощущаю. все страшно дорого и жутко некачественно.
Здравствуйте, __kot2, Вы писали:
__> я москву вообще никогда не рассматривал — я себя там как по колено в навозе в циганском таборе ощущаю. все страшно дорого и жутко некачественно.
Мда. Похоже ненависть к москве и москалям ты впитал с молоком матери
Здравствуйте, Олег К., Вы писали:
ОК>Это где ты тут проблемы увидел? Я говорил о простом списке автором которого бы ты являлся.
В твоем первом посте на эту тему говорилось о том, что нечего выделываться, очевидное решение — это в лоб с добавлением флажка в список. И ничего не говорилось о предположении, что ты — автор списка. И ты даже не спросил: а кто создает/использует список? Так что ты сходу предложил решение в лоб, даже не узнав требования и ограничения в задаче...
ОК>Ты лучше ответь на последний вопрос. При каких таких обстоятельствах у тебя может получиться зацикленный список в памяти?
1) если тебе нужен пример конкретного ответа, пожалуйста: p->next = p; // tell me that this is technically impossible
2) а реально, какая разница, что за задача на интервью. Еще раз повторюсь, главное оценить мышление и подход кандидата. Что он принимает во внимание, как принимает решения, насколько обдуманы и обоснованы они и т.п.
ОК>>Это где ты тут проблемы увидел? Я говорил о простом списке автором которого бы ты являлся.
S>В твоем первом посте на эту тему говорилось о том, что нечего выделываться, очевидное решение — это в лоб с добавлением флажка в список. И ничего не говорилось о предположении, что ты — автор списка.
Повторюсь еще раз. Ты как бы пишешь функциональность для своего класса а не для какого-то чужого с непонятно каким интерфейсом.
S>И ты даже не спросил: а кто создает/использует список? Так что ты сходу предложил решение в лоб, даже не узнав требования и ограничения в задаче...
Ты уже доводишь задачу до маразма. Когда я слышу задачу о связанном списке, то я понимаю что имеется в виду мой список в памяти а не какой-нибудь чужой да еще и на диске, например. Если ты хочешь услышать какое-то конкретное решение, то и ставь задачу соответствующим образом.
Вообще мне эти твои измышления напоминают задачу о доме где интервьюироемого просят задизайнить дом и в ответ ожидают услышать список вопросов для какой семьи, сколько комнат, какой бюджет и прочий маразм.
ОК>>Ты лучше ответь на последний вопрос. При каких таких обстоятельствах у тебя может получиться зацикленный список в памяти?
S>1) если тебе нужен пример конкретного ответа, пожалуйста: p->>next = p; // tell me that this is technically impossible
Ты не считаешь что это все-таки логическая ошибка и при правильном коде такого быть просто не может?
S>2) а реально, какая разница, что за задача на интервью. Еще раз повторюсь, главное оценить мышление и подход кандидата. Что он принимает во внимание, как принимает решения, насколько обдуманы и обоснованы они и т.п.
Ну вот я об этом же и говорю. Интервью это two way process. По задачам которые задает интервьюер тоже можно сказать что из себя представляет спрашивающий. Или ты думал что только интервьюируемого оценивать можно?
Здравствуйте, Олег К., Вы писали:
S>>Если ты не знаешь про два поинтера — это же здорово! Есть возможность подумать. ОК>Это именно что не здорово. Это изврат. Самое просто решение это с дополнительной переменной в узле либо заносить адреса пройденых нодов в какой-нибудь сет. Все. Думать больше не надо. Вместо этого какие-то извращенцы хотят изврат в виде двух пойнтеров.
Такое простое решение имеет вполне очевидные недостатки.
std::set потребует дополнительной памяти. Если узлов в списке много (а речь идёт о MS Ads, там могут быть вполне приличные объёмы данных), то это может оказаться существенным. Я не смотрел, что там внутри std::set, но подозреваю что там дерево. Т.е. на хранение каждого значения потребуется хранить ещё два указателя на нижележащие элементы. Тогда поиск циклов в списке на 100 Млн узлов потребует 2.4 Гб памяти (24 байта на каждый элемент) на размещение std::set на 64-битной системе.
Дополнительная переменная также имеет очевидные недостатки. Во-первых, лишняя память, во-вторых — появляется проблема инициализации этой переменной в значение false перед обходом. Эту проблему уже описывали где-то выше. У вас есть решение?
ОК>Ты не понял моего пойнта. Мой пойнт в том что эта задачка уж никак не проверяет как человек может думать.
Здесь соглашусь. Если человек не смог найти оптимальное решение за 5 минут на глазах интервьюера — это вовсе не значит, что он не сможет найти это решение во время работы. Пусть не за 5 минут, а за час — разницы особой нет. Плюс, эффект обучаемости — один раз столкнувшись с такой проблемой и поняв суть её решения, в следующий раз человек решит её сходу. Но это не значит, что он стал умнее — это уже просто опыт.
S>>>Если ты не знаешь про два поинтера — это же здорово! Есть возможность подумать. ОК>>Это именно что не здорово. Это изврат. Самое просто решение это с дополнительной переменной в узле либо заносить адреса пройденых нодов в какой-нибудь сет. Все. Думать больше не надо. Вместо этого какие-то извращенцы хотят изврат в виде двух пойнтеров.
_>Такое простое решение имеет вполне очевидные недостатки.
Это уже trade-off между понятностью решения и потребностью к памяти. Все это, разумеется, понятно.
_>std::set потребует дополнительной памяти. Если узлов в списке много (а речь идёт о MS Ads, там могут быть вполне приличные объёмы данных), то это может оказаться существенным. Я не смотрел, что там внутри std::set, но подозреваю что там дерево.
Говоря сет, я говорил о неком абстрактном сете, не имя в виду конкретный std::set. Тут человек привел решение в котором выделил по биту для своей конкретной задачи.
_>Т.е. на хранение каждого значения потребуется хранить ещё два указателя на нижележащие элементы. Тогда поиск циклов в списке на 100 Млн узлов потребует 2.4 Гб памяти (24 байта на каждый элемент) на размещение std::set на 64-битной системе.
Неплохой такой связанный список в памяти.
_>Дополнительная переменная также имеет очевидные недостатки. Во-первых, лишняя память, во-вторых — появляется проблема инициализации этой переменной в значение false перед обходом. Эту проблему уже описывали где-то выше. У вас есть решение?
Я тут уже пару раз повторил что это надуманная проблема. Ну а какое решение может у надуманной проблемы?
И bool на каждый узел списка не так уж и много. Можно еще битовые поля использовать если нужны другие флаги.
ОК>>Ты не понял моего пойнта. Мой пойнт в том что эта задачка уж никак не проверяет как человек может думать.
_>Здесь соглашусь. Если человек не смог найти оптимальное решение за 5 минут на глазах интервьюера — это вовсе не значит, что он не сможет найти это решение во время работы. Пусть не за 5 минут, а за час — разницы особой нет. Плюс, эффект обучаемости — один раз столкнувшись с такой проблемой и поняв суть её решения, в следующий раз человек решит её сходу. Но это не значит, что он стал умнее — это уже просто опыт.
Я не согласен с этим параграфом но по другим причинам (которые описал в других постах).
Здравствуйте, techgl, Вы писали:
T>Здравствуйте, Denis, Вы писали:
D>>значит вы просто не работаете с графами. T>Как раз в алгоритмах на графах происходит раскраска вершин, потому что это понятно интуитивно. Если же ты говоришь про смежные списки для представления графа, то там список будет использоваться библиотечный, и откуда там цикл возьмется?
я не знаю что там возьментся, я про то, что это как раз задача очень похожая на ту, что я решал недавно. да и вообще разговор, что не ту задачу дали, разговор в пользу бедных. что хотят то и дают, не нравится, не работай у них, вроде как рабство отменили. мне данная задача помогает найти как раз таких нытиков
D>>>значит вы просто не работаете с графами. T>>Как раз в алгоритмах на графах происходит раскраска вершин, потому что это понятно интуитивно. Если же ты говоришь про смежные списки для представления графа, то там список будет использоваться библиотечный, и откуда там цикл возьмется?
D>я не знаю что там возьментся, я про то, что это как раз задача очень похожая на ту, что я решал недавно. да и вообще разговор, что не ту задачу дали, разговор в пользу бедных. что хотят то и дают, не нравится, не работай у них, вроде как рабство отменили. мне данная задача помогает найти как раз таких нытиков
Ты прав. Пусть что хотят то и дают но, почему-то, те кто давали мне эту задачу давали также задачи типа как обменять содержимое двух переменных через XOR или сложение/вычитание.
ОК>Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами.
ну-ну. ты под каждый алгоритм собрался структуру данных изменять и подгонять?
ОК>В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего.
зато твое "решение" очень многое демонстрирует.
ОК>>Решение в лоб — добавить в каждый узел bool visited и проверять при обходе, но нет, нужен какой-то изврат с двумя пойнтерами. M>ну-ну. ты под каждый алгоритм собрался структуру данных изменять и подгонять?
А ты кто такой чтобы ну-нукать тут?
Этот алгоритм, хоть и для надуманной задачи, является частью общего абстрактного типа под названием связанный список. Поэтому вполне естественно добавить в него вспомогательные переменные которые помогут решить задачу.
ОК>>В общем ничего вторая задачка не демонстрирует кроме глупости ее спрашивающего. M>зато твое "решение" очень многое демонстрирует.
Один из любителей задавать этот идиотизм? Посмотри тут остальные ответы прежде чем писать. Ничего нового ты тут сейчас не сказал.
ОК>>Я тут уже пару раз повторил что это надуманная проблема. Ну а какое решение может у надуманной проблемы?
D>тут уже пару раз упоминали, что ненадуманная вариация этой проблемы -- это найти период последовательности псевдослучайных чисел
И для решения этой твоей проблемы непременно нужен связанный список?
D>>тут уже пару раз упоминали, что ненадуманная вариация этой проблемы -- это найти период последовательности псевдослучайных чисел
ОК>И для решения этой твоей проблемы непременно нужен связанный список?
зачем? Я же пишу вариация, а не частный случай.
Общая задача формулируется так -- по объекту ты можешь получить следующий объект. И ты можешь сравнить 2 объекта на равенство. И у тебя есть последовательность -- начальный объект, следующий, следующий за следующим и т.д.
Найти период цикла.
Установить зациклен ли связный список это один частный случай этой проблемы. Найти период псевдослучайных чисел -- другой.
(Если список не зациклен то это означает что он попадает в конце в терминальное состояние NULL и дальше все время NULL -- то есть период равен 1 и состоит из одного NULL).
Здравствуйте, Denis, Вы писали:
D>я не знаю что там возьментся, я про то, что это как раз задача очень похожая на ту, что я решал недавно. да и вообще разговор, что не ту задачу дали, разговор в пользу бедных. что хотят то и дают, не нравится, не работай у них, вроде как рабство отменили.
Дело в том, что я в ответ на просьбу написал свое мнение об собеседовании. Оно не было восторженно-одобрительным и тут же налетела толпа белых рыцарей что-то там доказывать.
D>мне данная задача помогает найти как раз таких нытиков
Детектор? Да за ради бога. Только есть нюанс, я не ныл, а просто написал свое впечатление. И таки представь себе, иногда впечатления бывают негативными. Не получается, понимаешь, у Microsoft всем угодить
Меня послали после второго интервью.
Задачи были atoi, угол между стрелками в часах, поиск циклов в связном списке, и удаления дубликатов из отсортированного массива.
После сбс отправил expense reimbursement форму но никаких ответов от микрософта больше не было кроме стандартного письма с отказом.
Наверное добавили в спам фильтр...70 баксов очень жалко... кому так оффер дали! суки, скиньтесь мне по полтиннику!
Короче HR'ы везде исключительные говноеды. это печально
Здравствуйте, bot1984, Вы писали:
B>После сбс отправил expense reimbursement форму но никаких ответов от микрософта больше не было кроме стандартного письма с отказом.
Интересовался на эту тему, ибо сумма для меня значительная была. Сказали что от 4 до 6 недель ждать. Так что еще рано.
Здравствуйте, yoriсk.kiev.ua, Вы писали:
YKU>Да конечно ничего нет плохого. Еще освежить в памяти работук с графикой, обход графов двумя поинтерами, контролы(хотя-бы сандартные), протоколы ну и мат. бекграунд подвспомнить... Что-бы на новой работе на 3-5 лет засеть за разработку каких-то внутренних компонентов системы.
Вспоминается мое собеседование в ABBYY: штук шесть олимпиадных задачек на входе (из которых только одна была довольно интересной, две знал еще со школы, одну читал здесь в Этюдах) чтоб узнать что меня предпологается засадить писать ГУЙ для Симбиана (который я лично терпеть не мог и упомянул только в списке вторичных скиллов).
Здравствуйте, bot1984, Вы писали:
B>Меня послали после второго интервью. B>Задачи были atoi, угол между стрелками в часах, поиск циклов в связном списке, и удаления дубликатов из отсортированного массива. B>После сбс отправил expense reimbursement форму но никаких ответов от микрософта больше не было кроме стандартного письма с отказом. B>Наверное добавили в спам фильтр...70 баксов очень жалко... кому так оффер дали! суки, скиньтесь мне по полтиннику!
B>Короче HR'ы везде исключительные говноеды. это печально
вредный ты какой-то.
я написал своему HR по поводу reimburesement. Она ответила через неделю — прислала формы для заполнения.
Заполнил, отослал. Через пару недель или вроде того ко мне приехал курьером чек от Citi Bank.
Вот тут началось интересное.
В общем, надо завести счет в Ситибанке (никакой другой банк в Петербурге, который бы смог обналичить этот чек, я не нашел).
Без счета не обналичат.
Через 2-3 дня после открытия счета принес им чек.
Они отправляют его назад в US (на инкасо?).
Примерно через месяц зачисляется бабло на твой счет.
Комиссия — 25 баксов.
Так что расчитывай, что деньги получишь месяца через 2.
Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, bot1984, Вы писали:
B>>Меня послали после второго интервью. B>>Задачи были atoi, угол между стрелками в часах, поиск циклов в связном списке, и удаления дубликатов из отсортированного массива. B>>После сбс отправил expense reimbursement форму но никаких ответов от микрософта больше не было кроме стандартного письма с отказом. B>>Наверное добавили в спам фильтр...70 баксов очень жалко... кому так оффер дали! суки, скиньтесь мне по полтиннику!
B>>Короче HR'ы везде исключительные говноеды. это печально
КЛ>вредный ты какой-то.
КЛ>я написал своему HR по поводу reimburesement. Она ответила через неделю — прислала формы для заполнения. КЛ>Заполнил, отослал. Через пару недель или вроде того ко мне приехал курьером чек от Citi Bank. КЛ>Вот тут началось интересное. КЛ>В общем, надо завести счет в Ситибанке (никакой другой банк в Петербурге, который бы смог обналичить этот чек, я не нашел). КЛ>Без счета не обналичат. КЛ>Через 2-3 дня после открытия счета принес им чек. КЛ>Они отправляют его назад в US (на инкасо?). КЛ>Примерно через месяц зачисляется бабло на твой счет. КЛ>Комиссия — 25 баксов.
КЛ>Так что расчитывай, что деньги получишь месяца через 2.
Да ладно вредный. Просто перед интерью отвечали в течении дня. А после, совсем не отвечают вот что не приятно.
Форму отправил месяц назад.
Здравствуйте, bot1984, Вы писали:
B>Меня послали после второго интервью. B>Задачи были atoi, угол между стрелками в часах, поиск циклов в связном списке, и удаления дубликатов из отсортированного массива. B>После сбс отправил expense reimbursement форму но никаких ответов от микрософта больше не было кроме стандартного письма с отказом. B>Наверное добавили в спам фильтр...70 баксов очень жалко... кому так оффер дали! суки, скиньтесь мне по полтиннику!
B>Короче HR'ы везде исключительные говноеды. это печально
а как конкретно звучала выделенная задача?
и что такое expense reimbursement? ты приехал из другого города и тебе оплатили перееезд и гостиницу?
Здравствуйте, __kot3, Вы писали:
__>Приглашаю всех получивших оффер, а также просто интересующихся, в группу https://groups.google.com/group/msadd для обсуждения вопросов "за жизнь".
__>В группе уже есть такие известные личности, как Volandkit, __kot2 и __kot3
Здравствуйте, snaphold, Вы писали:
S>Здравствуйте, bot1984, Вы писали:
B>>Меня послали после второго интервью. B>>Задачи были atoi, угол между стрелками в часах, поиск циклов в связном списке, и удаления дубликатов из отсортированного массива. B>>После сбс отправил expense reimbursement форму но никаких ответов от микрософта больше не было кроме стандартного письма с отказом. B>>Наверное добавили в спам фильтр...70 баксов очень жалко... кому так оффер дали! суки, скиньтесь мне по полтиннику!
B>>Короче HR'ы везде исключительные говноеды. это печально
S>а как конкретно звучала выделенная задача? S>и что такое expense reimbursement? ты приехал из другого города и тебе оплатили перееезд и гостиницу?
Мне сегодня пришло письмо, что чек идет. Возмещают такси до/из аэропорта в родном городе и Москве, а также питание (ужины и пр.) не в гостинице и не в офисе МС. Добавили еще 20$ сверху для возмещения процента при конвертации и обналичивании
Здравствуйте, __kot3, Вы писали: __>Перечисленные пользователи являются ботами разных людей; похожесть ников __kot2 и __kot3 — случайное совпадение.
и не говори
Здравствуйте, anomander, Вы писали:
A>Здравствуйте, User239, Вы писали:
U>>Ну что, господа, все дружно едем в Ванкувер?) У кого какие мысли по этому поводу?
A>МС тоже что ли не уложился в квоту?
Угу, теперь поработаем в одном из самых комфортных городов мира
Здравствуйте, MT-Wizard, Вы писали:
MW>Угу, теперь поработаем в одном из самых комфортных городов мира
А потом через год L1 делать обещают?
Если да, то стоит ехать, однозначно. Так сказать, пожить "нахаляву" в еще одной стране целый год. Ванкувер очень красивый город, да и вокруг много разных интересных мест поблизости.
Только вот дороже там все, и налоги жмут поболе. Поэтому насовсем оставаться в Канадском социализме — это на любителя, хотя некоторые делают и так.
Еще один плюс: при переезде в штаты будут делать L-1; соостветственно, жена (если есть, конечно ) сразу сможет получить SSN и устраиваться на работу (как и куда — это другой вопрос).
(Из минусов такого переезда разве что оттягивание момента получения гринки в штатах)
Здравствуйте, sql13, Вы писали:
S>Здравствуйте, MT-Wizard, Вы писали:
MW>>Угу, теперь поработаем в одном из самых комфортных городов мира
S>А потом через год L1 делать обещают? S>Если да, то стоит ехать, однозначно. Так сказать, пожить "нахаляву" в еще одной стране целый год. Ванкувер очень красивый город, да и вокруг много разных интересных мест поблизости. S>Только вот дороже там все, и налоги жмут поболе. Поэтому насовсем оставаться в Канадском социализме — это на любителя, хотя некоторые делают и так. S>Еще один плюс: при переезде в штаты будут делать L-1; соостветственно, жена (если есть, конечно ) сразу сможет получить SSN и устраиваться на работу (как и куда — это другой вопрос). S>(Из минусов такого переезда разве что оттягивание момента получения гринки в штатах)
я думаю сделают H1B, ибо так они смогут начать уже 1 октября, а дял L1 они должны год отработать.
Здравствуйте, sql13, Вы писали: S>А потом через год L1 делать обещают?
наверное, h1b — в Ванкувере будем ну может быть месяца 4 только получается
S>Если да, то стоит ехать, однозначно. Так сказать, пожить "нахаляву" в еще одной стране целый год. Ванкувер очень красивый город, да и вокруг много разных интересных мест поблизости.
вроде бы все хотят ехать, никто не отказывывается