# еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 14.11.13 05:45
Оценка:
в этом топике народ отказывается верить, что жизнь не малина и работодатели тащат через океан все, что работает. наш полк пополнился гарным украинским хлопцем, осевшим на соседнем хуторе в отделе быстрого прототипирования на питоне. показал финальное тестовое задание на которое отводился целый час времени. его оставили одного в комнате с лаптопом и сказали писать. а когда вернулись обратно, выяснилось, что он... играет на компьютере! потому что уже давно написал, отладил и помирал со скуки.

а задание было такое. даны три зашифрованных текста. требуется написать программу для их расшифровки. программа может ходить в интернет через http-прокси и качать оттуда все, что душе угодно. (сначала хотел запостить в этюды, но потом решил, что для этюдов это слишком тривиально. кстати, когда я показал ему свое решение, то выяснилось, что он действовал совсем по другому, мое решение требует меньше специальных знаний в тех областях науки и техники, которые я завсегда обходил стороной, в результате чего у меня раза в три больше строк в коде).

а тексты были такие:

#1
ni the nnniiggeb odg treedca the vsnheea nda the trhea. het trhea wsa
uronmfed nda void, ssrnkeda wsa on the feca of the peed, nda the
trpiis of odg vroheed vroe the usrfeca of the wtrea. nhet odg sida,
tel trhee eb tlihg; nda trhee wsa tlihg. odg wsa ttha the tlihg wsa
oogd, nda odg viieddd the tlihg romf the ssrnkeda. odg lledca the
tlihg yad, nda the ssrnkeda he lledca tihgn. os trhee wsa vnnigee, nda
trhee wsa ronnmig, one yda

#2
yutrdaas ronnmig wsa omec, nda lla the usrmme wrold wsa trihgb nda
srhfe, nda rnmmiigb wtih life. rheet wsa a song ni yvree trhea; nda if
the trhea wsa yuong the usmic ussied ta the spli. rheet wsa rheec ni
yvree feca nda a srpnig ni yvree tspe. het uttssroleec- wree ni oomlb
nda the rrngfecaa of the sssoomlb llifed the ria. riffdac llih, yonedb
the vlligea nda voeba ti, wsa rngee wtih vttonigeea nda ti yla utsj
rfa uonhge ywaa to smee a tlleeecbad ndal, yrmeda, usrpolfee, nda
vtnniiig.

#3
rheet onec vlied a rpoo trolia, woh hda a son lledca nliddaa, a
ssrleeca, lied yob woh wuold od tonnihg utb ypla lla yda onlg ni the
ttssree wtih ttllie lied ysob lkie smlihfe. siht so vrigeed the
trhfea ttha he iedd; yte, ni tspie of sih tsromhe' tsrea nda ysrrpea,
nliddaa idd ton nmed sih ywsa. neo yda, wnhe he wsa ypnliga ni the
ttssree sa uusla, a tsrrngea skeda mih sih gea, nda if he wree ton the
son of utsphaam the trolia.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: # еще раз о поиске работы за рубежом
От: AlexMld Россия  
Дата: 14.11.13 06:03
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а задание было такое. даны три зашифрованных текста.


Шифрование заключается в сортировке букв в словах?
Re: # еще раз о поиске работы за рубежом
От: qwertyuiop Российская Империя  
Дата: 14.11.13 06:18
Оценка: +3
Здравствуйте, мыщъх, Вы писали:

М>а тексты были такие:


М>#1

М>ni the nnniiggeb odg treedca the vsnheea nda the trhea. het trhea wsa
in the beginning god created the heaven and the earth... <чёт дальше не интересно>

М>uronmfed nda void, ssrnkeda wsa on the feca of the peed, nda the

М>trpiis of odg vroheed vroe the usrfeca of the wtrea. nhet odg sida,
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re: # еще раз о поиске работы за рубежом
От: anatoly1  
Дата: 14.11.13 06:25
Оценка:
Здравствуйте, мыщъх, Вы писали:

М> odg


Есть сомнения, что программу, которая верно определит, что это за слово — "dog" или "god" — , можно написать за один час. Только если человек ранее не занимался natural language processing.
А так общий алгоритм бы бы таков: все комбинации зашифрованного слова отправлять в гугл, и то слово, которое выдает больше все результатов, считать искомым.
Re[2]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 14.11.13 06:27
Оценка:
Здравствуйте, qwertyuiop, Вы писали:

Q>Здравствуйте, мыщъх, Вы писали:


М>>а тексты были такие:


М>>#1

М>>ni the nnniiggeb odg treedca the vsnheea nda the trhea. het trhea wsa
Q>in the beginning god created the heaven and the earth... <чёт дальше не интересно>

дальше неинтересно или вы забуксовали? вообще-то, предполагалось, что это будет делать программа. с учетом того, что в последнем тексте встречаются совсем не английские имена (сюрприз!) то английского словаря для реконструкции недостаточно.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # еще раз о поиске работы за рубежом
От: qwertyuiop Российская Империя  
Дата: 14.11.13 06:29
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>дальше неинтересно или вы забуксовали? вообще-то, предполагалось, что это будет делать программа. с учетом того, что в последнем тексте встречаются совсем не английские имена (сюрприз!) то английского словаря для реконструкции недостаточно.


Ну, если бы я писал такую программу, я бы просто нашел в интернете начало, а остальной текст слизнул бы оттуда.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[2]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 14.11.13 06:32
Оценка:
Здравствуйте, AlexMld, Вы писали:

AM>Здравствуйте, мыщъх, Вы писали:


М>>а задание было такое. даны три зашифрованных текста.


AM>Шифрование заключается в сортировке букв в словах?

угу. все буквы отсортированы задом наперед и никакой логики в этом нет, что делает невозможным реконструкцию "трудных" слов (в частности, не английских имен) на основе реконструкции "легких" слов, т.к. информация о порядке букв утрачена.

реконструкция по словарю так же встречает затруднения. например, car и arc состоят из одних и тех же букв. следовательно, возникает неоднозначность -- какое слово выбрать? ручную дешифровку не предлагать, т.к. сказано же -- написать программу.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # еще раз о поиске работы за рубежом
От: Аноним931 Германия  
Дата: 14.11.13 06:33
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>дальше неинтересно или вы забуксовали?


Неинтересно. Реально уныло, уж извини
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Re[2]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 14.11.13 06:38
Оценка:
Здравствуйте, anatoly1, Вы писали:

A>Здравствуйте, мыщъх, Вы писали:


М>> odg


A>Есть сомнения, что программу, которая верно определит, что это за слово — "dog" или "god"

программа может пользоваться интернетом. и тащить все оттуда.

A>А так общий алгоритм бы бы таков: все комбинации зашифрованного слова отправлять в гугл,

A>и то слово, которое выдает больше все результатов, считать искомым.
гугл борется с ботами. с яху в этом плане намного проще. но как бы да, и тот хлопец, и я -- оба пользовали поисковые системы для получения ответа на вопрос кто сотворил землю -- пес смердящий или господь бог.

напоминаю, что это задание на позицию в группу быстрого прототипирования. если алгоритм сводится к поиску в огромной базе текстов, то его можно реализовать и локально, а пока такой базы нет -- поисковики в помощь. как-то так...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 14.11.13 06:43
Оценка:
Здравствуйте, qwertyuiop, Вы писали:

Q>Здравствуйте, мыщъх, Вы писали:


М>>дальше неинтересно или вы забуксовали? вообще-то, предполагалось, что это будет делать программа. с учетом того, что в последнем тексте встречаются совсем не английские имена (сюрприз!) то английского словаря для реконструкции недостаточно.


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


наберите в поисковике библия. и получите десятка четыре английских переводов, которые _незначительно_ отличаются друг от друга. какой текст брать? текст номер два -- нативный английский и потому его действительно можно найти по фрагменту. текст номер три снова переводной и переводов сильно больше одного. так что при всем уважении, ваш алгоритм не работает.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 14.11.13 06:45
Оценка:
Здравствуйте, Аноним931, Вы писали:

А>Здравствуйте, мыщъх, Вы писали:


М>>дальше неинтересно или вы забуксовали?

А>Неинтересно. Реально уныло, уж извини
это не ответ. я так и теорему ферма могу доказать, сославшись на то, что это же очевидно, но лень писать доказательство.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # еще раз о поиске работы за рубежом
От: anatoly1  
Дата: 14.11.13 06:56
Оценка:
Здравствуйте, мыщъх, Вы писали:

М> текст номер три снова переводной и переводов сильно больше одного. так что при всем уважении, ваш алгоритм не работает.


Сразу общий алгоритм в таком случае написать не получится. С набором зашифрованных текстов будут пополняться способы их дешифровки.
Потому как возможны варианты в духе: этот зашифрованный текст — первая ферсия какого-то документа, а успешно дешифрованный текст должен быть финальной версей этого документа. А может быть тут нужны и все версии документа. Тогда неплохо бы еще пользователю как-то сообщать о том, что истинно правильной дешифровки нет — вот, дескать, держите описание того, каким образом появился текст зашифрованный и сами выбирайте, какой вариант дешифровки вас устроит.
Re[6]: # еще раз о поиске работы за рубежом
От: Жора Корнев  
Дата: 15.11.13 03:13
Оценка: :)
Здравствуйте, anatoly1, Вы писали:

A>Сразу общий алгоритм в таком случае написать не получится.

Извините, но в трудоустройстве вам отказано
Re: # еще раз о поиске работы за рубежом
От: bazis1 Канада  
Дата: 15.11.13 03:31
Оценка: 1 (1) +2
Здравствуйте, мыщъх, Вы писали:

М>в этом топике народ отказывается верить, что жизнь не малина и работодатели тащат через океан все, что работает.

Да тащат-то они все, только работа в большинстве случаев сводится к "добавить вот тут валидацию аргументов да и вообще, работа не главное, главное — быть членом нашей дружной команды".
Про Гугл вот хорошая цитата есть:

I used to joke with my colleagues that Larry & Sergey go out on their yachts — tie them together, sit back on the same recliners you'll find on their jumbo jet, each on his own yacht/set of yachts, smoke cigars, and put up pictures of Googlers with little snippets like "was a GM at muti-national telecomm company, got a Harvard MBA and is now answering Orkut tickets." and then they would erupt in laughter and clink their cigars & Scotch together in celebration. This, of course, is highly unlikely given neither of them would ever smoke a cigar or drink Scotch. Remainder is plausible.


М>а тексты были такие:

М>[поскипано]
и? буквы местами переставлены. соответственно, для расшифровки нужна база по статистике и некая примитивная база по корреляциям. можно взять гугл или любой другой поисковик.
1. Для каждого "слова" перебрать возможные комбинации, отсеиваем то, что словами не является. Получаем список "кандидатов" для каждого слова. Определяем "коэффициент уверенности", как отношение частоты лучшего кандидата к частоте следующего. Т.е., например odg может быть и god и dog, а вот с "nnniiggeb" понятно, что это beginning.
2. Начинаем со слов с наибольшим коэффициентов. Для неоднозначных слов смотрим не только на частоту использования самих слов, но и на корелляцию — т.е. сравниваем относительные частоты "dog beginning created" с "god beginning created".

В алгоритме довольно много параметров берется "от балды" (например, количество слов в корелляционных запросах), поэтому по-хорошему его надо тюнить, замеряя эффективность на реальных данных.

Только вот толку с того? Все равно это собеседование — первый и последний шанс для сотрудника воспользоваться мозгом. Работа скорее всего быстро скатится в просиживание штанов, вечные митинги ни о чем и фикс мелких багов...
Re: # еще раз о поиске работы за рубежом
От: SkyDance Земля  
Дата: 15.11.13 05:17
Оценка:
М>а задание было такое. даны три зашифрованных текста. требуется написать программу для их расшифровки. программа может ходить в интернет через http-прокси и качать оттуда все, что душе угодно. (сначала хотел запостить в этюды, но потом решил, что для этюдов это слишком тривиально. кстати, когда я показал ему свое решение, то выяснилось, что он действовал совсем по другому, мое решение требует меньше специальных знаний в тех областях науки и техники, которые я завсегда обходил стороной, в результате чего у меня раза в три больше строк в коде).

А мне понравилось, по-моему очень неплохой тест. Поскольку test cases всего 3, проблемы написать программу вообще никакой:

if (text == "ni the nnniiggeb odg treedca <...>") return "in the beginning god created <...>"


Это если строго требованиям следовать. Собсно, как раз за полчаса управиться с проверкой текстов и еще полчаса поиграть.

Если требуется generic алгоритм, тут уже будет сложнее и лично я за час не управлюсь, тем более на незнакомом языке (питоне).

Общая идея простая. Поскольку это явно один связный текст, в конечном итоге нужно будет найти (search) именно заданный отрывок.

Разбиваем текст на предложения. Внутри каждого предложения будем искать по словам, пробуя все перестановки букв в слове, дабы вывести возможные варианты словосочетаний. На этом этапе возможны всякие оптимизационные ухищрения (например, разбивать по 2 слова, по 3 слова и т.п.), но в прототипе требования к производительности не указаны, а значит, пусть тормозит.

В полученном наборе может быть более чем один вариант конкретного предложения (тот самый случай с dog и god, в интернете же всякое можно найти, в том числе и "in the beginning dog created <...>"). Перебираем все возможные комбинации (с учётом того, что порядок предложений менять мы не можем) в поисках совпадения с конкретным текстом. Если таких совпаденй более одного, выводим все — ибо текст не может быть декодирован однозначно.
Re[2]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 15.11.13 05:22
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Здравствуйте, мыщъх, Вы писали:


М>>в этом топике народ отказывается верить, что жизнь не малина и работодатели тащат через океан все, что работает.

B>Да тащат-то они все, только работа в большинстве случаев сводится к "добавить вот тут валидацию аргументов да и вообще, работа не главное, главное — быть членом нашей дружной команды".
вам шашечки или ехать? работой не грузят (даже в секьюрити индустрии вынужденные овертаймы так или иначе компенсируются, обычно гибким графиком и работой по принципу тушить пожар пока не потушим, а когда ничего не горит, то чтобы не потеть на работе -- не укрываться одеялом), зарплату платят белую и без задержек. статус "алиена" в сша не есть препятствие для карьерного роста (если вы карьерист). в случае потери работы даже до получения гринки покидать страну необязательно и государство предоставляет кучу способов легализации без необходимости жениться на американке или принимать обряд обрезания.

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

B>и? буквы местами переставлены. соответственно, для расшифровки нужна база

B>по статистике и некая примитивная база по корреляциям. можно взять гугл или любой другой поисковик.
именно так мы это и решали. разница между мной и челом с украины в том, что он скачал огромный текстовой файл с перечнем английских слов. я же не знал где его брать и потому пошел на гутенберга и скачал несколько книг наугад и затем сгенерил словарь. а дальше мы действовали одинаково. поиск "пес сотворил мир" и "бог сотворил мир" и примитивный парсинг выданного поисковиком результата. теоритически, может сложится так, что два варианта выдают одинаковое кол-во результатов. в этом случае программа выбросит исключение. но в данных текстах исключений не было.

как тут уже заметили -- можно в надежде на русский авось отождествить текст по фрагменту и скачать его целиком. однако, я не рискнул так делать, ибо первый текст однозначно переводной и вроде бы все знают, что его переводов больше одного, а потому возникает слишком большая неоднозначность. плюс еще форматирование. для уменьшения "шума" мы оба совершенно независимо друг от друга качали только пдф и вытягивали оттуда текст с помощью tika. да и качали через wget, ибо это быстрее, чем юзать веб библиотеку для питона.

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

B>1. Для каждого "слова" перебрать возможные комбинации, отсеиваем то, что словами не является.

перебирать? да вроде бы достаточно взять словрь, каждое слово преобразовать в список. список -- отсортировать. каждое слово исходного текста так же преобразовать в список. затем найти одинаковые списки. алгоритмическая сложность ИМХО минимальна и работает очень шустро. я поленился и загнал все списки в мап. чел с украины реализовал бинарный поиск. но визуально производительность в обоих случаях идентична.

B> Определяем "коэффициент уверенности", как отношение частоты лучшего кандидата к частоте следующего.

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

B> Т.е., например odg может быть и god и dog, а вот с "nnniiggeb" понятно, что это beginning.

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

B>В алгоритме довольно много параметров берется "от балды" (например, количество слов в корелляционных запросах),

B>поэтому по-хорошему его надо тюнить, замеряя эффективность на реальных данных.
с учетом того, что у нас есть час времени, то тонкий тюнинг навряд ли подразумевается. легко обосновать, что шифрование происходит с необратимыми потерями и это односторонняя операция. дешифрование возможно только путем эвристики, а эвристика это нечто такое, что _обычно_ работает, но гарантий не дает. следовательно, даже при самом тонком тюнинге возможны ошибки. т.к. это _собеседование_, то свою позицию легко отстоять.


B>Только вот толку с того? Все равно это собеседование — первый и последний шанс

B>для сотрудника воспользоваться мозгом. Работа скорее всего быстро скатится
B>в просиживание штанов, вечные митинги ни о чем и фикс мелких багов...
"а жить на что?" (с). вы хотите сказать, что в рф работа более творческая? классика жанра -- в сша едут не за тем, чтобы работать, а за тем, чтобы жить.

вы можете предложить альтернативу? да и разговор не о том, где растет зеленая нерадиоактивная трава, а о том, что некоторые личности, заглядывающие в этот топик, авторитетно утверждают, что западный работодатель не будет завозить программистов средней руки через океан. и дальше они начинают абстрактные рассуждения как бы они поступали на месте работодателей. статистика выданных виз их не убеждает. ну вот, пожалуйста, конкретный пример финального задания по результатам которого было принято решение. правда, это не рф, а украина, но я не думаю, что в сша это две большие разницы. может быть, есть разница в статистике по отказам в выдаче виз, но работодателю совершенно все равно из какой вы части СНГ.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 15.11.13 05:47
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Если требуется generic алгоритм, тут уже будет сложнее и лично я за час не управлюсь, тем более на незнакомом языке (питоне).

в этом случае вы вряд ли будете метить в группу прототипирования на питоне. кстати, тут за версту несет умением работать со списками. на си решение выглядело бы иначе. в принципе, подумалось мне, что на питоне это решается и через регулярные выражения, но и без них все просто и элегантно -- преообразуем каждое слово исходного текста в список, сортируем. далее берем словарь. сортируем все слова как списки. помещаем их в мап — список_слов_соответствия. ну а дальше просто делаем выборку из мап. впрочем, мап был только у меня. у человека, который проходил это собеседования, был бинарный поиск, но ИМХО мап совсем неплох в своей алгоритмической сложности, хотя хз какая она у него. питон ее не декларирует и разные реализации питона могут делать это по разному.

SD>Общая идея простая. Поскольку это явно один связный текст, в конечном итоге нужно будет найти (search) именно заданный отрывок.

при условии, что отрывок есть. я исходил из худшего (что зашифрованный текст, возможно, слегка умышленно модифицирован -- ведь это все-таки финальное задание, а не хухры-мухры), не моя вина, что все три текста "как есть". наперед это неизвестно. так же нет гарантии, что для проверки работоспособности программы не появится четвертый и пятый тексты. это ж стандартный прием.

SD>Разбиваем текст на предложения. Внутри каждого предложения будем искать по словам,

SD>пробуя все перестановки букв в слове, дабы вывести возможные варианты словосочетаний.
ИМХО вы тут слегка тупите. достаточно отсорировать словарные слова (операция, выполняемая один раз) и сравнивать словарные слова с исходными, что сводится либо к двоичному поиску (вариан чела с украины), либо это мап (мой вариант). оба варианта работают настолько шустро, что львиная доля времени уходит на в/в и разница между ними нивелируется.

SD>В полученном наборе может быть более чем один вариант конкретного предложения (тот самый случай с dog и god,

SD>в интернете же всякое можно найти, в том числе и "in the beginning dog created <...>"). Перебираем все возможные
SD>комбинации (с учётом того, что порядок предложений менять мы не можем) в поисках совпадения с конкретным текстом.
собака зарыта в том, что никто нам не обещал, что все три текста представлены в интернете. хотя таки да. они там есть. а неоднозначность расшифровки носит фундаментальный характер, т.к. шифрование с потерями. в конце-концов, в библии "оборотней" возможно полное соответветствие ветхому завету за тем исключением, что там везде собака. другими словами, предложенный мной и вами алгоритмы -- эвристика. строго алгоритма не существует, что элементарно доказывается. конечно, можно выдавать все возможные вариации декодирования, но их будет слишком много, особенно если учесть, что у бога могла быть собака и они работали вместе.

SD> Если таких совпаденй более одного, выводим все — ибо текст не может быть декодирован однозначно.

так ведь мы получаем дерево. кол-во неоднозначностей стремительно нарастает по мере углубления в текст. конечно, если выдавать неоднозначности в виде in-line списка [dog, god] created.... [dog, god] said... то на выходе будет один текст. если же генерировать текст по полной, то я не уверен, что он поместится на винчестер.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # еще раз о поиске работы за рубежом
От: SkyDance Земля  
Дата: 15.11.13 06:37
Оценка:
М>в этом случае вы вряд ли будете метить в группу прототипирования на питоне.

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

М>при условии, что отрывок есть


Если его нигде нет, как же вы планируете проверять правильность восстановления?

М>ИМХО вы тут слегка тупите. достаточно отсорировать словарные слова


Словаря же у нас нет. Что мы будем сортировать? Если бы словарь был, ваше решение бы имело смысл.

М>собака зарыта в том, что никто нам не обещал, что все три текста представлены в интернете


Тогда у задачи нет однозначного решения.

М>так ведь мы получаем дерево. кол-во неоднозначностей стремительно нарастает по мере углубления в текст. конечно, если выдавать неоднозначности в виде in-line списка [dog, god] created.... [dog, god] said... то на выходе будет один текст. если же генерировать текст по полной, то я не уверен, что он поместится на винчестер.


Если возможны такие неоднозначности, следует указать это в условиях задачи. Как минимум, что делать с ними.
Re[7]: # еще раз о поиске работы за рубежом
От: anatoly1  
Дата: 15.11.13 06:56
Оценка:
Здравствуйте, Жора Корнев, Вы писали:

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


A>>Сразу общий алгоритм в таком случае написать не получится.

ЖК>Извините, но в трудоустройстве вам отказано

Как работадатель вы потеряли уникального сотрудника
Re: # еще раз о поиске работы за рубежом
От: __kot2  
Дата: 15.11.13 07:07
Оценка:
Здравствуйте, мыщъх, Вы писали:
М>в этом топике народ отказывается верить, что жизнь не малина и работодатели тащат через океан все, что работает. наш полк пополнился гарным украинским хлопцем, осевшим на соседнем хуторе в отделе быстрого прототипирования на питоне. показал финальное тестовое задание на которое отводился целый час времени. его оставили одного в комнате с лаптопом и сказали писать. а когда вернулись обратно, выяснилось, что он... играет на компьютере! потому что уже давно написал, отладил и помирал со скуки.
мне кажется в Америке проблема со школой. контроль качества сильно ниже. нет передачи опыта между поколениями разработчиков. старшие быстро отходят в менеджмент, не курируют младших, те в итоге пишут как бог на душу положит, вырастая так до старшего ничего слаще редьки не евшего. Например, большинство наученного в Америке народа считает, что "helper" — это такой очень мощный паттерн проектирования.
один супер старший программист из очень известной компании как-то мне всерьез сказал, что "для того, чтобы проект заработал нормально его нужно минимум 3 раза переписать". а глава нашего смертоносного отдела индусов на мои ревью жалуется, что "он, конечно, все правильно говорит, но внесение всех изменений согласно ревью сильно замедляет разработку. давайте мы будем все чекинить прямо, а потом когда-нибудь выделим дополнительное время и поправим".
Re[2]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 15.11.13 09:00
Оценка:
Здравствуйте, __kot2, Вы писали:

__>Здравствуйте, мыщъх, Вы писали:


__> мне кажется в Америке проблема со школой.

если бы проблемы не было, никто бы не лоббировал законы об увеличении квот для ввоза иноземных разработчиков. пока что из всех заградительных решений был разгон (частичный) бодишопов и всяких институтов медитации, куда поступали все желающие (за деньги, причем небольшие). в результате на поверхности болталось много говен -- вот их и подчистили. в целом же действия властей скорее за мигрантов, чем против них (интересное наблюдение: даже когда нелегал попадает в суд ему дают шанс -- порядка трех месяцев на "легализацию", которая осуществляется сами знаете как. даже если нелегал упертый или тупой как валенок, у него по прежнему есть все шансы легализоваться. исключение составляют, пожалуй, только преступники. но это логично. не фиг нарушать ук. в москве как я понимаю ситуация обратная. нормальные люди испытывают проблемы с переездом, а сами-знаете-кого крышует сами-знаете-кто и потому их не трогают).

__> контроль качества сильно ниже.

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

__> нет передачи опыта между поколениями разработчиков.

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

__> один супер старший программист из очень известной компании как-то мне всерьез сказал, что

__> "для того, чтобы проект заработал нормально его нужно минимум 3 раза переписать".
сколько раз переписывали винду, прежде чем она заработала? как раз три раза. или взять известный отладчик ОллиДбг. первая версия взлетела и стала супер популярной, но... заглохла. и автор решил все переписать заново. с чистого листа. народ негодуэ ибо время идет и идет, а автор все пишет и пишет, но по другому видимо никак.

__> "он, конечно, все правильно говорит, но внесение всех изменений согласно ревью сильно

__> замедляет разработку. давайте мы будем все чекинить прямо, а потом когда-нибудь...
я наступал на эти же грабли. например, РЕСТ сервис с опросом: "готово или мы все еще думаем". 21й век в самом разграре. предлагал сделать двухсторонний РЕСТ, чтобы один компонент "дергал" другой по окончании работы. в плане синхронизации так даже проще выходило. реально меньше кодов ошибок и сильно проще обработка нештатных ситуаций, когда что-то упало. увы. ко мне никто не прислушался и в результате поимели все предсказанные мной проблемы. если сервер не может дернуть клиента, то он как дурак хранит результат и не знает когда клиент "проснется" и его затребует. а чтобы убедиться, что сервер таки работает и мы ждем не напрасно, то можно реализовать "биение сердца" с широковещательной рассылкой (архитектура допускала такое решение). а при широковещательной рассылке серверу совершенно фиолетово сколько клиентов слушает его сердце. хотя, я на своем решении и не настаивал. просто жопой чувствовал, что постоянный опрос статуса только свиду проще реализовать, а на самом деле ничуть не проще, зато проблем уж точно больше.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: # еще раз о поиске работы за рубежом
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 15.11.13 14:30
Оценка:
Здравствуйте, мыщъх, Вы писали:

Что-то вспомнился старый анектод.

А если люди не хотят работать за руб(ь) ежом?
github.com/dmitrigrigoriev/
Re[3]: # еще раз о поиске работы за рубежом
От: __kot2  
Дата: 15.11.13 19:26
Оценка:
Здравствуйте, мыщъх, Вы писали:
М>Здравствуйте, __kot2, Вы писали:
__>>Здравствуйте, мыщъх, Вы писали:
__>> мне кажется в Америке проблема со школой.
М>если бы проблемы не было, никто бы не лоббировал законы об увеличении квот для ввоза иноземных разработчиков.
по крайней мере по тому, что я здесь вижу нанимают народ сюда по той же причине по которой берут гастарбайтеров в строительство в России — никто из местных просто заниматься этим не хочет.
Например, это абсолютно нормально, когда чел со званием тимлид или, еще хуже, сеньер вообще не пишет код и никакого желания писать его не имеет. да и не умеет он этого.

__>> контроль качества сильно ниже.

М>в школе -- да. в институте уровень нормальный и среди преподавателей и лекторов много звезд мировой величины, включая ученых-мигрантов. поскольку меня время от времени приглашают почитать лекции, то со
я про универы мало знаю. слышал только, что уши микросовтовской дебильной системы оценки по бакетам, которую, наконец-то, отменили на днях, растет именно с универа. Чему учит американский универ? не важны твои личные знания, важны знания в сравнении с другими. помогать другим — вредить себе. каждый за себя. коллеги-твои конкуренты. дружи с начальником, стучи на коллег.

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


юникс ничем выдающимся не является. насколько мне известно он достаточно коряво был написан и работал так же. ну, по крайней мере он работал. В России были свои операционки, но просто из-за упущенного времени никто ими не пользовался.

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


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


__>> "он, конечно, все правильно говорит, но внесение всех изменений согласно ревью сильно

__>> замедляет разработку. давайте мы будем все чекинить прямо, а потом когда-нибудь...
М>я наступал на эти же грабли. например, РЕСТ сервис с опросом: "готово или мы все еще думаем". 21й век в самом разграре. предлагал сделать двухсторонний РЕСТ, чтобы один компонент "дергал" другой по окончании работы. в плане синхронизации так даже проще выходило. реально меньше кодов ошибок и сильно проще обработка нештатных ситуаций, когда что-то упало. увы. ко мне никто не прислушался и в результате поимели все предсказанные мной проблемы. если сервер не может дернуть клиента, то он как дурак хранит результат и не знает когда клиент "проснется" и его затребует. а чтобы убедиться, что сервер таки работает и мы ждем не напрасно, то можно реализовать "биение сердца" с широковещательной рассылкой (архитектура допускала такое решение). а при широковещательной рассылке серверу совершенно фиолетово сколько клиентов слушает его сердце. хотя, я на своем решении и не настаивал. просто жопой чувствовал, что постоянный опрос статуса только свиду проще реализовать, а на самом деле ничуть не проще, зато проблем уж точно больше.

есть две причины, по которой люди создают проблемы — по незнанию и специально. есть люди, которые боятся оказаться ненужными после окончания проекта, поэтому стараются его как можно сильнее загадить, чтобы поддерживать его могли только они и чтоб поддержки всем до пенсии хватило. в принципе, это выгодно даже руководству — раздувая штат на поддержку ведь в твоем подчинении оказывается все больше людей, отдел развивается, бюджеты растут.
Re[3]: # еще раз о поиске работы за рубежом
От: bazis1 Канада  
Дата: 17.11.13 18:51
Оценка:
Здравствуйте, мыщъх, Вы писали:

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

М>вам шашечки или ехать? работой не грузят (даже в секьюрити индустрии вынужденные овертаймы так или иначе компенсируются, обычно гибким графиком и работой по принципу тушить пожар пока не потушим, а когда ничего не горит, то чтобы не потеть на работе -- не укрываться одеялом), зарплату платят белую и без задержек. статус "алиена" в сша не есть препятствие для карьерного роста (если вы карьерист). в случае потери работы даже до получения гринки покидать страну необязательно и государство предоставляет кучу способов легализации без необходимости жениться на американке или принимать обряд обрезания.
За всех не ручаюсь, но лично у меня где-то глубоко в подсознании прописан принцип, что жизнь должна представлять собой развитие, а не деградацию. Поэтому гринка-зарплата-график — это хорошо, но если после 5 лет этой радости (а гринка иногда и дольше делается) я превращусь в тупого индуса, единственным умением которого является вылизывание начальственной задницы, то ну нафиг такой расклад...

М>открыть свое дело так же можно до получения гринки. фрилансить без гринки в сша сложно, с этим согласен. но фриланс -- это отдельная тема.

полулегально через наем номинального управляющего — да. но права находиться в стране это не дает и управляющий может кинуть.
М>мы же говорим о требованиях, предъявляемых к соискателям. берут не только звезды первой величины, но даже тех, кого невооруженным глазом ни за что не различить и потребуется телескоп или по крайней мере бинокль.
Требования, ИМХО, обычно такие (в порядке убывания важности):
1. Неконфликтный
2. Покладистый
3. Может поддержать разговор
4. Умеет программировать на уровне 'перевернуть список'

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

тут язык еще важен и чтобы вопросов много не задавал, "не мешая команде работать".

B>>в просиживание штанов, вечные митинги ни о чем и фикс мелких багов...

М>"а жить на что?" (с). вы хотите сказать, что в рф работа более творческая? классика жанра -- в сша едут не за тем, чтобы работать, а за тем, чтобы жить.

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

альтернативу? например, вот такая стратегия:
1. Выбираем компанию, в Research-подразделении которой хотим работать. Смотрим на их проекты, смотрим на публикации, достижения, составляем список ключевых людей.
2. Ставим цель — наладить связи с этими людьми. Для этого смотрим их публикации, составляем список конференций, где они публикуются, определяем общую область.
3. Находим PhD-курс в Германии в этой области. Активно делаем публикации в выбранной области, летаем на конференции из пункта 2, знакомимся и поддерживаем отношения с людьми из пункта 1.
4. Через 3-5 лет имеем список собственных публикаций по теме, получаем PhD, используем знакомства из п.3 как входной билет в Research-подразделение.
5. Имея знакомства в компании и список публикаций, выбиваем себе интересный проект.
6. ...
7. PROFIT!
Re: # еще раз о поиске работы за рубежом
От: artkarma  
Дата: 17.11.13 21:07
Оценка: -1
На мой взгляд очень круто меньше чем за час составить списки заполнить их отсортировать заполнит карты и по картам результировать текст!!! Причем ещё найти словари, я например тока час бы их гуглил и заводил в программу.

Если Вы все такие крутые тоже за час напишите мне программу расшифровки текста:

Z@s6X@s6@#Zsй6^3л3*4561@s6s65326*с36qs*s9$@.613qs6*65326Z9у@sqs


Тут тоже подходит решение со списками так что час даже много, 30 минут.


ПОДСКАЗКО: например ликсема "то" зашифровываеться как "@s" !!!!! Видите очень просто! Итак время пошло
Re[4]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 19.11.13 19:25
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Здравствуйте, мыщъх, Вы писали:


B> если после 5 лет этой радости (а гринка иногда и дольше делается)

выбирайте работу по душе. в сша выбор больше. кстати, гринку с премиум процессингом делают за 4 месяца. работодатель для этого не нужен -- можете оформить ее на себя.

B> я превращусь в тупого индуса, единственным умением которого

B> является вылизывание начальственной задницы, то ну нафиг такой расклад...
вы сами придумали абстрактную ситуацию и сами же послали ее на фиг. где-то такое может быть и практикуется, но в своем окружении я такого не замечал.

B> Требования, ИМХО, обычно такие (в порядке убывания важности):

B> 1. Неконфликтный
B> 2. Покладистый
B> 3. Может поддержать разговор
B> 4. Умеет программировать на уровне 'перевернуть список'
примеры задач можно найти в книге "cracking the coding interview". там не только список. как определить конфликтный или неконфликтный -- хз. "умеет поддержать разговор" -- даже у руководителя среднего звена проблема в том, что до черта людей требует к себе внимания и очень долго говорит ни о чем, в результате плюс в карму получают те, кто не разговаривает. насколько я могу судить со своей колокольни, в идеале разговор строится так:

руководитель -- у вас бага!
подчиненный -- исправлено.

а вот когда подчиненый начинает оправдываться или извиняться, то это адъ и израиль.


B> тут язык еще важен и чтобы вопросов много не задавал, "не мешая команде работать".

если язык это проблема, то я не знаю

B>альтернативу? например, вот такая стратегия:

...
B>5. Имея знакомства в компании и список публикаций, выбиваем себе интересный проект.
имелось ввиду альтернативу работы на компанию (или открытие своего дела).
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # еще раз о поиске работы за рубежом
От: FireShock Россия  
Дата: 20.11.13 05:40
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>кстати, гринку с премиум процессингом делают за 4 месяца. работодатель для этого не нужен -- можете оформить ее на себя.

Это что за виза?
Instagram
Re[6]: # еще раз о поиске работы за рубежом
От: мыщъх США http://nezumi-lab.org
Дата: 20.11.13 06:55
Оценка: 2 (1)
Здравствуйте, FireShock, Вы писали:

FS>Здравствуйте, мыщъх, Вы писали:


М>>кстати, гринку с премиум процессингом делают за 4 месяца. работодатель для этого не нужен -- можете оформить ее на себя.

FS>Это что за виза?
да их много хороших и разных. читам, просвящяемся: http://www.uscis.gov/working-united-states/permanent-workers
если читать не можем, то возлагаем эту задачу на юриста. кстати, я не понял вопроса:
а) какая виза делается за 4 месяца?
б) какая виза делается без работодателя?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[7]: # еще раз о поиске работы за рубежом
От: FireShock Россия  
Дата: 20.11.13 07:04
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>я не понял вопроса:

М>а) какая виза делается за 4 месяца?
Не, это я могу и подождать.

М>б) какая виза делается без работодателя?

Да, вот это интересно.
Instagram
Re[5]: # еще раз о поиске работы за рубежом
От: __kot2  
Дата: 22.11.13 19:52
Оценка:
Здравствуйте, мыщъх, Вы писали:
B>> я превращусь в тупого индуса, единственным умением которого
B>> является вылизывание начальственной задницы, то ну нафиг такой расклад...
М>вы сами придумали абстрактную ситуацию и сами же послали ее на фиг. где-то такое может быть и практикуется, но в своем окружении я такого не замечал.
да нет, проблема такая правда есть. в MS у нас даже есть фраза в ходу: "ты просто слишком долго тут работаешь"
я знаком и с культурой других компаний, могу сказать, что в Америке разработке гораздо более caree-driven. в первую очередь — повышения, зарплаты, сохранение работы, разработка — это даже не второе. Мне очень сомнительным кажется, что такая культура может реально двигать прогресс — не стоит ожидать каких-то больших прорывов и крутых продуктов по крайней мере ближайшие лет 10.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.