Архитектор из дома
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Архитектор из дома
Позицию в смысле job title , но за детали тоже спасибо
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Архитектор из дома
С дамой я не берусь судить, бог знает что за там у вас ситуация вышла . Мне чисто хотелось понять какого ответа ждали. Ну вот в моем случае он явно не подошел как я и описала выше.olis wrote: Да примерно того что АццкоМото написал - код в одну строчку.
Я ведь не из вредности ее спросил, а так - чиста разговор поддержать. Потому что на вопросы коллеги она тоже толком не ответила.
От дамы мы никакаго кода не дождались. После туалета она повторила "злые вы, уйду я от вас", только нам обоим и на английском.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Архитектор из дома
Не знаю, от вас просили использовать буфер в один символ/байт - так там используется ровно столько жеСабина wrote:Ну вот в моем случае он явно не подошел как я и описала выше.
можно ВООБЩЕ не использовать буфер, принципиально, и свопать два символа через XOR, например. http://en.wikipedia.org/wiki/XOR_swap_algorithm Но это, КМК, паранойа, все равно мы тратим стек на всякие индексы и вызовы как минимум strlen().
Т.е. вот это извращение не использует буфер вообще:
Code: Select all
void reverse(char *str) {
if (str) for (int i=0, j=strlen(str)-1; i<j; i++, j--) {str[i]^=str[j]; str[j]^=str[i]; str[i]^=str[j]; }
}
Code: Select all
void reverse(char *str) {
if (str) for (char *end=str+strlen(str)-1; str<end; str++, end--) { *str^=*end; *end^=*str; *str^=*end; }
}
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Архитектор из дома
почему? интересноЛеонид Ильич Брежнев wrote:Я вот не знаю, кого можно нанять вот такой тухлятиной? Причем и написанием/разворачиванием linked lists и atoi() они имхо все одинаково тухло пахнут. Видел массу нардоу, которые просто в указателях, всяких вторых/третих волкерах и темпах тонули. Причем стоит чуть притопить себя, как дальче тебя начинает просто захлестывать волной.
Я даже не знаю, может оно спрашивать про третий параметер функции CreateWindowEx() это и не самая плохая идея идея сама по себе? Отвечать можно даже не вставая с места.
Я давеча беседовал с Gayle Laakmann, которая автор книжки про интевью "Cracking the Coding Interview", она новую книгу пишет теперь про PM-омов, так вот она упорно считает, что спрашивать такие вот вопросы это правильно. И книга у нее сoстоит из них же.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Архитектор из дома
посмотрите на код ЛИБ по унизительному переворачиванию строки и все станет на свои местаAlexandr wrote:почему? интересно
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Архитектор из дома
Спасибо за С код, но я не С программист. Я так и не поняла чем мой код не устроил того товарища. Ни рекурсивный, ни с loop как ты там изначально написал. Он все напирал на то что буфер я использую не так как в поставленной им задаче. В какой то момент меня это все просто достало и я решила что мне эта работа все равно нафиг не нужна и мозг полностью отключился. Истерики я конечно устраивать никому не стала, но после того как он продолжал настойчиво копать эту задачу я просто перебила его и сказала "I am sorry but it is already an hour pass the time we agreed about with your HR and I really have to go.". Что в общем то было не совсем невежливо ибо сам он опоздал на часАццкоМото wrote:Не знаю, от вас просили использовать буфер в один символ/байт - так там используется ровно столько жеСабина wrote:Ну вот в моем случае он явно не подошел как я и описала выше.
можно ВООБЩЕ не использовать буфер, принципиально, и свопать два символа через XOR, например. http://en.wikipedia.org/wiki/XOR_swap_algorithm Но это, КМК, паранойа, все равно мы тратим стек на всякие индексы и вызовы как минимум strlen().
Т.е. вот это извращение не использует буфер вообще:Или чуть красивее так:Code: Select all
void reverse(char *str) { if (str) for (int i=0, j=strlen(str)-1; i<j; i++, j--) {str[i]^=str[j]; str[j]^=str[i]; str[i]^=str[j]; } }
Code: Select all
void reverse(char *str) { if (str) for (char *end=str+strlen(str)-1; str<end; str++, end--) { *str^=*end; *end^=*str; *str^=*end; } }
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Архитектор из дома
Я тоже не понимаю. Единственная версия - все-таки строки в жабе immutable и как ни крути, нужно создавать новую строку/какие-то другие новые объектыСабина wrote:Я так и не поняла чем мой код не устроил того товарища.
Но если сильно припекло, то и immutable объект все-таки можно изменить. Может, он этого хотел?
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Архитектор из дома
Тогда это надо явно указывать.
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Архитектор из дома
Нет он вообще по моему в Джаве не бум бум, все какие то головоломки спрашивал и немного из Оракла. Причем если давала ответ правильный, но не из тех что в его заготовках, он продолжал гнуть в свою сторону пока я не догадывалась что он "вот такой ответ хочет". Менеджерам это присуще, особенно из наших.АццкоМото wrote:Я тоже не понимаю. Единственная версия - все-таки строки в жабе immutable и как ни крути, нужно создавать новую строку/какие-то другие новые объектыСабина wrote:Я так и не поняла чем мой код не устроил того товарища.
Но если сильно припекло, то и immutable объект все-таки можно изменить. Может, он этого хотел?
Короче хватит с нас обсуждать этот странный случАЙ , я собственно приводила пример как можно напрочь отпугнуть всех кандидатов не имея элементарной культуры ведения интервью. Че потом удивляться что они полгода девелоперов ищут с таким раскладом? Кто к ним пойдет если во многих других местах и люди вменяемые и вопросы задают по делу. Я понимаю когда после колледжа это все еще можно купить, но когда ты на языке на который тебя интервьюируют решал эту задачу и не раз, а тебе пытаются доказать что ты все не так делаешь, причем люди не знающие этого языка - это мягко говоря annoying .
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
Re: Архитектор из дома
АццкоМото wrote: А что там объяснять-то? Я же вроде как объяснил. Ну вот давайте представим, что исходная строка "123", s=s+s ВНЕЗАПНО сделает строку 123123. length=s.length/2 даст 3
Понятное дело, что i>length есть ложь, поэтому вообще ничего не выполнится. но мы не звери, мы читаем как i<length
тогда на первом шаге
s[0]=s[3]
s[3]=null
результат: 123null23
на втором шаге
s[1]=s[2]
s[2]=null
13nullnull23
на третьем шаге
s[2]=s[1]
s[1]=null
1null3null23
Хотя НА САМОМ деле stenking имел в виду
s = s[length-i-1]
s[length-i-1] = null;
т.е. классическая ошибка: в строке с из N символов длина строки равна N, но индекс последнего элемента - N-1. но и тогда на выходе получилось бы nullnullnull123 - в чем легко убедиться
Стенкинг писал псевдокод если чё, в 3 часа ночи с бутылкой вина. Посыпаю голову пеплом и торжественно клянусь в будущем думать что пишу
Бога нет.
-
- Уже с Приветом
- Posts: 1679
- Joined: 04 Oct 2006 23:30
- Location: Las Vegas
Re: Архитектор из дома
Интересно, сколько необходимо прождать интервьюера, чтобы озвереть?Сабина wrote:...ибо сам он опоздал на час...
Я как то собеседовался в sun представительстве в Москве, там там чувак не парясь трындел (я его видел сквозь стеклянные стены) +45 минут с другим кандидатом после назначенного мне времени. А потом как ни в чем не бывало вылез, типа извини...
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Архитектор из дома
И верно, ну их, этих упырей. С другой стороны, кто-то выше совершенно верно написал про вин-вин ситуацию: лучше неприятно себя чувствовать час-другой на интервью, чем потом с этим упырем каждый день работать или тем паче в начальниках иметьСабина wrote: Короче хватит с нас обсуждать этот странный случАЙ , я собственно приводила пример как можно напрочь отпугнуть всех кандидатов не имея элементарной культуры ведения интервью. Че потом удивляться что они полгода девелоперов ищут с таким раскладом? Кто к ним пойдет если во многих других местах и люди вменяемые и вопросы задают по делу.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Архитектор из дома
Не, идея-то понятна, там подправить, здесь подправить и перевернутая строка получится. Но я никак не могу понять идею выделить под нее в 2 раза больше памяти, чем нужно. Ведь когда мы ставшую ненужной половину строки забиваем нулями память не освобождается волшебным образомstenking wrote:Стенкинг писал псевдокод если чё, в 3 часа ночи с бутылкой вина. Посыпаю голову пеплом и торжественно клянусь в будущем думать что пишу
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Архитектор из дома
Ну он типа в трафике застрял, хотя время было хорошо за 11, не знаю как там можно было на 101-й так хорошо застрять в это время. Но меня бы это сильно не напрягло, как минимум гораздо меньше чем какое то непонятное интервью с которого выходишь с чувством полностью потерянного времени. В прошлый раз вышло 50/50 в плане которые прошла и которые нет, но даже из непройденных многие запомнились. Где-то просто была возможность поговорить интересно, где-то научилась новому. А это был просто полный waste.John Smith wrote:Интересно, сколько необходимо прождать интервьюера, чтобы озвереть?Сабина wrote:...ибо сам он опоздал на час...
Я как то собеседовался в sun представительстве в Москве, там там чувак не парясь трындел (я его видел сквозь стеклянные стены) +45 минут с другим кандидатом после назначенного мне времени. А потом как ни в чем не бывало вылез, типа извини...
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Архитектор из дома
C другой стороны - а где их взять, вменяемых?АццкоМото wrote:И верно, ну их, этих упырей. С другой стороны, кто-то выше совершенно верно написал про вин-вин ситуацию: лучше неприятно себя чувствовать час-другой на интервью, чем потом с этим упырем каждый день работать или тем паче в начальниках иметьСабина wrote: Короче хватит с нас обсуждать этот странный случАЙ , я собственно приводила пример как можно напрочь отпугнуть всех кандидатов не имея элементарной культуры ведения интервью. Че потом удивляться что они полгода девелоперов ищут с таким раскладом? Кто к ним пойдет если во многих других местах и люди вменяемые и вопросы задают по делу.
Тот же Интеррапт, к примеру, задрочит юнит-тестами, документацией и исходниками в открытом репозитории.
До алгоритмов, думаю, даже не дойдет и утухнет на третьем параметре какой-нибудь широко известеой в узких кругах библиотечной функции.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Архитектор из дома
Не знаю, у меня случайно получилось. Желающих могу к себе забрать, у нас referral bonus 5k (2 мне, 2 желающему, 1 - привету) и всем известное имя впридачу И вот еще - в мой код за полтора года начальник смотрел раза 3, когда я его спрашивал "не знаешь, что за хрень?" и проще было показать в дебагере, чем объяснять. Но у нас же пустыня, кактусы, 120F круглый год и ковбойцы на лошадях погоняют дикие стада мексиканцев. Так что никуда не деться с подводной лодкиМальчик-Одуванчик wrote: C другой стороны - а где их взять, вменяемых?
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Архитектор из дома
А вот ты сам оформляешь код в таком стиле в pet проекрах? Я например вообще тесты не пишу ))Интеррапт wrote:А я посмотрю. Посмотрю на структуру кода. Посмотрю на наличие юнит тестов, да много чего можно сразу же увидеть. И зачем мне его на доске заставлять писать и задавать вопросы "а теперь напишите юнит-тесты для этого решения", если человек мне просто покажет уже готовый код и расскажет, что именно он тут тестировал. Посмотрю на его wiki/readme в гитхабе к данному проекту, вот уже сразу можно увидеть, умеет ли человек писать тех. документацию к своему коду. Если кандидат уже прошел телефонный пре-скриннинг и дошел до тех. интервью, то соответственно и отнестись нужно к нему соответствующе, он тоже тратит день своего времени на интервью, почему бы не уделить внимание его работам и проектам? Если останутся какие-то сомнения то можно и задачку на доске решить. Просто у многих подход к интервью, типа за день до интервью узнал о нем, резюме прочел за час до интервью, вопросы нагуглил за 10 минут и пошел их задавать. И результаты потом соответствующие.Berlaga wrote: Ну, возможно так и есть. Только тут другая проблема, я лично не готов потратить свое время на то, чтобы сходу оценить, не написана ли у него тут полная фигня. Пусть и красиво написанная, с комментариями и по гайдлайну, без видимых косяков. Я его лучше просто попрошу рассказать, ДЛЯ ЧЕГО он это написал и почему ИМЕННО ТАК написал. В код при этом смотреть вообще не обязательно. Но тут мне скажут, что это уже "заваливать".
А так если я работ человека увидеть не могу, то ес-но будту идти по традиционному пути (решения на доске), а вот если у человека есть что продемонстировать в виде опен-сорсного проекта на который можно взглянуть, то он и себе работу облегчает (о чем собственно и речь) и мне.
In vino Veritas!
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Архитектор из дома
В википедии огромную статью с разными подходами наваяли тем не менее ))Интеррапт wrote:Better hashmap сложно придумать, он прост как три копейки и особо там уже ничего не придумаешь. Основные копья можно поломать, чтобы придумать хорошую хеш-функцию для ключа, которая позволит минимизировать кол-во коллизий или вообще добиться инъективного отображенияСабина wrote:Написать better hash map или простенькую queue, cache service.
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Архитектор из дома
Если пет проект просто потрогать новую технологию - то нет. Если что-то вроде того, что уйдет в какой-нибудь мобильный магазин, то пишу, просто поменьше. А в коде, который будут трогать другие люди (это на основной работе) - обязательно и много.crypto5 wrote: А вот ты сам оформляешь код в таком стиле в pet проекрах? Я например вообще тесты не пишу ))
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Архитектор из дома
Не знаю, что там в википедии, небось половина статьи рассказывает про то, что нужно хеш функции правильные выбирать и как бороться с коллизиями. А вторая половина небось про перформенс и где использовать. Ну и еще всякие вариации типа linked hash map. Но что-либо новое по улучшению самих хеш таблиц - вряд-ли получится придумать, максимум что в проекте может понадобится - это написать правильную хеш функцию для ключа.crypto5 wrote:В википедии огромную статью с разными подходами наваяли тем не менее ))Интеррапт wrote:Better hashmap сложно придумать, он прост как три копейки и особо там уже ничего не придумаешь. Основные копья можно поломать, чтобы придумать хорошую хеш-функцию для ключа, которая позволит минимизировать кол-во коллизий или вообще добиться инъективного отображенияСабина wrote:Написать better hash map или простенькую queue, cache service.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Архитектор из дома
Телеграфирую идею better hash map:Интеррапт wrote: Не знаю, что там в википедии, небось половина статьи рассказывает про то, что нужно хеш функции правильные выбирать и как бороться с коллизиями. А вторая половина небось про перформенс и где использовать. Ну и еще всякие вариации типа linked hash map. Но что-либо новое по улучшению самих хеш таблиц - вряд-ли получится придумать, максимум что в проекте может понадобится - это написать правильную хеш функцию для ключа.
Классический хешмеп когда он заполнен на какой то % и/или колизии превысили определенный порог - создает новый массив в n раз больше, и перевставляет туда все данные, что может сильно убить latency отклика приложения если в хешмепе много данных.
Можно придумать такой хешмеп, который вместо копирования старого массива будет просто создавать новый, и вставлять новые элементы туда, а искать в обоих массивах, при этом для определения нужного массива при поискe можно использовать http://en.wikipedia.org/wiki/Bloom_filter, и вуаля, получаем быстрый хешмеп который линейно не тормозит при вставке.
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Архитектор из дома
А зачем bloom filter в данном случае нужен? Если есть вероятность false positive, с таким же успехом можно просто по очереди попытаться найти сначала в одном массиве, потом в другом. Никакого выигрыша в данном случае bloom filter вообще не даст, разве что если у вас большое кол-во этих самых массивов.crypto5 wrote:Телеграфирую идею better hash map:Интеррапт wrote: Не знаю, что там в википедии, небось половина статьи рассказывает про то, что нужно хеш функции правильные выбирать и как бороться с коллизиями. А вторая половина небось про перформенс и где использовать. Ну и еще всякие вариации типа linked hash map. Но что-либо новое по улучшению самих хеш таблиц - вряд-ли получится придумать, максимум что в проекте может понадобится - это написать правильную хеш функцию для ключа.
Классический хешмеп когда он заполнен на какой то % и/или колизии превысили определенный порог - создает новый массив в n раз больше, и перевставляет туда все данные, что может сильно убить latency отклика приложения если в хешмепе много данных.
Можно придумать такой хешмеп, который вместо копирования старого массива будет просто создавать новый, и вставлять новые элементы туда, а искать в обоих массивах, при этом для определения нужного массива при поискe можно использовать http://en.wikipedia.org/wiki/Bloom_filter, и вуаля, получаем быстрый хешмеп который линейно не тормозит при вставке.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Архитектор из дома
Если данных много то и массивов может насоздаваться много. Возможно последовательный поиск будет и быстрее чем bloom filter, возможно и нет, поэтому я написал "можно использовать".Интеррапт wrote:А зачем bloom filter в данном случае нужен? Если есть вероятность false positive, с таким же успехом можно просто по очереди попытаться найти сначала в одном массиве, потом в другом. Никакого выигрыша в данном случае bloom filter вообще не даст, разве что если у вас большое кол-во этих самых массивов.crypto5 wrote:Телеграфирую идею better hash map:Интеррапт wrote: Не знаю, что там в википедии, небось половина статьи рассказывает про то, что нужно хеш функции правильные выбирать и как бороться с коллизиями. А вторая половина небось про перформенс и где использовать. Ну и еще всякие вариации типа linked hash map. Но что-либо новое по улучшению самих хеш таблиц - вряд-ли получится придумать, максимум что в проекте может понадобится - это написать правильную хеш функцию для ключа.
Классический хешмеп когда он заполнен на какой то % и/или колизии превысили определенный порог - создает новый массив в n раз больше, и перевставляет туда все данные, что может сильно убить latency отклика приложения если в хешмепе много данных.
Можно придумать такой хешмеп, который вместо копирования старого массива будет просто создавать новый, и вставлять новые элементы туда, а искать в обоих массивах, при этом для определения нужного массива при поискe можно использовать http://en.wikipedia.org/wiki/Bloom_filter, и вуаля, получаем быстрый хешмеп который линейно не тормозит при вставке.
In vino Veritas!
-
- Уже с Приветом
- Posts: 808
- Joined: 13 Jan 2009 05:11
- Location: из страны восходящих закатов
Re: Архитектор из дома
вроде ключ можно генерить который сам будет сразу знать к какому масиву он принадлежит
Кто не рискует, тот не пьет