Re[8]: Новая волна SDE & SDET
От: SpeakToMe  
Дата: 08.06.08 06:23
Оценка:
Здравствуйте, drx, Вы писали:

drx>Здравствуйте, Alf, Вы писали:


STM>>>Вопросы тоже пока называть не буду, да и это не столь важно, так как многие вопросы открытые, и решений может быть множество. Были вопросы по проектированию классов, по планированию/управлению процессом разработки, по тестированию.


Alf>>мда, товарищи, ведете себе как последние китайцы — типа если меньше говорить, то считается что у тебя больше шанс получить офер. На самом деле это нифига не так.


Здесь оффер не при чем.

Вспоминается старая история на RSDN: Приходит индус на интервью, не отвечает на первый вопрос и уходит. На следующий день приходит другой индус, отвечает на первый вопрос, на второй не отвечает и уходит. На следующий день приходит третий индус, знает ответ уже на первые два вопроса, но на другие не отвечает...
Ну дальше ясно )

Кстати, а у меня не было ни строчек/указателей/етк, прям обделили

Re[9]: Новая волна SDE & SDET
От: кубусь  
Дата: 08.06.08 10:30
Оценка:
Здравствуйте, SpeakToMe, Вы писали:

А когда они обещали ответ дать? А то я к концу интервью был настолько уставшим, что для меня заключительное собеседование с hr-ом сейчас как в тумане...
Re[7]: Новая волна SDE & SDET
От: Alf США  
Дата: 08.06.08 14:01
Оценка:
STM>кстати, а что спрашивал товарищ из VS, который любит беседовать?

если ты про прикольного лысоватого дядьку — то много бесед по CV и задачка на inplace string extension
манагер по VS как-то не впечатлил
Re[10]: Новая волна SDE & SDET
От: SpeakToMe  
Дата: 08.06.08 14:23
Оценка:
Здравствуйте, кубусь, Вы писали:

К>Здравствуйте, SpeakToMe, Вы писали:


К>А когда они обещали ответ дать? А то я к концу интервью был настолько уставшим, что для меня заключительное собеседование с hr-ом сейчас как в тумане...


Обещали next week, т.е. по идее в середине след. недели должны сказать (пока они там все обсудят думаю раньше вторника-среды не будет, а то и позднее).

Кстати, а с HR-ом были интересные вопросы — "представьте, что я инвестор, какой бы вы стартап открыли? а еще одну идею предложите?". Честно говоря, не ожидал

Re[8]: Новая волна SDE & SDET
От: PaulMinelly  
Дата: 09.06.08 00:32
Оценка:
Здравствуйте, Alf, Вы писали:

STM>>кстати, а что спрашивал товарищ из VS, который любит беседовать?


Alf>если ты про прикольного лысоватого дядьку — то много бесед по CV и задачка на inplace string extension


Кто-нить расскажите что значит inplace string extension?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Новая волна SDE & SDET
От: gryz  
Дата: 09.06.08 06:30
Оценка:
Здравствуйте, PaulMinelly, Вы писали:

PM>Кто-нить расскажите что значит inplace string extension?


Это значит повставлять в строку символов "на месте", т.е. не выделяя новой памяти. При условии, что в текущем буфере строки хватит места для вставляемых символов.
Re[11]: Новая волна SDE & SDET
От: Alf США  
Дата: 09.06.08 07:14
Оценка:
STM>Кстати, а с HR-ом были интересные вопросы — "представьте, что я инвестор, какой бы вы стартап открыли? а еще одну идею предложите?". Честно говоря, не ожидал

им сейчас нужно конкурировать с гуглом, а без инноваций это не сделать. Поэтому за идеи они будут хвататься.
Не зря же несколько раз про Green House рассказывали
Re[10]: Новая волна SDE & SDET
От: Alf США  
Дата: 09.06.08 07:17
Оценка:
кста,
было странно что вообще никаких NDA и ничего не просили не разглашать
судя по более ранним чёсам там были такие шаги.
Жуткий дефицит кадров или уже в пофигизм ударились?
Re[12]: Новая волна SDE & SDET
От: SpeakToMe  
Дата: 09.06.08 07:26
Оценка:
Здравствуйте, Alf, Вы писали:

Alf>Не зря же несколько раз про Green House рассказывали

А что такое Green House?

А по NDA по-моему и раньше народ не подписывал, просили только между собой не обсуждать в день тестирования. Это гугль любит NDA всюду.

Re[10]: Новая волна SDE & SDET
От: PaulMinelly  
Дата: 09.06.08 07:27
Оценка:
PM>>Кто-нить расскажите что значит inplace string extension?

G>Это значит повставлять в строку символов "на месте", т.е. не выделяя новой памяти. При условии, что в текущем буфере строки хватит места для вставляемых символов.


Кстати, как делать задачи такого плана как повставлять в строку, перевернуть строку но именно на C#?
Ведь string в C# immutable — то что, использовать stringbuilder? Вы, я понимаю, это все делали чисто на C++ потому что задачи выглядят именно для него? Как для C# быть? Или они сами говорят — вот тебе stringbuilder — переверни символы в строке?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Новая волна SDE & SDET
От: Alf США  
Дата: 09.06.08 08:15
Оценка:
PM>Кстати, как делать задачи такого плана как повставлять в строку, перевернуть строку но именно на C#?
PM>Ведь string в C# immutable — то что, использовать stringbuilder? Вы, я понимаю, это все делали чисто на C++ потому что задачи выглядят именно для него? Как для C# быть? Или они сами говорят — вот тебе stringbuilder — переверни символы в строке?

стрингбилдер как таковой не предназначен для операций над буфером. Поэтому если собираетесь решать такие задачи на сишарпе — сразу можно начинать от стринга и работать с буфером.
Ну а если приперло от стрингбилдера — Chars property. Только в реальной жизни это оч. неэффективно. Проще сделать ToString() и работать уже без извратов.
Re[12]: Новая волна SDE & SDET
От: PaulMinelly  
Дата: 09.06.08 10:18
Оценка:
PM>>Кстати, как делать задачи такого плана как повставлять в строку, перевернуть строку но именно на C#?
PM>>Ведь string в C# immutable — то что, использовать stringbuilder? Вы, я понимаю, это все делали чисто на C++ потому что задачи выглядят именно для него? Как для C# быть? Или они сами говорят — вот тебе stringbuilder — переверни символы в строке?

Alf>стрингбилдер как таковой не предназначен для операций над буфером. Поэтому если собираетесь решать такие задачи на сишарпе — сразу можно начинать от стринга и работать с буфером. Ну а если приперло от стрингбилдера — Chars property. Только в реальной жизни это оч. неэффективно. Проще сделать ToString() и работать уже без извратов.


Какой буфер ты имеешь виду? Смотри, дают они вот такое:
string mystring = "some long sting here";
и говорят — давай переверни все буквы в строке задом на перед чтобы было "ereh gnits gnol emos".
Как мне это делать, когда string — он immutable? Т.е. я не могу в нем поменять символы местами как в массиве, а если захочу изменить строку хоть чуть-чуть, то будет генериться новая строка каждый раз и мне придется делать конкатенацию аж целых _5_ строк len/2 раз:

Т.е. мы например меняем символ [i] и [len-i] местами, тогда строку можно будет представить ввиде отрезков:
[0;i-1][i][i+1;len-i-1][len-i][len-i+1;len]
и поменять [i] и [len-i] местами:
[0;i-1][len-i][i+1;len-i-1][i][len-i;len]
и так для всех i от 1 до len/2 раз. Получится офигительная куча строк, которые буду создаваться, объединяться каждый раз и вот это будет действительно ужос. А стрингбилдером все можно поменять inplace. Или почему это плохой выход и какой буфер ты имеешь ввиду?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Новая волна SDE & SDET
От: Овощ http://www.google.com
Дата: 09.06.08 10:34
Оценка:
Здравствуйте, PaulMinelly.

Хмм...
А если просто сделать буфер в виде массива char'ов (char[] buffer ...) и работать с ним?
А для конвертации в строку/из строки использовать String.ToCharArray() и String..ctor(char[] value)?
Re[11]: Новая волна SDE & SDET
От: SpeakToMe  
Дата: 09.06.08 10:56
Оценка:
Здравствуйте, PaulMinelly, Вы писали:

PM>Кстати, как делать задачи такого плана как повставлять в строку, перевернуть строку но именно на C#?

PM>Ведь string в C# immutable — то что, использовать stringbuilder? Вы, я понимаю, это все делали чисто на C++ потому что задачи выглядят именно для него? Как для C# быть? Или они сами говорят — вот тебе stringbuilder — переверни символы в строке?

Возможно, что такие вопросы задавали людям с ярко выраженным "C++ Background" в резюме, чтобы проверить работу с строками/указателеми и т.д. У меня C++ в резюме всего около года давным-давно, остальное Java/C#, и такого вопроса я не получил. Если бы задали, то получил бы у строки массив char[] и дальше игрался бы с ним аналогично стилю C, за исключением указателей ессно.

Re[14]: Новая волна SDE & SDET
От: PaulMinelly  
Дата: 09.06.08 13:18
Оценка: 1 (1) +1
Здравствуйте, Овощ, Вы писали:

О>Здравствуйте, PaulMinelly.


О>Хмм...

О>А если просто сделать буфер в виде массива char'ов (char[] buffer ...) и работать с ним?
О>А для конвертации в строку/из строки использовать String.ToCharArray() и String..ctor(char[] value)?

Тогда получается не in-place, а использование памяти аж O(n).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Новая волна SDE & SDET
От: SpeakToMe  
Дата: 09.06.08 14:01
Оценка:
Здравствуйте, PaulMinelly, Вы писали:

О>>А если просто сделать буфер в виде массива char'ов (char[] buffer ...) и работать с ним?

О>>А для конвертации в строку/из строки использовать String.ToCharArray() и String..ctor(char[] value)?

PM>Тогда получается не in-place, а использование памяти аж O(n).


Не совсем. Если у нас будет на входе StringBuilder, то можем работать с его символами через коллекцию Chars. Если мы все операции будем делать в пределах одного потока, каждый read/write элемента внутреннего массива символов будет О(1) операций, если из разных потоков — при записи попадаем на O(n) операций.

Re[12]: Новая волна SDE & SDET
От: Alf США  
Дата: 09.06.08 20:26
Оценка:
STM>Возможно, что такие вопросы задавали людям с ярко выраженным "C++ Background" в резюме, чтобы проверить работу с строками/указателеми и т.д. У меня C++ в резюме всего около года давным-давно, остальное Java/C#, и такого вопроса я не получил. Если бы задали, то получил бы у строки массив char[] и дальше игрался бы с ним аналогично стилю C, за исключением указателей ессно.

на самом деле пишите хоть на псевдокоде, главное четко озвучивать что вы хотите сделать
а так они спрашивают на каком языке вам удобно писать — они проверяют не знание синтаксиса, а именно мышление и навыки применения алгоритмов. ИМХО на сишарпе активно никто из них и не пишет.
Re[15]: Новая волна SDE & SDET
От: Alf США  
Дата: 09.06.08 20:28
Оценка:
О>>Хмм...
О>>А если просто сделать буфер в виде массива char'ов (char[] buffer ...) и работать с ним?
О>>А для конвертации в строку/из строки использовать String.ToCharArray() и String..ctor(char[] value)?

PM>Тогда получается не in-place, а использование памяти аж O(n).


ну а что делать. managed среда и всё такое, приходится платить
только никто не мешает вам сказать что на вход вашего метода уже приходит char[] =)
в общем случае в задаче могут быть любые бинарные данные
Re[13]: Новая волна SDE & SDET
От: SpeakToMe  
Дата: 10.06.08 06:10
Оценка:
Здравствуйте, Alf, Вы писали:

STM>>Возможно, что такие вопросы задавали людям с ярко выраженным "C++ Background" в резюме, чтобы проверить работу с строками/указателеми и т.д. У меня C++ в резюме всего около года давным-давно, остальное Java/C#, и такого вопроса я не получил. Если бы задали, то получил бы у строки массив char[] и дальше игрался бы с ним аналогично стилю C, за исключением указателей ессно.


Alf>на самом деле пишите хоть на псевдокоде, главное четко озвучивать что вы хотите сделать

Alf>а так они спрашивают на каком языке вам удобно писать — они проверяют не знание синтаксиса, а именно мышление и навыки применения алгоритмов. ИМХО на сишарпе активно никто из них и не пишет.

ИМХО это спорно. VS активно пишется на сишарпе, и они сейчас, к примеру, переписывают редактор с unmanaged на managed. В SQL Server, конечно, большой кусок кода на плюсах, но сишарп тоже имеется — всякие Business Intelligence/Reports/Studio/etc.

Re[16]: Новая волна SDE & SDET
От: PaulMinelly  
Дата: 10.06.08 11:11
Оценка:
Здравствуйте, SpeakToMe, Вы писали:

STM>Здравствуйте, PaulMinelly, Вы писали:


О>>>А если просто сделать буфер в виде массива char'ов (char[] buffer ...) и работать с ним?

О>>>А для конвертации в строку/из строки использовать String.ToCharArray() и String..ctor(char[] value)?

PM>>Тогда получается не in-place, а использование памяти аж O(n).


STM>Не совсем. Если у нас будет на входе StringBuilder, то можем работать с его символами через коллекцию Chars. Если мы все операции будем делать в пределах одного потока, каждый read/write элемента внутреннего массива символов будет О(1) операций, если из разных потоков — при записи попадаем на O(n) операций.


Операций. Я-то говорю про память O(n), причем здесь потоки? В стрингбилдере использование дополнительной памяти O(1) на всю задачу, как например и при использовании char[] дополнительная память тоже O(1).

Кстати, манипуляции с C-шарповым стрингом приводит к тому, что в памяти конкатенируются O(n) элементов строки все n/2 раз. Поэтому в этом случае тоже исполование памяти O(n), даже хоть и без дополнительного явного хранилища.


А вот за идею с char[]ами — спасибо
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.