Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Что это вообще такое? Это очень важно? Вот я в джаве никакого log4j не использую. Конфиги не помню почти.
CM>Так и не надо помнить. Надо уметь пользоваться документацией. Сытдно, когда даже это не под силу, не так ли?
Документацией пользоваться надо уметь. На собеседовании это редко провнряит, кстати.
CAF>>Было бы не важно — писал бы на форум. Ну забил бы и не писал. Ну не решил какую-то задачу. Но она простая и многим известна.
CM>"Не" пропущено? CM>Просто собираю информацию. Даже если тебе в ответ несут чушь — это тоже полезно для понимания общей картины мира.
CAF>>Так и про hex можно сказать. Кому он нужен? Да и бит тоже хрень какая-то
CM>По большому счету — да. На асме мало кто пишет, да и в сях манипуляция с битами довольно редко используется.
На смотря кто как.
А ты возьмешь на работу программиста, который не знает таких понятий?
А как на адреса в памяти смотреть? Или покрешиться глядя на корку?
И польская запись — есть стековая машина.
CAF>>Ты лучше расскажи где ты учился? У вас что-нибудь о трансляторах давали? Просто интересно.
CM>Да без разницы, обычный вузус пост-советикс. Трансляторы естественно были, но все данные оттуда уже давно почистил сборшик мусора.
Вот тебе и советуют расширить кругозор. Поверь, это полезнее, нежели считать остальных (интервьюверов) сумасшедшими.
Здравствуйте, VladiCh, Вы писали:
S>>А, в этом смысле. Не думал о таком способе сериализации дерева. А можно примеры когда подобное было бы полезно? (No offence, просто интересно где подобное используется на практике)
VC>Если будешь обходить дерево в глубину, используя post order, то и получится обратная польская нотация. VC>Другие примеры post-order обхода когда например нужно последовательно освободить память для всех элементов дерева, начиная с листьев, порядок обхода тот же.
Это понятно, но вопрос был в другом — зачем для этого сериализовывать дерево в этот вид, когда можно использовать тот же Visitor? То есть для чего может пригодиться именно сериализация в польскую нотацию?
То есть я могу допустить что где-то это можно использовать как один из способов передачи данных, но вот в каких случаях он будет настолько выгодным, что станет основным?
Здравствуйте, CreatorCray, Вы писали:
CC>А так бывает?
Запросто. Абсолютно ортогональные навыки, тем более что не все имеют ИТшное образование.
E>>его имеет смысл взять. CC>Зачем?
А будет какая хрень на стыке, а он спецификацию хорошо знает. Сходу может сказать гарантировано такое исполнение или нет. Например есть concurrency код. Он оказывается узким местом. И вот пусть оптимизирует, оставляя только те блокировки и всякие volatile, которые необходимы. Плюс такие обычно охрененно хорошо знают накладные расходы на каждое ключевое слово, охрененно хорошо знают что в каких случаях может оптимизировать компилятор и тому подобное.
CC>Вот таких и надо брать. Какие то детали языка, которые обычно ещё и редко используются, можно быстро подучить, если понадобится. CC>А вот научить писать нормальный чистый и понятный код это долго.
А зачем таких брать, если нужно заниматься саппортом какой легаси банковской системы, например? Ну пишет он нормальный код, и что. Его навык тупо не востребован, нужно баги фиксить, да тесты писать.
Здравствуйте, Dym On, Вы писали:
DO>Подожди, ты хочешь сказать, что не помнишь сколько будет два в шестнадцатой?
У меня такое впечатление, что это помнят только те, кто в свое время восьмибитные компы застал. То есть тест на возраст, точнее на время, когда впервые начал программировать хоть как то. Соответственно кто начал программить ранее 2000-го года, скорее всего будет знать. Кто позже — уже знать не будет.
Здравствуйте, elmal, Вы писали:
DO>>Подожди, ты хочешь сказать, что не помнишь сколько будет два в шестнадцатой? E>У меня такое впечатление, что это помнят только те, кто в свое время восьмибитные компы застал. То есть тест на возраст, точнее на время, когда впервые начал программировать хоть как то. Соответственно кто начал программить ранее 2000-го года, скорее всего будет знать. Кто позже — уже знать не будет.
А как же округлять, например, размеры массивов?
Типа:
int i[8];
float f[256];
double d[1024];
long l[65536];
M>>Чойта не смогу-то? M>>Берешь и подбираешь последовательно. M>>В чем проблема в упор не понимаю. Считать не обучен? CM>В уме посчитать 2^17-18? Просто не свисти.
Зачем в уме-то? Конечно можно использовать карандаш и бумагу.
Здравствуйте, Dym On, Вы писали:
DO>[/ccode]
Я, кстати, сейчас побегал по коллегам с вопросом сходу сказать сколько будет 2 в 15. Не ответил никто . Но я самый старый по возрасту, а начинал программировать тогда, когда большинство даже не родились . Степени помню потому, что 2^16 это предел адресуемого пространства 8 битовыми машинами. Плюс максимальный размер сегмента в реальном режиме процессора x86, я еще помню те времена, когда это было проблемой. 2^15 -помню так как у меня РК 86 с 32 килобайтами памяти. 2^14 — адрес начала экранной области спектрума. Меньше уже особо ассоциаций нет, кроме 4096 — размер страницы в x86 процах. Ну и 256 и 128 — базовые константы. С сишным опытом, кто писал и даже пишет прошивки на микроконтроллеры — те тоже не ответили . Сейчас это типа ненужные знания, запоминать смысла нет. Я запомнил, потому что мне в свое время эти константы что то говорили.
Здравствуйте, elmal, Вы писали:
E>С сишным опытом, кто писал и даже пишет прошивки на микроконтроллеры — те тоже не ответили . Сейчас это типа ненужные знания, запоминать смысла нет.
Эх, остается только покряхтеть по стариковски: «Вот и выросло поколение...»
Здравствуйте, elmal, Вы писали:
CC>>А так бывает? E>Запросто. Абсолютно ортогональные навыки
Да как то не похоже на то. Минимум идут бок о бок.
E> тем более что не все имеют ИТшное образование.
Прекрасно разбирается в языке, ни в зуб ногой в алгоритмах и не имеет никакого профильного образования — это какое то уж очень странное сочетание.
E>Сходу может сказать гарантировано такое исполнение или нет. Например есть concurrency код. Он оказывается узким местом. И вот пусть оптимизирует, оставляя только те блокировки и всякие volatile, которые необходимы. Плюс такие обычно охрененно хорошо знают накладные расходы на каждое ключевое слово, охрененно хорошо знают что в каких случаях может оптимизировать компилятор и тому подобное.
Я вот как то не представляю как это можно уметь и одновременно совершенно не иметь понятия об алгоритмах.
E>А зачем таких брать, если нужно заниматься саппортом какой легаси банковской системы, например?
Дык и первые тут нафиг не нужны.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>А вообще, команды больше 30 программистов я наблюдал только в индусятниках. CM>А где сейчас не индусятник?
Да... редко встретишь, но бывает.
CM>·>Я просто хочу понять, в каких условиях программисту может потребоваться ежедневно проводить технические интервью. CM>На самом деле, обычно делается по нескольку за день с разными людьми, хотя и не каждый день. Но результат примерно тот же, десяток — это ничто. Закрыть одну вакансию, или две, если вы там всех подряд берете
Ок. Две вакансии, даже при самом жестоком отсеве (50 на место — это очень дофига, либо вы резюме читать не умеете и собеседуете всех подряд) — сотня интервью от силы. На 5 интервьюверов — это двадцать в год на человека. Откуда двести? Вот я и предположил, что ты за всех отдуваешься.
CM>·>Интересно что? CM>Логику, например.
И что ты о ней помнишь? Ну кроме того, что это слово можно использовать для троллинга?
CM>Всё еще будешь доказывать, что 2^17 — это задача совсем не на память?
Конечно, не на память. В обычных условиях — задача на подумать минуту. Но, конечно, согласен, что можно создать такие условия, что любая задача может стать задачей на память — можешь сходу назвать ответ или нет.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Буквоедством решил заняться ты, выясняя значения слов. CM>Кхм, где?
что обычно можно пользоваться бумажкой
Ты выделил слово жирным, упирая на его значение. Или я не так понял зачем ты его так выделил.
CM>·>Ну раз мы берём и это в расчёт, то ты "уже забыл" о моём собеседовании в гугл. Так что даже так счёт 2:1 не в твою пользу. CM>Ладно, уговорил. В некоторых случаях считать на бумаге запрещено, и в данном конкретном случае — тоже. CM>Тебе стало лучше?
Нет, просто я стал более настороженно относится к твоим словам. Ибо ты говоришь одно, а на самом деле другое.
CM>·>А ты ничего и не рассказал, кроме того, что тебе дали задание, которое ты не осилил. CM>Врёшь, причем сразу по двум пунктам. Ткнуть тебя носом?
Давай.
CM>·>И что? Дальше-то что? Или для тебя "перемножить несколько чисел" всегда непосильная задача и надо хвататься за калькулятор? Скажем, я могу запросто перемножить сотню дробей 1/2 * 2/3 * 3/4 ... * 99/100 чисел в уме за долю секунды. CM>А кто сказал "обыкновенные дроби", и кто сказал, что там были какие-то ряды и закономерности? Ты делаешь слишком много допущений, и всегда — в твою пользу.
Это не допущения, а догадки. Ибо ты "неважные" детали опускаешь, и рассказываешь только то, что в твою пользу, расписывая сабж.
CM>·>Возможно интервьювер и хотел от тебя добиться чтобы ты заметил некую закономерность в умножаемых числах и свести сложный вычислительный процесс к паре операций, производимых в уме. И это собственно самый важный навык, требуемый от любого опытного программиста — находить в бардаке требований закономерость и выдавать простое решение. CM>Всё-таки не устаю удивляться, как ты лучше меня знаешь всё о собеседовании, на котором не бывал
CM>·>Какого большого? 1024 достаточно большое? Хочешь я расскажу как log2(1024) посчитать в уме? CM>Порядка нескольких сотен тысяч. Давай, расскажи мне, как посчитать его в уме, не помня наизусть степени двойки.
Да запросто. Скажем, пусть будет 500 тысяч — это чуть меньше, чем пол мегабайта, т.е. log2 будет чуть меньше 19. Или ты "забыл" что такое килобайт/мегабайт? Или тебя попросили посчитать до десятого знака после запятой?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Нет, мне и не надо. Бремя доказательства лежит на утверждающем. А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно.
Полистал про подготовку... просто жесть, и это ради того чтобы попасть в Гугл
С первого дня, когда я начал подготовку, до момента, когда я получил оффер от Google, прошло 1 год и 5 месяцев.
...
Подготовка требует много времени: приблизительно 2-3 часа каждый рабочий день и каждый выходной полностью. То есть, по сути, все свободное время.
Здравствуйте, kaa.python, Вы писали:
KP>·>Нет, мне и не надо. Бремя доказательства лежит на утверждающем. А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно. KP>Полистал про подготовку... просто жесть, и это ради того чтобы попасть в Гугл
Ну у чувака наверное мечта детства была и он пытался действовать наверняка...
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Sinclair, Вы писали:
S>То есть вас не смущает то, что вы ни MSIL, ни байткод JVM не можете читать даже со словарём? S>И вообще, инженер всегда должен уметь смотреть на один уровень вглубь — то есть, если пишешь на C#, надо понимать, в какой MSIL превращается код. Если пользуешься библиотекой — надо знать, как она устроена внутри. S>До самого дна лезть не обязательно — там быстро упрёшься в инженерное применение квантовой механики, а его за полчаса в ютубе не освоишь. S>Но вот обычный критерий хорошего инженера — любопытство, которое и приводит к тому, чтобы разобраться — что там "унутре".
Это всё благоглупости "за всё хоршее против всего плохого". В теории в абсолютно правы, но есть два момента, которые сводят всё на нет: во-первых это скорее из разряда "дополнительные плюсы", если это есть — молодец, если нет — это ничего не означает, а во-вторых а на практике где это "самое дно" совершенно непонятно, поэтому оно устанавливается каждым самостоятельно, в соотвествии с личными предпочтениями. Причём в примерно 100% граница этого дна чётко совпадает со знаниями определяющего. Для вас это, наверное, знания MSIL, для кого-то это знания инструкций процессора, а кто-то скажет, что это всё незнанчительные технические детали, а вот "обычный критерий хорошего инженера" это уметь в хардкорную комбинаторику и теорвер и кто не может за пять минут Байеса на бумажке — тот никчемный кодерок, пусть идёт читает JVM cо словарем и не мечтает о большем!
S>Если этого любопытства нет — то никаким надрачиванием фреймворков и паттернов ты его не заменишь, увы.
У вас как-то неявно предполагается, что надрачивание на MSIL/JVM лучше аналогичного надрачивание на паттерны. А я скажу что нет, причём даже аргументирую: патерны в реальной жизни встречаются и не редко, а знания MSIL/JVM за пределами похвастаться широтой знаний в курилке малоприменимы.
Здравствуйте, kaa.python, Вы писали:
KP>Полистал про подготовку... просто жесть, и это ради того чтобы попасть в Гугл
С пробуждением, Нео. Из пары моих знакомых, которые сейчас работают в мелко-мягком, зубрежкой перед собеседованием занимались оба. Правда, не год, а всего месяц-другой
В письме от рекрутера из Гугла, кстати, мне практически прямым текстом написали "зубрить — надо".
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Документацией пользоваться надо уметь. На собеседовании это редко провнряит, кстати.
Вот и я о том же. Умение банально прочитать и понять документацию — не проверяют. Умение писать реальный код, и, например, не забывать обрабатывать ошибки и не вылезать за буфер — не проверяют.
Зато полька — это святое, без нее ни одному программисту вообще никак.
CAF>А ты возьмешь на работу программиста, который не знает таких понятий?
Зависит от работы.
CAF>А как на адреса в памяти смотреть? Или покрешиться глядя на корку?
И нафига тебе все эти навороты, когда ты пишешь на Яве (или вообше на скрипте каком-нибудь)?
CAF>Вот тебе и советуют расширить кругозор. Поверь, это полезнее, нежели считать остальных (интервьюверов) сумасшедшими.
Фуфло. Никогда не знаешь, какую из страницу из какого учебника им взбредет в голову спросить в следующий раз.
Здравствуйте, ·, Вы писали:
CM>Ок. Две вакансии, даже при самом жестоком отсеве (50 на место — это очень дофига, либо вы резюме читать не умеете и собеседуете всех подряд) — сотня интервью от силы. На 5 интервьюверов — это двадцать в год на человека.
На пять интервьюеров — это по прежнему сто интервью на каждого, поскольку в больших компаниях обычно прогоняют каждого кандидата по кругу.
·>И что ты о ней помнишь? Ну кроме того, что это слово можно использовать для троллинга?
Много чего. Например — не заполнять пробелы в информации по желанию своей левой пятки. Это как раз тебя касается.
·>Конечно, не на память. В обычных условиях — задача на подумать минуту.
И ты всерьез собрался возвести 2^17 в уме за минуту, без бумажки, и не ошибившись при этом раза в два-три-десять?
Дам тебе тот же ответ — не свисти.
1) Описание задач — есть
2) То, что я их не осилил — такой информации здесь нет
3) Пользоваться бумажкой запрещено, я написал это явно и недвусмысленно
Это к твоему предыдущему вопросу о логике
·>Это не допущения, а догадки. Ибо ты "неважные" детали опускаешь, и рассказываешь только то, что в твою пользу, расписывая сабж.
На самом деле, именно этим занимаешься здесь ты — см предыдущий пункт.
·>Да запросто. Скажем, пусть будет 500 тысяч — это чуть меньше, чем пол мегабайта, т.е. log2 будет чуть меньше 19. Или ты "забыл" что такое килобайт/мегабайт? Или тебя попросили посчитать до десятого знака после запятой?
Что я помню или нет — это к вопросу не относится. А вопрос, напоминаю — является ли это тестом на память или нет. Так что расскажи ка мне, откуда ты взял 20, если не из памяти? Это, опять — к вопросу о логике.
Здравствуйте, CodeMonkey, Вы писали:
CM>Так что расскажи ка мне, откуда ты взял 20, если не из памяти? Это, опять — к вопросу о логике.
Ты знаешь что такое килобайт? Или это тоже тест на память? Или тест на счетовода-писаки?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай