Как вы лечите свою жабу?

User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Как вы лечите свою жабу?

Post by Kolbasoff »

АццкоМото wrote:Утрируя: если программиста любого уровня синьористости или джуниористости попросить посчитать сумму элементов двумерного массива, он начнет с двух вложенных циклов. (А потом, возможно, начнет теоретизировать, что это банальное решение, а в жизни мы можем намутить что-то более интересное). Но толпы странных людей будут пыхтеть с одним циклом. И их на таком интервью нужно безжалостно отфильтровывать. Ну и плюс времени не так чтобы дофига было. Так что все гут, имхо
да, я сразу говорил, что я буду делать, а потом уже начинал писать код, и вот кодирование получалось не очень. Однако сегодня позвонила рекрутерша и сказала, что я очень (!!!) хорошо прошел это интервью, и что на следующей неделе уже финальное будет на сайте заказчика. К тому же Обамыч Spending Bill подмахнул, рекрутеры резко оживились. Я по этому поводу стих сочинил:

Закрутилась, зазвенела пила
Зубья с жадностью вгрызлись в бабло
Кто-то ловко откатит бревно
Ну а кто-то лишь опилок поест

Но сегодня ликует завод
Наш завод, что не жнет, не куёт
Просто так переводит добро
Собирая с насиженных мест.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

Мальчик-Одуванчик wrote: Это наподобие знания всех флагов в N-ом параметре Win32. Совершенно бесполезное и мусорное знание.
Гуглится за пару минут, зачем забивать этим хламом голову.
Ну вот тут я согласен. Но что делать, если это знание уже лежит в голове, не выкидывать же его оттуда.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Как вы лечите свою жабу?

Post by Мальчик-Одуванчик »

Интеррапт wrote:
Мальчик-Одуванчик wrote: Это наподобие знания всех флагов в N-ом параметре Win32. Совершенно бесполезное и мусорное знание.
Гуглится за пару минут, зачем забивать этим хламом голову.
Ну вот тут я согласен. Но что делать, если это знание уже лежит в голове, не выкидывать же его оттуда.
Значит хорошая память
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Kolbasoff wrote:Зубья с жадностью вгрызлись в бабло
Кто-то ловко откатит бревно
"За жратву надо боротся!" (с) Купа-Купыч Гениальный
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Мальчик-Одуванчик wrote:
Интеррапт wrote:
Мальчик-Одуванчик wrote: Это наподобие знания всех флагов в N-ом параметре Win32. Совершенно бесполезное и мусорное знание.
Гуглится за пару минут, зачем забивать этим хламом голову.
Ну вот тут я согласен. Но что делать, если это знание уже лежит в голове, не выкидывать же его оттуда.
Значит хорошая память
Да ладно задач которых спрашивают по типу десятка два - все вполне можно выучить. Другое дело, что это все одно не помогает - нанимают по другим критериям - нравится рожа или не нравится.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Как вы лечите свою жабу?

Post by Мальчик-Одуванчик »

Sergunka wrote:
Мальчик-Одуванчик wrote:
Интеррапт wrote:
Мальчик-Одуванчик wrote: Это наподобие знания всех флагов в N-ом параметре Win32. Совершенно бесполезное и мусорное знание.
Гуглится за пару минут, зачем забивать этим хламом голову.
Ну вот тут я согласен. Но что делать, если это знание уже лежит в голове, не выкидывать же его оттуда.
Значит хорошая память
Да ладно задач которых спрашивают по типу десятка два - все вполне можно выучить. Другое дело, что это все одно не помогает - нанимают по другим критериям - нравится рожа или не нравится.
Да ну нафиг. К примеру в плюсах и сам Страуструп пишет что досконально не разбирается во всех тонкостях.
А это о-малое в сравнении с тем что нагородили вокруг языка.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как вы лечите свою жабу?

Post by crypto5 »

_newcomer_ wrote:
Леонид Ильич Брежнев wrote:А она как внутри кстати ревертит, пузырьком или вторую временную строку создает?
там внутри char[] - тупо свопают полмассива.
Строка наверняка копируется уже в конструкторе, в джаве ж строки иммутабильные, и оригинальную свапать нельзя.
In vino Veritas!
_newcomer_
Уже с Приветом
Posts: 158
Joined: 29 Aug 2013 11:58

Re: Как вы лечите свою жабу?

Post by _newcomer_ »

crypto5 wrote:
_newcomer_ wrote:там внутри char[] - тупо свопают полмассива.
Строка наверняка копируется уже в конструкторе, в джаве ж строки иммутабильные, и оригинальную свапать нельзя.
Вы про StringBuilder/Buffer? Да. В конструкторе копируют входную строку во внутренний char[], крутят массив, потом заново конструируют строку на выходе.
В apache commons reverse() внутри тот же StringBuilder.reverse().
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

crypto5 wrote:
_newcomer_ wrote:
Леонид Ильич Брежнев wrote:А она как внутри кстати ревертит, пузырьком или вторую временную строку создает?
там внутри char[] - тупо свопают полмассива.
Строка наверняка копируется уже в конструкторе, в джаве ж строки иммутабильные, и оригинальную свапать нельзя.
StringBuilder можно и с пустым конструктором вызвать и append-ами добавлять символы, да и получить потом массив символов можно, минуя копирования строк. Хотя сути это, конечно, не меняет, у StringBuilder свой буфер для накапливания символов.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

Кстати, если кого интересует манипуляция со строками (например, пишите код, где известно, что будет большое кол-во разнообразных append, delete для строк), то почитайте о ropes:

http://www.ibm.com/developerworks/library/j-ropes/

Имплементации ropes тоже доступны. Там приведены бенчмарки, но скорее всего они немного устарели.

А вообще интересно наблюдать, как меняется имплементация строк в Джава. Например, до Java 7 (вернее даже до какого-то из апдейтов к Java 7) при вызове substring - новая строка использовала символьный буфер (char[]) от родительской строки (за счет использования offset/count полей в String). В новых версиях семерки (включая Java 8 ес-но тоже) - offset/count поля вообще убрали и теперь substring всегда создает копию символьного буфера. В большинстве случаев это конечно хорошо для memory consumption, операция substring используется не так часто, зато поля offset/count нужно было тащить для каждой строки в Java. С другой стороны, если проект часто использует substring, то есть смысл подумать об оптимизации этой операции, потому что она стала менее производительной и жрет больше памяти.
User avatar
M. Ridcully
Уже с Приветом
Posts: 11999
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Как вы лечите свою жабу?

Post by M. Ridcully »

Интеррапт wrote:до Java 7 (вернее даже до какого-то из апдейтов к Java 7) при вызове substring - новая строка использовала символьный буфер (char[]) от родительской строки (за счет использования offset/count полей в String). В новых версиях семерки (включая Java 8 ес-но тоже) - offset/count поля вообще убрали и теперь substring всегда создает копию символьного буфера. В большинстве случаев это конечно хорошо для memory consumption...
Быть может, дело не только (не столько?) в memory consumption, но в multithreading - скопировал и голова не болит по поводу синхронизации, кэшей и т.д.?

(К Java никакого отношения не имею, так, исключительно догадка из общих соображений.)
Мир Украине. Свободу России.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

M. Ridcully wrote: Быть может, дело не только (не столько?) в memory consumption, но в multithreading - скопировал и голова не болит по поводу синхронизации, кэшей и т.д.?

(К Java никакого отношения не имею, так, исключительно догадка из общих соображений.)
Строки в Java immutable, так что мультипоточность, включая синхронизацию, тут никаким боком. Так что нет, догадка не верна.
Там еще были хитрые проблемы с substring и memory leak (ну почти memory leak), например, у вас очень длинная временная строка (скажем, из файла прочли) на 5 мегабайт. Вы ей делаете substring на 10 символов и выносите результат в долгоживущий class member. Временная строка выходит из области видимости (т.е. должна быть кандидатом на garbage collection). А фиг, буфер от этой строки остается в памяти, так как на него теперь ссылается новый строковой обьект. Получается, что вы думаете, что ваш обьект держит в памяти 10 символов, а он держит все 5 мегабайт.
А теперь читаем 100 файлов по 5 мегабайт каждый. Каждый файл уходит в строку, каждой строке делается substring на 10 символов, этот substring возвращает новый строковой обьект, который мы (для наших нужд) заносим в хеш таблицу. Думаем, что пару килобайт в памяти держим, а на самом деле эта хеш таблица будет удерживать пол гигабайта.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

Забавно что в такой теме дошел разговор и о подробностях Джавы :)
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Как вы лечите свою жабу?

Post by Интеррапт »

Сабина wrote:Забавно что в такой теме дошел разговор и о подробностях Джавы :)
Ну ОК, ОК, не буду больше оффтопить.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

Интеррапт wrote:
Сабина wrote:Забавно что в такой теме дошел разговор и о подробностях Джавы :)
Ну ОК, ОК, не буду больше оффтопить.
Too late now :umnik1: I am afraid this is already something like .... -0.5 + (-0.5) = - 1
https://www.youtube.com/watch?v=wOwblaKmyVw
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Как вы лечите свою жабу?

Post by Zorkus »

Мое мнение (без малейших понтов, просто трезвая оценка) - если вы чтобы найти работу ищете ее, вас зовут на собеседование, куда вы приходите, там вас спрашивают несколько из "десятка два типовых задач", вы пишете на доске код, и потом отвечаете на вопросы по нему - тест на реального кабана вы уже провалили :( Я, например, проваливаю его.
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Как вы лечите свою жабу?

Post by Ljolja »

Zorkus wrote:Мое мнение (без малейших понтов, просто трезвая оценка) - если вы чтобы найти работу ищете ее, вас зовут на собеседование, куда вы приходите, там вас спрашивают несколько из "десятка два типовых задач", вы пишете на доске код, и потом отвечаете на вопросы по нему - тест на реального кабана вы уже провалили :( Я, например, проваливаю его.
и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
Zorkus
Уже с Приветом
Posts: 6969
Joined: 26 Feb 2011 17:40

Re: Как вы лечите свою жабу?

Post by Zorkus »

Ljolja wrote:
Zorkus wrote:Мое мнение (без малейших понтов, просто трезвая оценка) - если вы чтобы найти работу ищете ее, вас зовут на собеседование, куда вы приходите, там вас спрашивают несколько из "десятка два типовых задач", вы пишете на доске код, и потом отвечаете на вопросы по нему - тест на реального кабана вы уже провалили :( Я, например, проваливаю его.
и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
На совсем позорные интервью стараюсь не ходить, а так конечно хожу. Куда еще деваться, чтоб стать реальным кабаном? Поработать в команде с признанными кабанами надо.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
круто :great:
Срочно научите как дожить до жизни такой.
Что делать ?
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Как вы лечите свою жабу?

Post by dotcom »

Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
В ресторан кабанов не приглашают, они созданы решать конкретные задачи. На доске, за клавиатурой, в голове или еще как и чем - не важно. А на отвлеченные вопросы может любой поросенок ответить, главное чтобы хрюкалка работала складно. :umnik1:
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Как вы лечите свою жабу?

Post by Ljolja »

Сабина wrote:
Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
круто :great:
Срочно научите как дожить до жизни такой.
Что делать ?
ну начать с того, что бы доводить начатое до конца. Потом переходить к решению задач с которыми другие не справились :wink:
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Как вы лечите свою жабу?

Post by MG14 »

Сабина wrote:
Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
круто :great:
Срочно научите как дожить до жизни такой.
Что делать ?
И вы тоже говорите (с)
MG14
Уже с Приветом
Posts: 1475
Joined: 14 Sep 2008 01:22

Re: Как вы лечите свою жабу?

Post by MG14 »

dotcom wrote:
Ljolja wrote: и не хожу на интервью, где надо писать код на доске и отвечать на ?? по нему :D . Тест "на реального кабана", когда вас приглашают в ресторан (хороший) говорят о том о сем, ну и о задаче, кот. требуется решить и спрашивают: "what do you think about?"
В ресторан кабанов не приглашают, они созданы решать конкретные задачи. На доске, за клавиатурой, в голове или еще как и чем - не важно. А на отвлеченные вопросы может любой поросенок ответить, главное чтобы хрюкалка работала складно. :umnik1:
Настоящий кабан знает что "теста на кабана" нет. И не парится по этому поводу.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Как вы лечите свою жабу?

Post by Сабина »

перепутала темы упс :oops:
Last edited by Сабина on 19 Jan 2014 21:46, edited 1 time in total.
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Sergunka
Уже с Приветом
Posts: 34124
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Как вы лечите свою жабу?

Post by Sergunka »

Ljolja wrote:Потом переходить к решению задач с которыми другие не справились :wink:
Приведите хоть один пример такой задачи?
"A patriot must always be ready to defend his country against his government." Edward Abbey

Return to “Работа и Карьера в IT”