Здравствуйте, CodeMonkey, Вы писали:
CM>Подвалили очередное задание. От 45 до 90 минут должно хватить, по их заявлениям. CM>Задание: разобрать и вычислить постфиксное выражение, которое задается такой грамматикой:
Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
Подвалили очередное задание. От 45 до 90 минут должно хватить, по их заявлениям.
Задание: разобрать и вычислить постфиксное выражение, которое задается такой грамматикой:
expr = -?[0-9]+
expr = expr expr [+-*/]
Например:
1 1 + 2 3 * —
должно получиться -4
Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
Здравствуйте, CodeMonkey, Вы писали:
CM>Подвалили очередное задание. От 45 до 90 минут должно хватить, по их заявлениям. CM>Задание: разобрать и вычислить постфиксное выражение, которое задается такой грамматикой:
Что-ж. No hire.
CM>expr = -?[0-9]+ CM>expr = expr expr [+-*/]
CM>Например: CM>1 1 + 2 3 * - CM>должно получиться -4
CM>Во первых, грамматика вообще неверна.
Вроде верна. Что не верно?
CM>Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
Там нет смешивания. Это стековый вычислитель. Литерал кладётся на стек, операция берёт со стека два значения, вычисляет результат и кладёт его обратно на стек. Вот так, если расставить скобочки:
((1 1 +) (2 3 *)) —
Или в привывчном человекам виде — ((1 + 1) — (2 * 3)) = -4
Здравствуйте, Voivoid, Вы писали:
V>Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
Базовые знания — это, что используется в работе. А вот такая фигня — это то, что очень любят теоретики, но на практике не используется никем, кроме может быть 0.01% программистов (по оптимистичной оценке).
Здравствуйте, CodeMonkey, Вы писали: CM>Сколько таких людей на весь мир наберется, для которых это действительно нужно? Ну допустим, не десяток. Тысяча. Может, даже десяток тысяч. Всё
То есть вас не смущает то, что вы ни MSIL, ни байткод JVM не можете читать даже со словарём?
Это если мы не будем копать седую древность типа того же Форта.
Ну ок. А если бы вас попросили написать вычислитель выражений в инфиксной нотации — что, это было бы как-то легче?
Я вот профильного образования не имею, компиляторы никогда не писал, но даже я знаю, что такое "перевод инфиксной нотации в постфиксную", что такое "стековый вычислитель" и прочие примитивные вещи.
Если в этой вакансии нужно мало-мальски применение алгоритмов — то да, такой вопрос на собеседовании уместен.
И вообще, инженер всегда должен уметь смотреть на один уровень вглубь — то есть, если пишешь на C#, надо понимать, в какой MSIL превращается код. Если пользуешься библиотекой — надо знать, как она устроена внутри.
До самого дна лезть не обязательно — там быстро упрёшься в инженерное применение квантовой механики, а его за полчаса в ютубе не освоишь.
Но вот обычный критерий хорошего инженера — любопытство, которое и приводит к тому, чтобы разобраться — что там "унутре". Если этого любопытства нет — то никаким надрачиванием фреймворков и паттернов ты его не заменишь, увы.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, CodeMonkey, Вы писали:
CM>Подвалили очередное задание. От 45 до 90 минут должно хватить, по их заявлениям. CM>Задание: разобрать и вычислить постфиксное выражение, которое задается такой грамматикой:
CM>expr = -?[0-9]+ CM>expr = expr expr [+-*/]
CM>Например: CM>1 1 + 2 3 * - CM>должно получиться -4
CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
CM>В общем, полный
А где тут инфиксная нотация? Это ж обычная полька.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, Kernan, Вы писали:
K>Ну нет же. Типовых задач не так много.
Я бы сказал, довольно-таки много. Открываем любой популярный сборник алгоритмов, смотрим число страниц, беремся за лицо.
K>Я считаю парсер нормальной задачей
Парсер — не проблема. Но хитровывернутая нотация, которой в реальности не пользуется никто, кроме может быть десятка-другого фриков на весь мир — это уже хуже.
K>Хочешь чего-то другого? Создавай продукт и собирай свою команду благо есть ICO и краудфандинг
Что-то мне кажется, что это единственный оставшийся вариант, который вообще имеет смысл.
K>проводи собеседования на которых ты будешь издеваться над олимпиадниками давая им реальные задачи связанные с насущными проблемами, смейся в лицо любителям гномиков на своём собственном собеседовании спрашивая про когерентность кэша и дэдлоках 3 рода, карринге или просто заставляя делать ревью реальных коммитов в репо своего продукта вместе с тобой.
Если уж издеваться по серьезному — дать им какой-нибудь кусок кода, написанный любителями решать всё самыми сложными путями, и заставить ловить в нем какой-нибудь недетерминированный баг.
Здравствуйте, CodeMonkey, Вы писали:
CM>Парсер — не проблема. Но хитровывернутая нотация, которой в реальности не пользуется никто, кроме может быть десятка-другого фриков на весь мир — это уже хуже.
Please! Это самый что ни на есть обычный поток для стековой машины.
И да, это из букваря computer science.
Кстати, возможно в этом и есть причины твоих неудач в поиске работы — навык инженерно мыслить недостаточно развит.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>"претендент на синьора" должен уметь в первую очередь думать.
Я тебе скажу, о чем обычно приходится думать.
1. Как в этом долбаном фреймворке извернуться и сделать то, что в нем не предусмотрено, но заказчик требует позарез?
2. Как поймать этот долбаный баг, который происходит случайным образом примерно раз из десятка тысяч прогонов?
3. Как в этом чуде хитровывернутого кода сделать нужные изменения без необходимости править десяток файл в разных местах
4. Какого хрена эта хрень не работает, хотя я делаю все по инструкции?
5. (спустя какое-то время) Каким местом думал дебил, который писал эту инструкцию?
6. (отвлеченно-философское) Какого хрена так много программистов щелкает задачи на собеседовании как орешки, но написать код, который не валится и не работает через жопу — не могут?
А вот обратная польская нотация, почему-то, в этот список никак не попадает.
Здравствуйте, CodeMonkey, Вы писали:
CM>Выучить все возможные задачи, которые могут взбрести в голову упоротым — это куда больше, чем 2-3 месяца. Это просто всей жизни не хватит.
Пардон, но чтоб написать парсер для польки не надо ничего учить, достаточно уметь в логику.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
CM> CM>Интересно, как ты это проверял?
Вот так вот: лёг на диване, возвёл 2 в 17 степень, взял телефон и сравнил свой ответ с правильным. Совпало. CM>Степени двойки ты не помнишь?
Какие-то помню, какие-то нет, какие-то цифры помню, но не помню к какой степени относятся. До 16й степени дошёл быстро, это число умножил на 2 в уме. Элементарно.
В остальном, хоть зафейспалмся. Ты не решил простую задачу, а элементарная арифметика вызывает у тебя уверенность, что никому это не под силу. Я не говорю, что ты профессионально непригоден. Может быть какой-нибудь компании нужен человек для написания конфигов для log4net — это твоё.
Шутка. Но по диалогу видно, что у тебя пробелы, апломб по поводу пробелов (нафига это надо!), знаний никаких, кроме конфигурирования, ты не показал, и несколько неадекватен в общении.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, reversecode, Вы писали:
R>>декларируйте сразу что вы синьор и задачу требуйте соответсвующую
CC>Претендент на Senior у меня получит аналогичную задачу просто для разогреву. CC>И если он её зафакапит дальнейшее интервью не будет иметь смысла — это не Senior.
это абсудр
если вести такую логику
то ввп должен уметь печь вкусные булочки (для разогрева) а иначе как он тогда управляет страной ?
претендент на синьора должен иметь несколько другие скилы и не должен уметь мыть полы
хотя... если у вас синьоры делают туже работу что и джуны только в большем объеме то тогда да
но в большинстве ко, синьоры занимаются более глобальными делами а не пишут алго сортировки вместе с джунами
Здравствуйте, CodeMonkey, Вы писали:
CM>Не, это тест на охренительно хорошую память или излишнее количество свободного времени.
Как тебе будет угодно, можешь присоединиться к дружной капелле, исполняющей "а я такой хороший, а никуда не берут"
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>1. Как в этом долбаном фреймворке извернуться и сделать то, что в нем не предусмотрено, но заказчик требует позарез?
Дык тебе ж и дали задачку, которую твой framework не предусматривает.
В чём внезапно проблема?
CM>3. Как в этом чуде хитровывернутого кода сделать нужные изменения без необходимости править десяток файл в разных местах
Костыль-driven development?
CM>4. Какого хрена эта хрень не работает, хотя я делаю все по инструкции? CM>5. (спустя какое-то время) Каким местом думал дебил, который писал эту инструкцию?
Гм, и ты до сих пор этому удивляешься?
CM>6. (отвлеченно-философское) Какого хрена так много программистов щелкает задачи на собеседовании как орешки, но написать код, который не валится и не работает через жопу — не могут?
Да потому что собеседовали на знание FW а не на наличие правильно заточенных мозгов.
Набрали здоровых, а спрашиваете потом как с умных (С).
Кстати а что тут тянет на senior то?
Знания очередного framework, которые появляются и исчезают каждые пару лет?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
Видим 1 — кладем в стек:
[1]
Видим 1 — кладем в стек:
[1 1]
Видим + — берем два операнда из стека, складываем, результат кладем в стек:
[2]
Видим 2 — кладем в стек:
[2 2]
Видим 3 — кладем в стек:
[2 2 3]
Видим * — берем два операнда из стека, умножаем, результат кладем в стек:
[2 6]
Видим — — берем два операнда из стека, вычитаем, результат кладем в стек:
[-4]
CM>В общем, полный
Вам, товарищ, двойка за задание и двойка за эрудицию — сразу видно, что вы в детстве не увлекались Forth'ом
Здравствуйте, Тёмчик, Вы писали:
Тё>Коллега, не вы ли с внешней сортировкой со мной спорили, что это ненужный навык? Тё>PS Вопрос посчитать в постфиксной нотации утянул себе, годный вопрос.
Это зависит от того, какими задачами требовалось бы заниматься. На моей прошлой работе любые алгоритмы, за исключением тривиальных — ненужный навык. Исключение — часто встречающиеся везде такие вещи, как обход дерева. Соответственно алгоритмы я не спрашивал вообще. Но валил многих простейшим заданием на 1 час времени на любом языке программирования на компьютере кандидата. Критерий — он должен уложиться в 1 час и сделать максимально просто. Без переусложнений, но в тоже время расширяемо, чтоб в случае изменения требований можно было двигаться далее путем рефакторинга, а не полного переписывания. Ибо это было основное, ибо нужно было очень быстро очень малыми человеческими ресурсами делать весьма многое, пусть с техдолгом, но не доводя проект до состояния проще все переписать с нуля. Причем еще могло понадобиться быстро переключаться между проектами. Большинство за час не успевало, а через несколько часов показывало мне фабрики, генерирующие фабрики, гоняя сложность на ровном месте. Или другая крайность — вся логика в одной функции main ы спагетти стиле, без малейшей декомпозиции.
На текущем месте алгоритмы востребованы, в том числе и всякие AST. Но востребовано не способность написать на бумажке оптимальный алгоритм, а способность быстро решить задачу. Причем если объем данных планируется небольшой, востребовано написать не оптимальный алгоритм, а нужно быстро написать работающий в приемлемое время максимально читаемый, понятный и желательно одновременно универсальный алгоритм. Ибо хотелки и требования меняются ОЧЕНЬ быстро и весьма круто. Крайне желательно свести задачу к уже написанному стандартному алгоритму. Соответственно и приходится интересоваться, осталось ли хоть что то после института, и вообще, учился там человек, или тупо выучил язык программирования и фреймворки и начал лабать. Если выучил язык и фреймворки, но базы в CS нет — такой не подойдет. Хотя на предыдущей работой вполне бы подошел.
На какой то работе основное — это писать тесты. И вкрячивать точечно костыли. Там свои требования — там не нужны алгоритмы, там не нужен навык писать код, но там важно знание деталей, внимательность. На какой то основное — это умение диагностировать проблемы продакшена, умение подхачить незнакомый спагетти код 10 летней давности.
И во всех случаях вопросы на собеседовании должны быть разные.
Даже более того. Если пришел кандидат. Нужно конкретно для кандидата смотреть, сможет он усилить команду, или нет. Если кандидат не знает алгоритмы базовые, но он эксперт в языке, знает детали лучше любого в команде, включая тебя — его имеет смысл взять. Не знает деталей языка, не знает алгоритмы, но умеет нормально писать поддерживаемый код в условиях нехватки времени, задумываясь о бест практиках — тоже таких имеет смысл брать. Крайне редко кто умеет сразу все. И алгоритмы, и на бумажке код пишет, и гномиков считает, и код прекрасный пишет, и фронт может, и бэк, и через полгода на другую работу не свалит — таких крайне мало. Смотреть нужно не на недостатки кандидата, а на достоинства. Недостатки можно найти у любого. И завалить можно любого. А на собеседовании нужно в условиях дефицита времени успеть разглядеть достоинства. И понять, востребованы эти достоинства на конкретном рабочем месте, или нет. Не востребованы — это не значит что кандидат плохой, это значит что место не его.
CM>И ты всерьез собрался возвести 2^17 в уме за минуту, без бумажки, и не ошибившись при этом раза в два-три-десять?
Сейчас проверил — получилось, совсем не сложно.
Здравствуйте, ·, Вы писали:
·>Ты за контекстом не следишь. Слово "килобайт" я написал на русском форуме на русском языке, когда рассказал как можно решить непосильную тебе задачу вычисления примерного значения log2(500000) в уме без запоминания всех степеней двойки. Причём тут собеседование в гугле?
Забей, его не интересует ни решение, ни понимание проблемы, ни собеседования как таковые
Он тут поныть.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Как мы уже выяснили — да.
Не выяснили. Это всего лишь твое мнение.
CC>Дык и формулировка вопроса расплывчата по максимуму.
Как правило, по умолчанию имеется в виду средняя, мог бы и сам сообразить. Но я не придирчивый.
CM>> Это какая сложность — средняя или худшая? CC>Худшая есессна
Замечательно. А теперь по настоящему сложный вопрос, на который в прошлой теме не то что никто ответить правильно не смог — но даже и понять, почему их ответы неправильные
Какова алгоритмическая сложность квиксорта при сортировке массива длиной N, состоящего из строк длины K каждая? Средний и худший сценарий.
Здравствуйте, CodeMonkey, Вы писали:
CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
Это jобратная польская нотация. Программируется через стек.
Вопрос, конечно, так себе, особенно если время жестко ограничено.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Я тебя пожалуй поддержу, с одной стороны такую задачу конечно надо уметь решить, с другой стороны отсеивать человека потому что, он не решил одну задачу это МАРАЗМ.
А всем кто тут пишет, как такое можно не знать ко ко ко... Вы такие умные пока вопросы задаете вы, когда вопросы будут задавать вам, вас закопают если захотят, уж поверьте мне
Здравствуйте, CodeMonkey, Вы писали:
CM>Просто интересно, есть ли тут хотя бы один человек, который может ответить на этот вопрос правильно.
'Правильно' или 'что CodeMonkey считает правильным'?
И что то мне по тону кажется что второе.
В общем случае сравнение сферических строк в вакууме (на строгое равенство) == memcmp, который O(N)
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Во первых, грамматика вообще неверна.
кмк можно решить рекурсивным спуском.
CM>В общем, полный
Тебе питон сказал же, возьми 2-3 месяца и подготовься к собесам.
Здравствуйте, reversecode, Вы писали:
R>декларируйте сразу что вы синьор и задачу требуйте соответсвующую
Претендент на Senior у меня получит аналогичную задачу просто для разогреву.
И если он её зафакапит дальнейшее интервью не будет иметь смысла — это не Senior.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Это пол-задачи от парсера 1+1-2*3. Минут 5 писать код. Вот формулу Дейкстры из головы не припомню, хоть и реализовывал когда-то для binding-а логических выражений.
CM>В общем, полный
Самокритично.
E>Интерпретатор выражения, записанного в обратной польской записи — это вообще самый тривиальный интерпретатор, который только можно придумать. Пишется вообще в лоб без малейших усилий, исключительно на остаточных знаниях.
Никаких остаточных знаний здесь не нужно. Эту задачу прекрасно сможет решить школьник, увлекающийся программированием, без каких либо остаточных знаниях о теории вообще. Достаточно ему объяснить, что это вообще такое. Натягивание теории "парсеров, лексеров и синтаксических деревьев" на решение этой задачи — это натягивание совы на глобус. А вот в обратную сторону может быть и верно: для объяснения теории можно в качестве примера привести эту задачу.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, CreatorCray, Вы писали:
CC>>PS. Ты сам напросился
CM>А при чем здесь я вообще?
Ну это же ты написал совю БД, имеешь за 6 килобаксов в месяц. На собеседовании не распознал полськую постфиксную нотацию. Развел здесь темы, что тебя не ищут, неправильно нанимают.
Так что сам напросился, это факт.
CM>Алгоритмы ты может и знаешь хорошо (хотя даже насчет этого есть сомнения), но вот с обычной логиой у тебя полный провал.
Здравствуйте, ·, Вы писали:
·>твоё "помнить" — чистое словоблудие и софизм, т.к. в такой терминологии любая задача будет задачей на память.
Ну так он ж тут уже батальон сов порвал, пытаясь натянуть свои пробелы в знаниях на отмазку "этож пооооомнить надо".
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Т.е. никаких поскипанных вопросов так и не нашлось.
CM>Тыкаю тебя носом.
Я же сказал, что шум игнорирую. А вопросы я так и не вижу.
CM>http://rsdn.org/forum/job/7307334?tree=tree
CM>·>Так это был Один Твой Знакомый™?
CM>Покажи пальцем, где я там написал, что я — "эксперт по докам log4net". Напрягись, соберись с мыслями.
CM>Но ты ведь опять притворишься, что ничего не было, не так ли? Потому что ты соврал и был на этом пойман, и теперь скорее удавишься, чем признаешь этот факт.
Ну не эксперт, так не эксперт, никого это не волнует. И это очевидно не враньё, а догадки. Это невозможно врать теоретически, добавляя что-то к чужим росказням. А вот заявления, что на интервью обычно не дают пользоваться бумагой — это хороший пример вранья.
CM>·>Если это горячее место, оно покажется профайлером. А если профайлер не использовался, значит на перформанс всем плевать. CM>Значит, надо было вообще не выпендриваться и писать не 65536, а например 50000.
Ок, разрешаю, не выпендривайся.
CM>Гуглить "bad practice — magic numbers". Также — "Yoda conditions", это как раз пример реальной паранойи по отношению к опечаткам. CM>И эти вещи — как раз из той категории, которые каждый программист обязан знать и использовать повседневно. В отличие от идиотских нотаций, которые на практике не нужны.
А как там у тебя бузина в Киеве?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, serj.e, Вы писали:
SE>PPS. Тем более, что этот конечный автоматик я уже перепилил под свои нужды, для сверхмалопотребляющего поиска бинарных последовательностей прямо в адресном пространстве процесса, в условиях с дичайшими ограничениями доступной памяти.
Наша справка: 8Г памяти стоят, как час работы программиста.
Здравствуйте, serj.e, Вы писали:
mgu>>Наша справка: 8Г памяти стоят, как час работы программиста. SE>Отлично например, оставайся при своих заблуждениях, а я тем временем буду рубить бабло там, где "ваша справка" не работает от слова совсем, и хохотать над неудачниками, плачущимися о нехватке работы и денег.
Знатные говнокодеры хороши тем, что обеспечивают бесконечный фронт работ. Путь неудачника, т. е. создателя исправных систем -- не для всех.
SE>Моя справка: SE>1. 8G памяти, промасштабированные на миллион инстансов, стоят уже как миллион часов работы программиста
Пора нанимать архитектора.
SE>2. В embedded–системы тоже будешь впаивать 8G?
В этой области час работы программиста дешевле.
SE>3. Зачастую не ты выбираешь платформу, а платформа тебя.
Удачники выбирают.
SE>4. Что будешь делать, когда все слоты уже забиты под завязку, и 8G воткнуть некуда? Есть задачи, где не бывает слишком много RAM – бывает слишком мало слотов и упор в физическое ограничение платформы на максимальное количество памяти.
Заменю воткнутую 8G на 16G.
SE>PS. Из-за таких грамотеев, как ты, сейчас даже вполне годные macbook pro с 16Gb RAM уходят в нехватку памяти, если запустить на них много говноподелий на electron.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Ну я-то знаю, что я не сочиняю. CM>Я тоже. Вот ведь парадокс.
А как они это проверяют по телефону-то?
CM>·>Кстати, в Сети можно найти описания гугловых интервью. Про "считать в уме" тоже не доводилось видеть. CM>Ты их все прочитал, какие есть?
Нет, мне и не надо. Бремя доказательства лежит на утверждающем. А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно.
CM>Насколько я помню, было два вопрос на счет. Посчитать вероятность совпадения нескольких событий с известными вероятностями, и посчитать глубину дерева поиска для какого-то довольно большого числа элементов. Попроще, чем возводить в степень, но тоже не сахар. CM>Никаких бумажек, я спрашивал.
По этому описанию мне не очевидно, что это вопрос "на память" и в уме ничего невозможно сделать.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>Выучить все возможные задачи, которые могут взбрести в голову упоротым — это куда больше, чем 2-3 месяца. Это просто всей жизни не хватит.
всё так и есть, но ты сильно не парься, просто продолжай ходить по собеседованиям, в конце концов либо наткнёшься на упоротых, которые зададут вопросы, с известными тебе ответами, либо (если очень повезёт), встретишь работодателя, который умеет (и хочет) нанимать людей. Это по большому счёту лишь вопрос времени, а не скиллов.
Здравствуйте, CodeMonkey, Вы писали:
CM>Базовые знания — это, что используется в работе.
Хехе.
Этот тест (как и на подсчёт битов или переворот списка) скорее на проверку способности написать алгоритм из головы нежели на "знал алгоритм"
Потому как эти алгоритмы настолько базовые что их никто не учит, потому как крайне просто пишется с нуля при необходимости, если конечно умеешь программировать а не просто херак херак из фреймворков.
CM> А вот такая фигня — это то, что очень любят теоретики, но на практике не используется никем, кроме может быть 0.01% программистов (по оптимистичной оценке).
Эта "фигня" просто на ура отсеивает тех, кто не способен инженерно мыслить.
Кодеров — толпа по пять копеек пучок, а надо люди которые глядя на новую проблему способны её понять и решить.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Совершенно объективны. Расскажи мне, для какой работы так позарез нужна "обратная польская нотация", что ее нужно помнить наизусть.
А её как раз совсем не надо помнить.
CM>Скорее всего, и я решал, только давно позабыл по причине полной ненужности.
Если ты претендуешь на позицию Software Engineer то просто обязан мочь решить её с нуля. Просто по причине её простоты.
Это примерно как уметь посчитать в уме сколько будет 2**100500 / 2**100490
Задача на элементарнейшее понимание что вообще происходит и как оно работает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Voivoid, Вы писали:
V>Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
Однозначно поддерживаю! Более того, предлагаю этот подход расширить и углУбить.
В самом деле, зачем нам польская нотация? Возьмём исконно русскую -- вместо цифр использовались буквы с тильдами:
А -- 1
Б -- 2
...
З -- 9
И -- 10
Й -- 20
...и т. д., КЖ -- это 38. Итак, используя современный русский алфавит, напишите на бумажке число 1024.
Тут-то мы и выведем на чистую воду тех, кто не знает программы 1-го класса!
import operator as op
expr = '1 1 + 2 3 * -'
stack = []
operators = {'*': op.mul, '/': op.truediv, '-': op.sub, '+': op.add}
for e in expr.split():
if e in operators:
b, a = stack.pop(), stack.pop()
stack.append(operators[e](a, b))
else:
stack.append(int(e))
print(stack.pop())
Но, возможно, нужна обработка ошибочных выражений и всё такое.
Здравствуйте, De-Bill, Вы писали:
DB>Никаких остаточных знаний здесь не нужно. Эту задачу прекрасно сможет решить школьник, увлекающийся программированием, без каких либо остаточных знаниях о теории вообще. Достаточно ему объяснить, что это вообще такое. Натягивание теории "парсеров, лексеров и синтаксических деревьев" на решение этой задачи — это натягивание совы на глобус. А вот в обратную сторону может быть и верно: для объяснения теории можно в качестве примера привести эту задачу.
Вот именно. Но реально я охреневаю, когда такая задача оказывается непроходной для реального программиста. Я не понимаю, как такой детсад можно забыть. Единственное у меня объяснение — в школе программированием не увлекался. Институт в основном в ночных клубах просиживал, на лекциях не появляясь, а сессия куплена. А на работе нужно формочки клепать да в базу вставлять.
Здравствуйте, CodeMonkey, Вы писали:
CM>Не задача. Формулировка задачи.
Ну ты ж сам видел что даже по формулировке в том виде, в котором ты её пересказал, местный контингент сразу сказал что это полька.
CM> Кажется мне, что инженерное мышление должно начинаться с умения сначала собирать все доступные данные и только потом делать выводы.
Мне больше интересно ты не хочешь таки заняться восполнением пробелов в своём CS образовании?
Это будет сильно полезнее для реальной жизни чем продолжать этот, уже давно бессмысленный, срач на форуме.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>В общем, полный
В силиконовой долине такое сплошь и рядом. Сначала звонит инженер и в онлине надо такую программу написать. И да, это задание в долине — для дебилов. Нормальные компании спаршивают гораздо сложнее задачи. Стек написать не можешь?
Не стыдно попасть в дерьмо, стыдно в нём остаться!
Здравствуйте, demi, Вы писали:
D>В силиконовой долине такое сплошь и рядом. Сначала звонит инженер и в онлине надо такую программу написать. И да, это задание в долине — для дебилов. Нормальные компании спаршивают гораздо сложнее задачи. Стек написать не можешь?
Есть одна вещь, которая никак не устает меня удивлять. Если в долине все такие нереально умные и пишут не меньше чем компилятор C++ прямо на собеседовании — кто тогда пишет весь этот кривой, глючный и тормозной говнософт, который уже забил 99.9% всего рынка софта?
Здравствуйте, CodeMonkey, Вы писали:
KP>>И даже Schema не пытался навелосипедить?
CM>А зачем, кстати?
Простейший язык для экспериментов в рамках теории компиляторов. Если не в универе, то сам. Ну, я не очень представляю себе программиста который хотя бы краем глаза не пролистал/прослушал теорию компиляторов В моей системе мер программист не имеющий хотя бы базового представления о теории компиляторов – посредственный кодер
Здравствуйте, CodeMonkey, Вы писали:
CC>>Ну ты ж сам видел что даже по формулировке в том виде, в котором ты её пересказал, местный контингент сразу сказал что это полька. CM>Пересказал ровно в том виде, как мне дали.
И таки этого было достаточно чтоб народ узнал.
CM>Только гугла и доков у меня под рукой не было.
А этого всего и не надо. Полька опознаётся на глаз.
CC>>Это будет сильно полезнее для реальной жизни чем продолжать этот, уже давно бессмысленный, срач на форуме. CM>А ты не делай его бессмысленным и попробуй подумать.
О чём? Эта тема бесконечна, это всё уже было и будет опять.
CM>Так что, возникает дилемма — либо ты учишь то, что нужно в реальной работе, но бесполезно на собеседованиях — либо то, что нужно на собеседованиях, но бесполезно в реальной работе.
Не надо алгоритмы учить, их надо понимать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, elmal, Вы писали:
E>Значительная часть была как раз с ИТМО. Но не с Парфеновской кафедры . Но на самом деле глубоко пофигу что в каком учебном заведении дают. Важно как много выпускников берет что из того, что "дают". У большинства остаточных знаний вообще ноль. Не спрашивал, но скорее всего платники, я не представляю как можно на бюджете без взяток с настолько нулевыми знаниями получить диплом, да еще при мужском поле. Под остаточными знаниями я понимаю не зубрежку какой формулы и способность сходу написать алгоритм, который писался на практике 1 раз лет 10 назад. А просто вопрос — из какой это области, по каким ключевым словам будете гуглить.
Коллега, не вы ли с внешней сортировкой со мной спорили, что это ненужный навык?
PS Вопрос посчитать в постфиксной нотации утянул себе, годный вопрос.
Здравствуйте, CodeMonkey, Вы писали:
M>>Ты правда до сих пор думаешь что это была задача на память? M>>Тебя когда спросят сколько будет 2^30 / 2^13 ты будешь вспоминать ответ? CM>Вообще да. Или ты на полном серьезе думаешь, что каждый должен быть способен посчитать 2^17 в уме?
65536 на два не сможешь помножить в уме?! Если чё, на интервью обычно дают и бумажку.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>65536 на два не сможешь помножить в уме?! Если чё, на интервью обычно дают и бумажку. CM>А 65536 ты откуда взял? Не из памяти? CM>PS Я всё надеялся, что до вас самих дойдет. Неа, не дошло.
Любой увлекающийся программированием многие степени двойки помнит.
Но допустим ты к программированию как к работе относишься и всякие неважные цифири запоминать не желаешь, а в свободное время крестиком вышиваешь. Но и в этом случае помножить 256*256*2 на бумажке займёт не более минуты.
А если ты и 256 не помнишь (хотя бы как квадрат шестнадцати) то... ну не знаю, не ту ты профессию выбрал.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Потому что умножение в столбик — классический алгоритм, учится с первого класса. CM>И что? Ты на писца-счетовода что ли собеседуешься?
Нет, на получателя зарплаты. Должен же я свою зарплату правильно посчитать уметь!
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Я за жизнь провёл десятки интервью CM>То есть, очень мало.
А сколько "нормально"?
CM>·>и сам посетил десятки... И такого никогда не было. Вообще первый раз такое слышу. CM>Я тоже посетил десятки, и никогда не было по другому. CM>И?
А, я думал ты работу на позиции программиста ищешь... Про писцов-счетоводов я мало что знаю.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, CodeMonkey, Вы писали:
CM>>Что касается реальной жизни, то полька мне никогда не была нужна и я уверен, что никогда нужна не будет. Как и еще множество других вещей.
KP>Ты что, на (e)LISP не разу ни писал? И даже Schema не пытался навелосипедить? Ну ты даешь, ведь даже если не знать что такое польская нотация, то в твоем задании фактически только скобочек не хватает что-бы LISP опознать
В лиспе всё как раз наоборот (+ 1 (- 2 5)) = -2
Здравствуйте, CodeMonkey, Вы писали:
CM>И если ты не помнишь степени двойки, хотя бы около 2^16, то сделать это ты не сможешь.
Если ты не помнишь степени двойки, хотя бы около 2^16 то у меня для тебя плохие новости
Хватит уже ныть на эту тему!
Таблица умножения сильно больше чем сраные 16 чисел, 6 из которых входят в ту самую таблицу. Дети её учат и от этого не дохнут.
Если уж настолько плохо с памятью и устным счётом — просто скажи как посчитать, формулу. Вменяемому интервьюеру этого достаточно.
Впрочем если так плохо с памятью то и формулы ты не помнишь, а это уже серьёзный disadvantage и нафига тебя такого брать если ты элементарные вещи будешь каждый раз гуглить?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Что это вообще такое? Это очень важно? Вот я в джаве никакого log4j не использую. Конфиги не помню почти.
CM>Так и не надо помнить. Надо уметь пользоваться документацией. Сытдно, когда даже это не под силу, не так ли?
Документацией пользоваться надо уметь. На собеседовании это редко провнряит, кстати.
CAF>>Было бы не важно — писал бы на форум. Ну забил бы и не писал. Ну не решил какую-то задачу. Но она простая и многим известна.
CM>"Не" пропущено? CM>Просто собираю информацию. Даже если тебе в ответ несут чушь — это тоже полезно для понимания общей картины мира.
CAF>>Так и про hex можно сказать. Кому он нужен? Да и бит тоже хрень какая-то
CM>По большому счету — да. На асме мало кто пишет, да и в сях манипуляция с битами довольно редко используется.
На смотря кто как.
А ты возьмешь на работу программиста, который не знает таких понятий?
А как на адреса в памяти смотреть? Или покрешиться глядя на корку?
И польская запись — есть стековая машина.
CAF>>Ты лучше расскажи где ты учился? У вас что-нибудь о трансляторах давали? Просто интересно.
CM>Да без разницы, обычный вузус пост-советикс. Трансляторы естественно были, но все данные оттуда уже давно почистил сборшик мусора.
Вот тебе и советуют расширить кругозор. Поверь, это полезнее, нежели считать остальных (интервьюверов) сумасшедшими.
Здравствуйте, Dym On, Вы писали:
DO>[/ccode]
Я, кстати, сейчас побегал по коллегам с вопросом сходу сказать сколько будет 2 в 15. Не ответил никто . Но я самый старый по возрасту, а начинал программировать тогда, когда большинство даже не родились . Степени помню потому, что 2^16 это предел адресуемого пространства 8 битовыми машинами. Плюс максимальный размер сегмента в реальном режиме процессора x86, я еще помню те времена, когда это было проблемой. 2^15 -помню так как у меня РК 86 с 32 килобайтами памяти. 2^14 — адрес начала экранной области спектрума. Меньше уже особо ассоциаций нет, кроме 4096 — размер страницы в x86 процах. Ну и 256 и 128 — базовые константы. С сишным опытом, кто писал и даже пишет прошивки на микроконтроллеры — те тоже не ответили . Сейчас это типа ненужные знания, запоминать смысла нет. Я запомнил, потому что мне в свое время эти константы что то говорили.
Здравствуйте, ·, Вы писали:
·>Нет, мне и не надо. Бремя доказательства лежит на утверждающем. А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно.
Полистал про подготовку... просто жесть, и это ради того чтобы попасть в Гугл
С первого дня, когда я начал подготовку, до момента, когда я получил оффер от Google, прошло 1 год и 5 месяцев.
...
Подготовка требует много времени: приблизительно 2-3 часа каждый рабочий день и каждый выходной полностью. То есть, по сути, все свободное время.
Здравствуйте, Sinclair, Вы писали:
S>То есть вас не смущает то, что вы ни MSIL, ни байткод JVM не можете читать даже со словарём? S>И вообще, инженер всегда должен уметь смотреть на один уровень вглубь — то есть, если пишешь на C#, надо понимать, в какой MSIL превращается код. Если пользуешься библиотекой — надо знать, как она устроена внутри. S>До самого дна лезть не обязательно — там быстро упрёшься в инженерное применение квантовой механики, а его за полчаса в ютубе не освоишь. S>Но вот обычный критерий хорошего инженера — любопытство, которое и приводит к тому, чтобы разобраться — что там "унутре".
Это всё благоглупости "за всё хоршее против всего плохого". В теории в абсолютно правы, но есть два момента, которые сводят всё на нет: во-первых это скорее из разряда "дополнительные плюсы", если это есть — молодец, если нет — это ничего не означает, а во-вторых а на практике где это "самое дно" совершенно непонятно, поэтому оно устанавливается каждым самостоятельно, в соотвествии с личными предпочтениями. Причём в примерно 100% граница этого дна чётко совпадает со знаниями определяющего. Для вас это, наверное, знания MSIL, для кого-то это знания инструкций процессора, а кто-то скажет, что это всё незнанчительные технические детали, а вот "обычный критерий хорошего инженера" это уметь в хардкорную комбинаторику и теорвер и кто не может за пять минут Байеса на бумажке — тот никчемный кодерок, пусть идёт читает JVM cо словарем и не мечтает о большем!
S>Если этого любопытства нет — то никаким надрачиванием фреймворков и паттернов ты его не заменишь, увы.
У вас как-то неявно предполагается, что надрачивание на MSIL/JVM лучше аналогичного надрачивание на паттерны. А я скажу что нет, причём даже аргументирую: патерны в реальной жизни встречаются и не редко, а знания MSIL/JVM за пределами похвастаться широтой знаний в курилке малоприменимы.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Документацией пользоваться надо уметь. На собеседовании это редко провнряит, кстати.
CM>Вот и я о том же. Умение банально прочитать и понять документацию — не проверяют. Умение писать реальный код, и, например, не забывать обрабатывать ошибки и не вылезать за буфер — не проверяют. CM>Зато полька — это святое, без нее ни одному программисту вообще никак.
Ну кто-то проверяет, кто-то нет, но эта задача не об этом.
CAF>>А ты возьмешь на работу программиста, который не знает таких понятий?
CM>Зависит от работы.
Да и правильно, читать главное что бы умел. Дони прочтет
CAF>>А как на адреса в памяти смотреть? Или покрешиться глядя на корку?
CM>И нафига тебе все эти навороты, когда ты пишешь на Яве (или вообше на скрипте каком-нибудь)?
Ну вообще-то даже в джаве приходится пользоваться и профайлером и дебаггером, и нативных агентов писать. Ну иногда и корки бывают, hs_err репорт обычно вразумителен. Но не всегда.
Когда критична производетельность — то и в асм придется носом уткнуться. В серьезных проектах из уютной джавы приходится вылезвать в жестокий внечний мир.
Для некоторых задач — джава не лучший инструмент, приходится и иные технологие осваивать (иногда вспоминать).
CAF>>Вот тебе и советуют расширить кругозор. Поверь, это полезнее, нежели считать остальных (интервьюверов) сумасшедшими.
CM>Фуфло. Никогда не знаешь, какую из страницу из какого учебника им взбредет в голову спросить в следующий раз.
По-моему ты ничего не понял. Вопрос был не в том, знаешь ли ты нотацию или нет. А сможешь ли написать разбор простой грамматики. Алгоритм интуитивно понятен. Это задача не на знание теории, не на сообразительность, а просто на умение закоировать алгоритм.
Но если тебе нравиться считать — что они просто рехнулись, то пожалуйста. В конце, концов, если они перед тобой просто листик с задачей положили — то может ты и прав.
Сама задача — неплохой тест, ИМХО.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Надо лишь знать, что килобайт (kibibyte если тебе так угодно) это 2^10 CM>Бинго. То есть — надо помнить эту константу.
Ну, во-первых, 2^10 это не константа, а выражение. Во-вторых, надо помнить не константу, а определение килобайта. В-третьих, в твоей терминологии для решения такой задачи ещё надо помнить что такое логарифм, а так же константы 2 и 10, базовую школьную арифметику, разговорный русский (английский) чтобы рассказать ответ и т.п. Т.е. твоё "помнить" — чистое словоблудие и софизм, т.к. в такой терминологии любая задача будет задачей на память.
Но даже допустим, что да, для решения задачи действительно надо "помнить константу 2^10". Теперь ты как иксперт по логике, можешь логически объяснить каким таким волшебным образом заявленное тобой "помнить наизусть степени двойки" волшебным образом превратилось в "помнить константу 2^10"?
CM>·>Спорно. Код пишется в первую очередь для человеков, а не для красоты или удобнее было компилятору. Большинству читать десятичные числа — проще. Не забывай, что твою нетленку возможно придётся читать джуниорам. CM>Покажи мне такого летального мутанта, которому 65536 удобнее, чем 0x10000. А если кто-нибудь напишет 65636, например?
Любого, кто десяитчной системой пользуется чаще, чем 16ричной.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Ну, во-первых, 2^10 это не константа, а выражение. CM>А его результат — константа.
И что? Результат для решения задачи помнить не требуется. И в решении даже не участвует. Т.е. знание этой константы вообще бесполезно.
CM>Софизм и демагогия — это то, что ты сейчас понаписал.
Нет, просто ты тупишь неимоверно, или просто троллишь.
CM>·>Но даже допустим, что да, для решения задачи действительно надо "помнить константу 2^10". Теперь ты как иксперт по логике, можешь логически объяснить каким таким волшебным образом заявленное тобой "помнить наизусть степени двойки" волшебным образом превратилось в "помнить константу 2^10"? CM>Поскольку ты ее указал в данном случае, просто поэтому
"Данный случай" это ровно то что требуется для решения той задачи. Твоё "помнить наизусть степени двойки" — ещё одна твоя выдумка, дабы сабж в свою пользу склонить. Или просто ты не смог догадаться до решения без необходимости зубрёжки степеней, но боишься признаться.
CM>>>Покажи мне такого летального мутанта, которому 65536 удобнее, чем 0x10000. А если кто-нибудь напишет 65636, например? CM>·>Любого, кто десяитчной системой пользуется чаще, чем 16ричной. CM>И он будет зубрить константы именно в ней, хотя 16-ричная была бы намного проще и удобнее для этого случая.
В процессе написания кода это можно посчитать (или у вас запрещено бумажкой пользоваться на работе?). Или просто написать в коде "64 * 1024", пусть компилятор зубрит константы, ему можно.
CM>Просто признайся, что привык делать через жопу и не сообразил, что можно делать лучше
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>В твоём сообщении не было даже знаков вопроса. CM>А без знака вопроса до тебя не доходит?
Да, т.к. я этот шум просто игнорирую. Если тебе ещё что-то непонятно, сформулируй вопрос внятно, я постараюсь ответить.
CM>·>Есть такое слово "тесты". Поинтересуйся на досуге. А то бояться опечаток... это мягко говоря непрофессионально. CM>Покажи мне тест, который покажет, что данные выравнены неправильно.
И в чём выразится эта неправильность? Если в тормозах, то перформанс-тест, очевидно.
CM>Не бояться опечаток — вот это по настоящему непрофессионально, причем на грани с профнепригодностью.
С фобиями — это тебе к другим профессионалам. Программирование тут непричём.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, VladiCh, Вы писали:
VC>>Ну просто для обработки арифметических и прочих скобочных выражений удобно из инфиксной записи преобразовывать в постфиксную (для этого есть отдельный довольно простой алгоритм) VC>>и потом через стек применять операции. Можно и в инфиксном режиме обрабатывать, не вопрос, но код получится сложнее.
CM>Остается открытым вопрос — почему нельзя взять исходное синтаксическое дерево и вычислять просто в процессе обхода.
Как ты получишь исходное синтаксическое дерево? Выражения обычно заданы в виде текста — (3+4)*5 и т.д.
Получить из такого выражения постфиксную запись и потом ее вычислить проще чем получить из нее дерево напрямую.
Здравствуйте, mgu, Вы писали:
mgu>·>С фобиями — это тебе к другим профессионалам. Программирование тут непричём. mgu>"Непричём" -- профессионал!
Когда по сути сказать нечего — всегда можно прикопаться к грамматическим ошибкам. Профессиональненько так.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Здравствуйте, mgu, Вы писали:
mgu>>·>С фобиями — это тебе к другим профессионалам. Программирование тут непричём. mgu>>"Непричём" -- профессионал! ·>Когда по сути сказать нечего — всегда можно прикопаться к грамматическим ошибкам. Профессиональненько так.
У нас, профессионалов, это называется "аудит кода" code review. Из-за фигурной скобки не на положенном месте или из-за неканоничного количества пробелов в отступах порвём на месте!
Здравствуйте, mgu, Вы писали:
mgu>не надейтесь, что code review как-то надёжно защищает от опечаток mgu>Выделенное записал в свой цитатник.
Совершенно справедливая фраза между прочим.
Code review увы не панацея, что проглядел один человек точно так же может проглядеть и другой.
Видел в реале когда change проходил code review но валился потом именно потому что случилась очепятка (запятая вместо точки), которая глазом была малозаметна но тем не менее приводила к правильному с точки зрения компилятора коду но совершенно другой логике.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, mgu, Вы писали:
mgu>Тегами и их или CSS атрибутами.
Так не только должно быть число выровнено вправо, но таблицах с числами для удобства восприятия цифра должна быть точно под цифрой. Для обсуждаемой минитаблицы это может и сильно неактуально, но в реальных должно быть так.
Задачка на элементарную сообразительность, никакими теориями и CS тут и не пахло. Если сообразительности нет — отлично подойдёт и эрудиция (если хотя бы краем уха слышал о FORTH – решишь на ура). Молодцы рекрутеры, прогрессируют в умении отшивать кодо-макак
Радуйся еще, что тебя собеседовали не Максим Хижинский или отжигавший тут в прошлом remark: с ними, КМК, ты офигел бы по полной от, как тебе кажется, теоретических знаний, не нужных в повседневной работе.
PS. Мне недавно дали в тестовом простую задачку написать глоб-парсер лог-файлов произвольного размера с минимальным потреблением памяти (*ba?h-li*e, объяснять детальнее смысла не вижу). Примитивщина, но когда начинаешь пилить её по фен-шую, с потоковым входом и на фиксированной аллокации, всплывают всякие интересности, наподобие конечного автомата с магазинной памятью. Что самое забавное, тестовое я по итогу запорол: в парсинго-стриминговой части проблем не было, а в UI–обвязке по запаре-невнимательности-недосыпу допустил три наитупейших ошибки, сам блин поржал над ними. И мне даже в голову не пришло после этого жаловаться. Выполнил план — посылай всех в П., не выполнил — сам иди на Х.
PPS. Тем более, что этот конечный автоматик я уже перепилил под свои нужды, для сверхмалопотребляющего поиска бинарных последовательностей прямо в адресном пространстве процесса, в условиях с дичайшими ограничениями доступной памяти.
Здравствуйте, mgu, Вы писали:
mgu>Наша справка: 8Г памяти стоят, как час работы программиста.
Ты готов за свой счёт проапгрейдить память сотням миллионов пользователей?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
mgu>Наша справка: 8Г памяти стоят, как час работы программиста.
Отлично например, оставайся при своих заблуждениях, а я тем временем буду рубить бабло там, где "ваша справка" не работает от слова совсем, и хохотать над неудачниками, плачущимися о нехватке работы и денег.
Моя справка:
1. 8G памяти, промасштабированные на миллион инстансов, стоят уже как миллион часов работы программиста
2. В embedded–системы тоже будешь впаивать 8G?
3. Зачастую не ты выбираешь платформу, а платформа тебя.
4. Что будешь делать, когда все слоты уже забиты под завязку, и 8G воткнуть некуда? Есть задачи, где не бывает слишком много RAM – бывает слишком мало слотов и упор в физическое ограничение платформы на максимальное количество памяти.
PS. Из-за таких грамотеев, как ты, сейчас даже вполне годные macbook pro с 16Gb RAM уходят в нехватку памяти, если запустить на них много говноподелий на electron.
Здравствуйте, CodeMonkey, Вы писали:
CC>>И сколько же мегадолларов заработал ты? CM>Я вижу, даже началам логики ты так и не научился
Я серьёзно спрашиваю.
У меня мегадоллар+ уже есть, какими результатами приложения своей могучей логики можешь похвастаться ты?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, iriska2, Вы писали:
I>Я тебя пожалуй поддержу, с одной стороны такую задачу конечно надо уметь решить, с другой стороны отсеивать человека потому что, он не решил одну задачу это МАРАЗМ. I>А всем кто тут пишет, как такое можно не знать ко ко ко... Вы такие умные пока вопросы задаете вы, когда вопросы будут задавать вам, вас закопают если захотят, уж поверьте мне
А CM закопать хотели? Ну то есть я действительно пытаюсь представить, что дают ему эту задачу и он тупит над ней 45 минут без решения... (И в принципе легко это представляю, учитывая что он на этом форуме никак не может кодом разродиться). Вот вы сами бы наняли человека, который "от 45 до 90 минут" тупит над подобным заданием и не выдаёт никакого решения? Я, например, никогда не изучал теорию компиляторов, когда мне говорят LL/LR/RL/прочая хрень, для меня это просто буквы (и мне не сильно интересно лезть разбирать что это такое), но если меня попросят сделать парсер алгебраических выражений, я его сделаю. Может не так эффективно, как возможно, но что-то я точно нарисую.
Здравствуйте, Тёмчик, Вы писали:
Тё>Разве тебя в той теме не было?
Может и пробегал где но это заявлял точно не я.
Тё>Морковка перед носом кролика в колесе.
Скорее разложенные по дороге, и которые ты видишь вперёд на годы пути
Тё>Cash is king.
А, ну т.е. тебе надо над ним чахнуть.
Тё>Пока не вышел в кэш (по курсу на момент окэшивания и уплаты capital gain tax) — это абстрактная цифра.
Если бы тебе в AU платили не AUD а JPY, тебе тоже надо было бы сначала выйти из JPY в AUD, по курсу на момент + налоги. Хотя казалось бы и то и то — кэш.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CC>>Дык и формулировка вопроса расплывчата по максимуму. CM>Как правило, по умолчанию имеется в виду средняя, мог бы и сам сообразить.
Средняя что? Формулировка? Строка?
CM>Какова алгоритмическая сложность квиксорта при сортировке массива длиной N, состоящего из строк длины K каждая? Средний и худший сценарий.
Гы! Просто ты не понимаешь что такое О.
Вне зависимости что сортируешь оценка сложности алгоритма сортировки не меняется, потому что меряется она в "шагах".
То, что где то там внизу, под самим алгоритмом есть что то ещё при оценке конкретно этого алгоритма намеренно опускается, иначе можно дойти до того что будем учитывать ещё и задержки которые вносятся регенерацией DRAM.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Мне не интересно обсуждать твои фантазии.
Почему бы тебе не почитать определение О-нотации? Там есть вполне определенные правила, что можно отбрасывать, а что нельзя.
Надо же, какой простой вопрос — а ты уже срезался.
Здравствуйте, CodeMonkey, Вы писали:
CM>Я тебе скажу, о чем обычно приходится думать. CM>1. Как в этом долбаном фреймворке извернуться и сделать то, что в нем не предусмотрено, но заказчик требует позарез? CM>2. Как поймать этот долбаный баг, который происходит случайным образом примерно раз из десятка тысяч прогонов? CM>3. Как в этом чуде хитровывернутого кода сделать нужные изменения без необходимости править десяток файл в разных местах CM>4. Какого хрена эта хрень не работает, хотя я делаю все по инструкции? CM>5. (спустя какое-то время) Каким местом думал дебил, который писал эту инструкцию? CM>6. (отвлеченно-философское) Какого хрена так много программистов щелкает задачи на собеседовании как орешки, но написать код, который не валится и не работает через жопу — не могут?
Это все? Пичаль. Я вот обычно ребятам ставлю задачи типа такой: уменьшить латентность обработки заказа до х секунд у Р95 и y секунд у Р99.
А частая ловля долбанных багов и борьба с кодом — это звоночек.
Здравствуйте, CodeMonkey, Вы писали:
НС>>Нет, но нам хватает процентов 5% времени на фиксинг.
CM>А вот это — уже не звоночек, а скорее набат. Это говорит не о крутизне вашего кода, а об отсутствии обратной связи. Вы просто не знаете, где проблемы в вашем продукте.
Да нет, вы просто отстали от жизни. Сейчас в приличных конторах код уже давно никто не пишет, идёт покрытие тестами. Когда фронт работ заканчивается, тесты покрывают собственными тестами. Так что 5% -- это ещё много.
Здравствуйте, CodeMonkey, Вы писали:
НС>>Порвались шаблоны? Понимаю. CM>Все в пределах стандартных шаблонов — самые криворукие всегда уверены, что делают всё идеально ЭДК в действии.
Ну да, ты погряз в багфиксинге, я криворукие те, кто умеет без. Логично, чо.
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>Зачем извращаться: сделать регэкспами парсер учитывающий приоритет операций наверно можно, но это уже эзотерическое программирование.
НС>Да тут рядом предлагали на полном серьезе.
Я на полном серьёзе обдумал, и думаю это возможно. Не за один проход, само собой. Но если несколько раз пройти по выражению, сначала обработав все вложенные скобки
(\([^(]+\))
Заменив их результатом парсинга операций.
Содержимое скобок парсим в два этапа:
1) ([\d*/]+) — умножение и деление, в первую очередь,
2) ([\d+\-]+) — сложение и вычитание.
На выходе получаем число
НС>Как? Или про НКА-ДКА ты все таки слышал?
Нет, я слышал про токенизатор, и думаю что класс, делящий строку на функциональные компоненты для указанного мной примера я напишу и без сакральных знаний (хотя потребуется костыль для отрицательных чисел).
НС>Ты LL и описал. Только у LL есть определенные проблемки со сложными приоритетами.
Ну я подозревал что во что-то подобное ткну пальцем.
S>>ЗЫ. Регэкспами, при здравом размышлении, интересный вариант — quick and dirty, но будет работать.
НС>Т.е. про классы грамматик ты не в курсе? Огорчу — приоритеты и скобки ты на регексах не распарсишь, это в регулярные грамматики невпихуемо, даже с фиксированным LA.
Регэкспами можно парсить сбалансированные скобки. Я даже делал это for fun — реализация dotNet Regex поддерживает balanced group matching.
Но в данном случае это не нужно, достаточно нескольких итераций упрощения выражения.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Чтобы оценить. У нас пока 16-ричной системе с детства не учат, десятичная прописана у всех глубоко в моск.
Чтобы оценить, достаточно посчитать число разрядов. Переводить ничего не надо.
Здравствуйте, CodeMonkey, Вы писали:
CM>expr = -?[0-9]+ CM>expr = expr expr [+-*/] CM>Например: CM>1 1 + 2 3 * - CM>должно получиться -4 CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
Здравствуйте, CodeMonkey, Вы писали:
V>>Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
CM>Базовые знания — это, что используется в работе. А вот такая фигня — это то, что очень любят теоретики, но на практике не используется никем, кроме может быть 0.01% программистов (по оптимистичной оценке).
А у каждого разная работа. Поэтому такие рассуждения субъективны. Так что тут ключевое слово "computer science". Такиеи задачи решают студенты 1-2 курсов соответствующей специальности.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>А у каждого разная работа. Поэтому такие рассуждения субъективны. CM>Совершенно объективны. Расскажи мне, для какой работы так позарез нужна "обратная польская нотация", что ее нужно помнить наизусть. Не считая работы препода в ВУЗе, естественно.
Тут важно не обратная польская нотация, а способ представления и обработки древовидной структуры данных. Или интервьюверы ни на какие дополнительные вопросы не отвечали? Откуда вообще взялось "грамматика вообще неверна"?
CM>·>Так что тут ключевое слово "computer science". Такиеи задачи решают студенты 1-2 курсов соответствующей специальности. CM>А чего не решить, если им вчера про это лекцию рассказывали Скорее всего, и я решал, только давно позабыл по причине полной ненужности.
А есле кондидад ниграматно пишед, тобе б панравилось? А веть это было исчо ранше... А как азы аснавной проффесии "позабыл", так вроде как нормально.. Да и подзабывать-то особо нечего. Польскую нотацию помнить не надо, за 5 минут объясняется с нуля и за 15 пишется программа. Или интервьюверы ничего не хотели пояснять? Если так, то это другой разговор.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
V>>>Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
CM>>Базовые знания — это, что используется в работе. А вот такая фигня — это то, что очень любят теоретики, но на практике не используется никем, кроме может быть 0.01% программистов (по оптимистичной оценке). ·>А у каждого разная работа. Поэтому такие рассуждения субъективны. Так что тут ключевое слово "computer science". Такиеи задачи решают студенты 1-2 курсов соответствующей специальности.
Вопрос в том, нахера идти туда, где студенты работают (и скорее всего, требования определяют и членами меряются). Что, на свете мест не нашлось больше?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, sergey2b, Вы писали:
S>>вы с Артемом спорили целый топик надо уметь оперировать отдельными битами или нет CC>Артёмка там как обычно за деревьями упорно не видел леса. CC>Но сортировать биты ещё никто не додумывался.
Здравствуйте, CreatorCray, Вы писали:
CC>Please! Это самый что ни на есть обычный поток для стековой машины.
И кто ее использует, стековую машину? Ну допустим, те, кто разрабатывают CLR. Еще наверно любители Форта и прочих особо грязных сексуальных извращений. Еще какое-то число разработчиков компиляторов, хотя хранить эти данные в виде плоского списка я смысла не вижу.
Сколько таких людей на весь мир наберется, для которых это действительно нужно? Ну допустим, не десяток. Тысяча. Может, даже десяток тысяч. Всё
Здравствуйте, mgu, Вы писали:
mgu>А старшие, которые решают проблемы оптимальным образом, или гуру, которые не создают проблем, никому не нужны.
Ха! Ещё как нужны, вот только мало таких.
Впрочем тут ещё такой момент что каждый считает что именно он — гуру и опытный.
А на деле вон, "даже в говне не разбираются" (С).
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Дык тебе ж и дали задачку, которую твой framework не предусматривает. CC>В чём внезапно проблема?
Проблема, главным образом — в мутной постановке задачи и прессинге по времени. Так то задача несложная.
CC>Костыль-driven development?
А где-то бывает по другому? Если только у каких-нибудь суперхардкорных спецов по низкому уровню, у которых и ось и компилятор свои
У остальных же, если ты напоролся на баг или плохой дизайн в фреймворках, библиотеках или оси — придумывай костыли и не жужжи.
CC>Гм, и ты до сих пор этому удивляешься?
Временами находит, да.
CC>Да потому что собеседовали на знание FW а не на наличие правильно заточенных мозгов.
Собеседования сейчас практически везде одинаковые — алгоритмы и "тесты на мозги" (С)
CC>Кстати а что тут тянет на senior то? CC>Знания очередного framework, которые появляются и исчезают каждые пару лет?
Умение решить задачу, несмотря на любые преграды, которые тебе ставит менджмент и кривые инструменты, которые производят излишне головастые любители сложного кода.
Можно еще добавить в список, если тебе хочется позанудствовать. Например — важнейший скилл "понять, чего хочет заказчик, и чего ему нужно на самом деле". Разобраться-таки, почему это говно, которое тебе навязали, никак не работает как надо. И так далее.
Здравствуйте, Voivoid, Вы писали:
V>Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
Тык это. В российских вузах же CS не учат. Научили на первом курсе быдлокодить на каком языке, далее студент думает что все знает и учиться дальше не надо и CRUDит на фултайме. А это сильно продвинутый вопрос. На него только те, кто калькуляторы МК 61 и подобные застал . Ну не ходить же на лекции ради предмета "языки, грамматики, автоматы" же в самом деле. Это ж все равно никогда не пригодится. Деревья какие то, AST какое, парсеры, лексеры. Ересь это все, PHP форева! Лучший язык без недостатков!
DB>Если же собеседующие просто не стали отвечать на его уточняющие вопросы, то значит они чудаки (на букву М), с такими лучше не работать.
А если собеседующие для контакта с кандидатами используют хрюшу-передаста, которой что экстаз, что унитаз, и она вопрос и ответ передает с использованием своего затейливого ума?
G>А если собеседующие для контакта с кандидатами используют хрюшу-передаста, которой что экстаз, что унитаз, и она вопрос и ответ передает с использованием своего затейливого ума?
Тоже хороший фильтр. Не смог договориться с HR, прозвучали хоть какие-нибудь уничижительные нотки по отношению к ней — no hire однозначно.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Тут важно не обратная польская нотация, а способ представления и обработки древовидной структуры данных. Или интервьюверы ни на какие дополнительные вопросы не отвечали? Откуда вообще взялось "грамматика вообще неверна"? CM>Нет, не отвечали. На тебе условия, сиди и решай, спрашивать ничего нельзя.
И в интернет заглядывать нельзя? Ну тогда да, это не интервью, а экзамен, неадекватно в таком случае. Или они ищут способных студентов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
Здравствуйте, Vlad_SP, Вы писали:
V_S>Проблема именно в том, что да, фреймворк не предусматривает такой задачки, а Заказчик, дрянь этакая, про этот казус не слышал и требует позарез. Причем еще вчера, так как он (Заказчик) и так уже все сроки профакапил.
V_S>Знакомая ситуация, да?
Не, мы пожимаем плечами и говорим "жди в следующем релизе" Ибо "мы тут пабыстраму" просто запрещено.
Впрочем у нас и фреймворков толком то нету, а те что есть — нами же и написаны
Спесифика аднака!
С другой стороны баги с бОльшего делятся на "чота кривовато вышло" и "кровь, кишки, распидорасило, волки испугались огня, начали в него прыгать, загорелись, чердак загорелся, гуси загорелись, куры загорелись, какие-то животные в горящих клетках стали гореть ещё сильнее. Дом сгорел, квартал сгорел, деревья все сгорели." (С)
Причём во вторую категорию попадает подавляющее большинство.
Так и живём.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Sinclair, Вы писали:
S>Ну ок. А если бы вас попросили написать вычислитель выражений в инфиксной нотации — что, это было бы как-то легче?
Да. Что такое инфиксная нотация — я помню, и тратить время и размышлять, что же на самом деле значит вот эта запись — не надо.
S>Я вот профильного образования не имею, компиляторы никогда не писал, но даже я знаю, что такое "перевод инфиксной нотации в постфиксную", что такое "стековый вычислитель" и прочие примитивные вещи.
Жаль, что ты не помнишь так же хорошо другие вещи. Например — не впихивать в проект новые фичи, когда и так сроки горят.
Или не лебезить перед начальством, особенно когда расплачиваться за это приходится твоим коллегам.
Впрочем, я уверен, что в твоем сознаниии это всё выглядит совершенно по другому Что-нибудь в духе "хорошая командная работа, встанем единым фронтом против злобной задачи, дайте нам больше интересных проектов" и так далее.
Здравствуйте, mgu, Вы писали:
mgu>А в чём противоречие?
В том, что он хочет делать новый мерседес, а знаний хватает только на крутить гайку в жигулях.
mgu> Что лучше -- "Мерседес" или "Жигули"?
Мерседес
Тут можно долго валять дурочку с "смотря по каким параметрам" но мне эти виляния не интересны.
mgu>А что больше покупают?
Мерседес
1.7M (Jan-Sep 2018) Mercedes vs 291K (Jan-Oct 2018) Lada
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
KP>>В моей системе мер программист не имеющий хотя бы базового представления о теории компиляторов – посредственный кодер
CM>У меня на диске лежит простенькая БД, которую я когда-то сделал просто из интереса. В моей системе мер программист, не написавший свою БД – посредственный кодер
Знать устройство языка программирования всегда полезно, так как это твой основной рабочий инструмент. В большинстве случаев обычная любознательность должна сработать: а что такое лексер? а что такое парсер? а что такое AST? и так далее, не вылезти тут польская нотация или LISP не могут просто. Так как ты всё сводишь к "надо ли в повседневной работе", то да, надо. Пример из моей практики: доработать/сделать статический анализатор чтобы улучшить качество кодовой базы.
С базами, если это твой хлеб, то да, надо знать как они работают внутри.
Здравствуйте, CreatorCray, Вы писали:
CM>>Не задача. Формулировка задачи. CC>Ну ты ж сам видел что даже по формулировке в том виде, в котором ты её пересказал, местный контингент сразу сказал что это полька.
да мне кажется что даже не обязательно знать что это полька,
никогда особо не интересовался парсерами/компиляторами — что такое полька не знал но прочитав исходный топик — вопросов почему -4 и о том как решать особо не было( ну был порыв чуть пере-усложнить )
Здравствуйте, ·, Вы писали:
·>Любой увлекающийся программированием многие степени двойки помнит.
Нет, не надо юлить. Исходное утверждение было, что этот вопрос — не на память.
Вот ты лучше скажи мне — как ты можешь работать программистом, имея такие проблемы с элементарной логикой?
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Любой увлекающийся программированием многие степени двойки помнит. CM>Нет, не надо юлить. Исходное утверждение было, что этот вопрос — не на память.
Да. Этот вопрос не на память. Память помогает лишь решить быстрее или вообще в уме (что я бы и не стал делать в условиях интервью), но даже если всё забыл, ответить на этот вопрос никаких сложностей нет.
2 -> 4 -> 16 -> 256 ->(возможно на бумажке) 65536 ->(скорее всего в уме) 131072
CM>Вот ты лучше скажи мне — как ты можешь работать программистом, имея такие проблемы с элементарной логикой?
Да какая тут работа... я только зарплату получаю, да на рсдн трещу.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Да. Этот вопрос не на память. Память помогает лишь решить быстрее или вообще в уме (что я бы и не стал делать в условиях интервью), но даже если всё забыл, ответить на этот вопрос никаких сложностей нет. ·>2 -> 4 -> 16 -> 256 ->(возможно на бумажке) 65536 ->(скорее всего в уме) 131072
Не "возможно на бумажке", а точно на бумажке. Вероятность, что ты ошибешься хотя бы на одном шаге, считая в уме — 99.99%
Считать на бумажке, кстати, обычно запрещают.
·>Да какая тут работа... я только зарплату получаю, да на рсдн трещу.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Да. Этот вопрос не на память. Память помогает лишь решить быстрее или вообще в уме (что я бы и не стал делать в условиях интервью), но даже если всё забыл, ответить на этот вопрос никаких сложностей нет. CM>·>2 -> 4 -> 16 -> 256 ->(возможно на бумажке) 65536 ->(скорее всего в уме) 131072 CM>Не "возможно на бумажке", а точно на бумажке. Вероятность, что ты ошибешься хотя бы на одном шаге, считая в уме — 99.99% CM>Считать на бумажке, кстати, обычно запрещают.
Не знаю, не сталкивался с таким обычаем.
CM>·>Да какая тут работа... я только зарплату получаю, да на рсдн трещу. CM>Ты на вопрос не ответил.
Чтобы получать зарплату — логика не нужна.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Не знаю, не сталкивался с таким обычаем. CM>Кстати, а в чем практический смысл считать именно на бумажке или в уме, но ни в коем случае не на калькуляторе? Чем бы кандидат не занимался — лишь бы задолбался?
Потому что умножение в столбик — классический алгоритм, учится с первого класса. Да и любой претендент на программиста должен уметь в арифметику.
А зачем на интервью проверять навыки использования калькулятора? Ты на кассира что-ли собеседуешься?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
M>>А-а-а, ну если тебе однажды запретили, то значит всем и везде тоже обычно запрещают CM>А твои данные что "обычно разрешают" откуда происходят?
Я за жизнь провёл десятки интервью, и сам посетил десятки... И такого никогда не было. Вообще первый раз такое слышу.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Толи ты сочиняешь, толи на каую-то странную позицию собеседовался, толи гуглу конец близок. CM>... то ли ты сочиняешь. Это чтобы учитывать все возможности.
Ну я-то знаю, что я не сочиняю.
Кстати, в Сети можно найти описания гугловых интервью. Про "считать в уме" тоже не доводилось видеть.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>"собеседование в день" — это что за команда такая, постоянная текучка кадров? Да и откуда взять столько кандидатов? CM>Любая компания побольше, чем "десяток студентов в подвале".
62k достаточно "побольше"?
CM>Две сотни — это совсем не много, на самом деле.
В любой компании больше, чем "десяток студентов" есть различные команды, в каждую из которых собеседуют разные люди. А ты, что-ли за всех отдуваешься?
CM>·>Естественно. Или ты зарплату свою не считаешь? CM>Совершенно точно — не на бумаге в столбик.
Ну вот, потому ты и польку "забыл".
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>А 65536 ты откуда взял? Не из памяти?
Подожди, ты хочешь сказать, что не помнишь сколько будет два в шестнадцатой?
Здравствуйте, CodeMonkey, Вы писали:
CM>·>А как они это проверяют по телефону-то? CM>Сейачс, как правило — по скайпу.
И что? Как это помогает проверять наличие бумажки?
CM>·>Нет, мне и не надо. Бремя доказательства лежит на утверждающем. CM>Ты утверждаешь, что обычно можно пользоваться бумажкой — ты и доказывай
"Обычно" это значит, как минимум в более половины случаев. Я тебе привёл случай, когда бумажек не было. Т.е. пока 100%. Чтобы тебе доказать твоё утверждение, ты должен привести два случая, когда бумажек не было, тогда будет ~33%, и уже можно утверждать про "обычность".
CM>·>А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно. CM>Увтерждение было "обычно", а не "абсолютно всегда, без исключений". CM>Разница тебе понятна или нужно объяснять?
Видимо надо, объясняю: надо привести хотя бы один случай, когда оно не так. Так что пруфы в студию.
CM>·>По этому описанию мне не очевидно, что это вопрос "на память" и в уме ничего невозможно сделать. CM>Я этого и не говорил. Сказал, что это 1) вопрос на счет 2) бумажка запрещена
Я это понял так, что ты имел в виду, что счёт требуют нетривиальный. Да, я согласен, что 256*256 помножить в уме — сложно, легко ошибиться. Ты мне приводишь пример из которого вообще ничего не понять и делаешь из этого выводы космических масштабов. Может тебя заставили в уме 2*2 умножить, а ты не смог.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
DO>>Подожди, ты хочешь сказать, что не помнишь сколько будет два в шестнадцатой?
CM>Нет, не хочу. Я хочу сказать, что эта задача — именно на память
2^17 = 128K. 2^33 = 8G. Вы в курсе про адресное пространство?
Здравствуйте, CodeMonkey, Вы писали:
CM>·>В любой компании больше, чем "десяток студентов" есть различные команды, в каждую из которых собеседуют разные люди. CM>И в многотысячной компании, каждая такая команда — от 100 до 1000 человек. Так что нет, не принимается, это плохое оправдание.
Даже в команде из 100 человек найдётся десяток людей, которые могут проводить интервью. Зачем это делать одному человеку — непонятно.
А вообще, команды больше 30 программистов я наблюдал только в индусятниках.
CM>·>А ты, что-ли за всех отдуваешься? CM>Я этого и не говорил.
Я просто хочу понять, в каких условиях программисту может потребоваться ежедневно проводить технические интервью.
CM>·>Ну вот, потому ты и польку "забыл". CM>Я еще много чего забыл за ненадобностью. А также помню много вещей, которые на самом деле нужны, но почему-то мало кто их помнит
Интересно что?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>"Обычно" это значит, как минимум в более половины случаев. Я тебе привёл случай, когда бумажек не было. Т.е. пока 100%. Чтобы тебе доказать твоё утверждение, ты должен привести два случая, когда бумажек не было, тогда будет ~33%, и уже можно утверждать про "обычность". CM>Но чтобы опровергнуть твое утверждение про "обычно разрешено", достаточно одного контрпримера — и я его привел CM>В любом случае — а тебе еще не надоело заниматься буквоедством?
Буквоедством решил заняться ты, выясняя значения слов.
CM>·>Видимо надо, объясняю: надо привести хотя бы один случай, когда оно не так. Так что пруфы в студию. CM>См выше, мое собеседование в гугл. Уже забыл?
Ну раз мы берём и это в расчёт, то ты "уже забыл" о моём собеседовании в гугл. Так что даже так счёт 2:1 не в твою пользу.
CM>·>Я это понял так, что ты имел в виду, что счёт требуют нетривиальный. Да, я согласен, что 256*256 помножить в уме — сложно, легко ошибиться. CM>Ну наконец-то.
Кто здесь?
CM>·>Ты мне приводишь пример из которого вообще ничего не понять и делаешь из этого выводы космических масштабов. Может тебя заставили в уме 2*2 умножить, а ты не смог. CM>Мда? То есть что и как считать, ты вообще не понял?
А ты ничего и не рассказал, кроме того, что тебе дали задание, которое ты не осилил.
CM>В одном примере, надо перемножить в уме несколько дробных чисел (после того, как ты сделаешь все необходимые выводы, что делать надо именно это).
И что? Дальше-то что? Или для тебя "перемножить несколько чисел" всегда непосильная задача и надо хвататься за калькулятор? Скажем, я могу запросто перемножить сотню дробей 1/2 * 2/3 * 3/4 ... * 99/100 чисел в уме за долю секунды. Возможно интервьювер и хотел от тебя добиться чтобы ты заметил некую закономерность в умножаемых числах и свести сложный вычислительный процесс к паре операций, производимых в уме. И это собственно самый важный навык, требуемый от любого опытного программиста — находить в бардаке требований закономерость и выдавать простое решение.
CM>В другом — посчитать log2 от какого-то довольно большого числа.
Какого большого? 1024 достаточно большое? Хочешь я расскажу как log2(1024) посчитать в уме?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
CM>И если ты не помнишь степени двойки, хотя бы около 2^16, то сделать это ты не сможешь.
Чойта не смогу-то?
Берешь и подбираешь последовательно.
В чем проблема в упор не понимаю. Считать не обучен?
Здравствуйте, CodeMonkey, Вы писали:
CM>А 65536 ты откуда взял? Не из памяти?
А таблицу умножения ты что, тоже не помнишь?
Я конечно уже понял что базовых вещей ты просто не знаешь, но чтоб настолько...
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Вопрос был о "долине" и невероятной крутизне программистов в ней, поскольку польскую нотацию там знают даже дебилы.
Ты задал вопрос: (цитата) "кто пишет весь этот кривой, глючный и тормозной говнософт?"
И получил ответ на именно этот вопрос.
CM>Логика, слышал когда-нибудь о таком понятии?
Ты похоже не слышал.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, mgu, Вы писали:
mgu>Перечитывал перед отправкой, но в дело вмешались специалисты по компиляторам, \s+ у них чешется. Подправил.
Для этого надо preview жмякать, при перечитке можно и не заметить. Я просто уже на автомате табличные данные в какой нить заведомо моноширинный тег заворачиваю.
mgu>А что касается "моноширинных шрифтов"... Помнить степени двойки у вас лучше получается. Тебя покусали?
mgu>Всё жду, когда в новом стандарте HTML-а появится тег <шутка> mgu>Улыбочки из двоеточия со скобкой не предлагать -- в них нет атрибутов.
А чем тебя стандартные смайлы из RSDNовского комплекта не устраивают?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Если бы на собеседованиях спрашивали по умению мыслить логически
Ты не поверишь!
CM>а не вызубренные алгоритмы
Я ничего никогда не зубрил. Всё что помню — от постоянного использования.
CM>то ты вообще ни одно бы не прошел.
Обтекай.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Тебя опять на работе обидели, что ли?
Пригорает?
Ступай к Артёмке, будете на пару факела в ночное небо выдавать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Типичное поведение затюканного маленького человека, который теперь ищет, на ком сорвать злость.
С ясновидением у тебя всё ещё хуже чем с арифметикой
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Никакого ясновидения, просто анализ поведения.
Ты свои "аналитические способности" тут уже всем продемонстрировал и не раз.
Грусти.
CM>А с логикой у тебя всё так же плохо, как и всегда.
Ты можешь себя утешать как угодно, но работу не получил всё таки ты
Иди CS учи, а то так и будешь на форумах жаловаться что тебя, такого всего из себя логичного, никуда не берут.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Но тру программисту не решить такую задачу все равно должно быть стыдно.
Есть много разных "стыдно", которые я видел. Например, когда чувак не может без посторонней помощи написать конфиг для log4net (реальный случай, кстати). И я могу припомнить еще немало таких случаев, и не только у рядовых кодеров.
А не разобраться за 40 минут в теоретической фигне, которая ни к моей работе, ни к вакансии вообще никаким боком не относится — это просто неважно.
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Что это вообще такое? Это очень важно? Вот я в джаве никакого log4j не использую. Конфиги не помню почти.
Так и не надо помнить. Надо уметь пользоваться документацией. Сытдно, когда даже это не под силу, не так ли?
CAF>Было бы не важно — писал бы на форум. Ну забил бы и не писал. Ну не решил какую-то задачу. Но она простая и многим известна.
"Не" пропущено?
Просто собираю информацию. Даже если тебе в ответ несут чушь — это тоже полезно для понимания общей картины мира.
CAF>Так и про hex можно сказать. Кому он нужен? Да и бит тоже хрень какая-то
По большому счету — да. На асме мало кто пишет, да и в сях манипуляция с битами довольно редко используется.
CAF>Ты лучше расскажи где ты учился? У вас что-нибудь о трансляторах давали? Просто интересно.
Да без разницы, обычный вузус пост-советикс. Трансляторы естественно были, но все данные оттуда уже давно почистил сборшик мусора.
Здравствуйте, VladiCh, Вы писали:
S>>А, в этом смысле. Не думал о таком способе сериализации дерева. А можно примеры когда подобное было бы полезно? (No offence, просто интересно где подобное используется на практике)
VC>Если будешь обходить дерево в глубину, используя post order, то и получится обратная польская нотация. VC>Другие примеры post-order обхода когда например нужно последовательно освободить память для всех элементов дерева, начиная с листьев, порядок обхода тот же.
Это понятно, но вопрос был в другом — зачем для этого сериализовывать дерево в этот вид, когда можно использовать тот же Visitor? То есть для чего может пригодиться именно сериализация в польскую нотацию?
То есть я могу допустить что где-то это можно использовать как один из способов передачи данных, но вот в каких случаях он будет настолько выгодным, что станет основным?
Здравствуйте, elmal, Вы писали:
CC>>А так бывает? E>Запросто. Абсолютно ортогональные навыки
Да как то не похоже на то. Минимум идут бок о бок.
E> тем более что не все имеют ИТшное образование.
Прекрасно разбирается в языке, ни в зуб ногой в алгоритмах и не имеет никакого профильного образования — это какое то уж очень странное сочетание.
E>Сходу может сказать гарантировано такое исполнение или нет. Например есть concurrency код. Он оказывается узким местом. И вот пусть оптимизирует, оставляя только те блокировки и всякие volatile, которые необходимы. Плюс такие обычно охрененно хорошо знают накладные расходы на каждое ключевое слово, охрененно хорошо знают что в каких случаях может оптимизировать компилятор и тому подобное.
Я вот как то не представляю как это можно уметь и одновременно совершенно не иметь понятия об алгоритмах.
E>А зачем таких брать, если нужно заниматься саппортом какой легаси банковской системы, например?
Дык и первые тут нафиг не нужны.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, 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. Или ты "забыл" что такое килобайт/мегабайт? Или тебя попросили посчитать до десятого знака после запятой?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>Так что расскажи ка мне, откуда ты взял 20, если не из памяти? Это, опять — к вопросу о логике.
Ты знаешь что такое килобайт? Или это тоже тест на память? Или тест на счетовода-писаки?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Килоба́йт (русское обозначение: Кбайт; международное: Kbyte, KB)[1] — единица измерения количества информации, равная 1024 байт.
CM>·>Не путать с кбайт (килобайт — kilobyte, kB) в написании со строчной буквы, равным 1000 байт
CM>
CM>The International System of Units (SI) defines the prefix kilo as 1000 (103); per this definition, one kilobyte is 1000 bytes.[1] The internationally recommended unit symbol for the kilobyte is kB
И что? Я ж тебе по-русски писал, а не по-английски, а в России именно так принято. Да и оказывается доки по log4net ты тоже нифига не читал, тоже значит приврал, что эксперт по докам log4net.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, CodeMonkey, Вы писали:
CM>·>И что? Я ж тебе по-русски писал, а не по-английски, а в России именно так принято. CM>А кого интересует Россия, когда собеседование — в Google?
Ты за контекстом не следишь. Слово "килобайт" я написал на русском форуме на русском языке, когда рассказал как можно решить непосильную тебе задачу вычисления примерного значения log2(500000) в уме без запоминания всех степеней двойки. Причём тут собеседование в гугле?
CM>Он, кстати, говорит следующее: CM>
CM>The kilobyte (abbreviated "K" or "KB") is the smallest unit of measurement greater than a byte. It precedes the megabyte, which contains 1,000,000 bytes. While one kilobyte is technically 1,000 bytes, kilobytes are often used synonymously with kibibytes, which contain 1,024 bytes.
И что? Тут тебе в третий раз повторяют — не путай kilobyte и килобайт.
CM>·>Да и оказывается доки по log4net ты тоже нифига не читал, тоже значит приврал, что эксперт по докам log4net. CM>Бешеный полет логики CM>1) я не говорил, что я эксперт по докам log4net. Если говорил — покажи пальцем, где.
Так это
Здравствуйте, CodeMonkey, Вы писали:
CM>·>И что? Тут тебе в третий раз повторяют — не путай kilobyte и килобайт. CM>Их все путают, достаточно немного погуглить. https://habr.com/post/193256/ CM>То определение, которое используешь лично ты — вовсе не обязан использовать каждый.
Так хоть ты разберись и не путай больше.
CM>1) Помнить двоичные степени в десятиричной системе — это вопрос на память или нет? CM>Ответ — да, без вариантов.
Для вычисления log2(500000) помнить даже 1024 не надо. Надо лишь знать, что килобайт (kibibyte если тебе так угодно) это 2^10 и он назван так потому что по значению близок к 1000. И в рамках интервью ты можешь так и сказать "I know 2^10 is nearly one thousand, so..... log2(500000) is nearly 19".
CM>Кстати говоря, в коде вместо это намного удобнее использовать шестнадцатиричную систему. Что лучше — 65536 или 0x10000? Можешь не отвечать, вопрос риторический. На самом деле, если кто-то пишет именно 65536, то ему стоит надавать по ушам.
Спорно. Код пишется в первую очередь для человеков, а не для красоты или удобнее было компилятору. Большинству читать десятичные числа — проще. Не забывай, что твою нетленку возможно придётся читать джуниорам.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Посчитать вероятность совпадения нескольких событий с известными вероятностями.
Если я правильно распарсил, то этж тупо перемножить эти вероятности нужно было.
Скорее всего они были что-то типа 0.2, 0.3, или даже 1/4. Неужто возникла проблема?
Не, если там конечно были числа типа кубический корень из один делить на пи, то я хз что проверял собеседующий таким вопросом.
Посчитать глубину дерева поиска для какого-то довольно большого числа элементов.
Заметь как номер строки и столбца образует значение log2 для ячейки, например log2(32k) == 15.
Прикидываешь между какими числами находится Х, и вуаля, например 200000 лежит между 128k и 256k, итого глубина дерева 17-18.
Если Х близко к степени двойки, например 257000, и сходу непонятно какими соседними числами его ограничить, скажи глубина где-то 17-19. Думаю такой ответ бы засчитался.
CM>Никаких бумажек, я спрашивал.
Здравствуйте, CodeMonkey, Вы писали:
CM>И ты всерьез собрался возвести 2^17 в уме за минуту, без бумажки, и не ошибившись при этом раза в два-три-десять?
Это ж только ты у нас походу такой немощный — ни складывать ни на два умножать не умеешь
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>По-моему ты ничего не понял.
Да, более того, он это продолжает делать.
CAF>Вопрос был не в том, знаешь ли ты нотацию или нет. А сможешь ли написать разбор простой грамматики. CAF>Алгоритм интуитивно понятен. Это задача не на знание теории, не на сообразительность, а просто на умение закоировать алгоритм.
Именно!
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Ну кто-то проверяет, кто-то нет, но эта задача не об этом.
CM>Практически никто не проверяет. И это — большая проблема.
Для кого? Если те кто не проверяют, держатся на плаву, то не для них. У них все ок.
Если загибаются, то еще лучше. Тебе то какая печаль?
CAF>>Когда критична производетельность — то и в асм придется носом уткнуться. В серьезных проектах из уютной джавы приходится вылезвать в жестокий внечний мир.
CM>Плавненько, плавненько, подменяем яву асмом, никто и не заметит. CM>99% кодеров все эти знания нафиг не нужны. Что нужно — так это грамотно писать обычный код без заумных наворотов, и как раз это мало кто проверяет. И, кстати, мало кто умеет.
Большинство середнячка и впрямь с этим не сталкиваются. Но ведь ты себя позиционируешь как топ Спрос соответствующий, от грамотного проектирования, до копания вглубь до просветления.
CAF>>По-моему ты ничего не понял. Вопрос был не в том, знаешь ли ты нотацию или нет. А сможешь ли написать разбор простой грамматики. Алгоритм интуитивно понятен. Это задача не на знание теории, не на сообразительность, а просто на умение закоировать алгоритм.
CM>В условиях жестко ограниченного времени и нехватки информации. CM>Не знаю, что они в следующий раз придумают. Может, дустом посыпят?
Я уже написал, что то как именно была поставлена задача вопрос отдельный. Может и дустом, если этот форум почитают
Здравствуйте, De-Bill, Вы писали:
CM>>И ты всерьез собрался возвести 2^17 в уме за минуту, без бумажки, и не ошибившись при этом раза в два-три-десять? DB>Сейчас проверил — получилось, совсем не сложно.
Верно, в уме удваивать просто. Для чистоты эксперимента я так же за ~ минуту посчитал 3*2^16 простым удвоением 3, 6, 12, 24... Эти числа я уж точно не помню.
Делить пополам, кстати, тоже просто.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Верно, в уме удваивать просто. Для чистоты эксперимента я так же за ~ минуту посчитал 3*2^16 простым удвоением 3, 6, 12, 24... Эти числа я уж точно не помню. ·>Делить пополам, кстати, тоже просто.
Умножать на "неудобные" числа кстати в уме можно умножением на пару более "удобных" а потом их сумма или разница, смотря в какую степь было удобнее
Например x * 7 можно заменить на x * 10 — x * 3 или x * 10 / 2 + x * 2
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, ·, Вы писали:
·>Ну, во-первых, 2^10 это не константа, а выражение.
А его результат — константа.
Ты еще скажи, что Пи — это не константа, а выражение, потому что его значение можно вычислить.
Софизм и демагогия — это то, что ты сейчас понаписал.
·>Но даже допустим, что да, для решения задачи действительно надо "помнить константу 2^10". Теперь ты как иксперт по логике, можешь логически объяснить каким таким волшебным образом заявленное тобой "помнить наизусть степени двойки" волшебным образом превратилось в "помнить константу 2^10"?
Поскольку ты ее указал в данном случае, просто поэтому
Ничего волшебного.
CM>>Покажи мне такого летального мутанта, которому 65536 удобнее, чем 0x10000. А если кто-нибудь напишет 65636, например? ·>Любого, кто десяитчной системой пользуется чаще, чем 16ричной.
И он будет зубрить константы именно в ней, хотя 16-ричная была бы намного проще и удобнее для этого случая.
Просто признайся, что привык делать через жопу и не сообразил, что можно делать лучше
Здравствуйте, ·, Вы писали:
·>И что? Результат для решения задачи помнить не требуется. И в решении даже не участвует. Т.е. знание этой константы вообще бесполезно.
Тебе не кажется, что ты уже совсем заврался?
CM>>Софизм и демагогия — это то, что ты сейчас понаписал. ·>Нет, просто ты тупишь неимоверно, или просто троллишь.
Кстати, неудобные тебе вопросы ты опять поскипал.
·>В процессе написания кода это можно посчитать (или у вас запрещено бумажкой пользоваться на работе?). Или просто написать в коде "64 * 1024", пусть компилятор зубрит константы, ему можно.
Не надо вообще считать. Надо писать в 16-ричной системе и не создавать себе и другим проблемы на ровном месте. 16-ричная система была создана специально для этой цели — так бери и пользуйся.
Кстати, ты так и не ответил — что будет, если кто-то излишне любящий сложности вроде тебя опечатается или ошибется в таком числе. Придется отвечать за тебя — скорее всего, ошибку никто так и не заметит.
Здравствуйте, CodeMonkey, Вы писали:
CM>>>Софизм и демагогия — это то, что ты сейчас понаписал. CM>·>Нет, просто ты тупишь неимоверно, или просто троллишь. CM>Кстати, неудобные тебе вопросы ты опять поскипал.
В твоём сообщении не было даже знаков вопроса.
CM>·>В процессе написания кода это можно посчитать (или у вас запрещено бумажкой пользоваться на работе?). Или просто написать в коде "64 * 1024", пусть компилятор зубрит константы, ему можно. CM>Не надо вообще считать. Надо писать в 16-ричной системе и не создавать себе и другим проблемы на ровном месте. 16-ричная система была создана специально для этой цели — так бери и пользуйся. CM>Кстати, ты так и не ответил — что будет, если кто-то излишне любящий сложности вроде тебя опечатается или ошибется в таком числе. Придется отвечать за тебя — скорее всего, ошибку никто так и не заметит.
Есть такое слово "тесты". Поинтересуйся на досуге. А то бояться опечаток... это мягко говоря непрофессионально.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Да, т.к. я этот шум просто игнорирую. Если тебе ещё что-то непонятно, сформулируй вопрос внятно, я постараюсь ответить.
А, то есть когда тебя ловят на вранье или искажении — то это у тебя называется "шум".
·>И в чём выразится эта неправильность? Если в тормозах, то перформанс-тест, очевидно.
Если опечатка была с самого начала (а так, скорее всего, и будет) — никакой перформанс-тест тебе не поможет.
·>С фобиями — это тебе к другим профессионалам. Программирование тут непричём.
Верно, но не к месту. Что касается тебя — читать учебники и больше не нести чушь.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Да, т.к. я этот шум просто игнорирую. Если тебе ещё что-то непонятно, сформулируй вопрос внятно, я постараюсь ответить. CM>А, то есть когда тебя ловят на вранье или искажении — то это у тебя называется "шум".
Т.е. никаких поскипанных вопросов так и не нашлось.
CM>·>И в чём выразится эта неправильность? Если в тормозах, то перформанс-тест, очевидно. CM>Если опечатка была с самого начала (а так, скорее всего, и будет) — никакой перформанс-тест тебе не поможет.
Если это горячее место, оно покажется профайлером. А если профайлер не использовался, значит на перформанс всем плевать.
CM>·>С фобиями — это тебе к другим профессионалам. Программирование тут непричём. CM>Верно, но не к месту. Что касается тебя — читать учебники и больше не нести чушь.
Твоё мнение обо мне очень важно для меня. Спасибо за ценные рекомендации и искреннюю заботу о моём благополучии.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, a7d3, Вы писали:
A>Здравствуйте, CodeMonkey, Вы писали:
CM>>Здравствуйте, a7d3, Вы писали:
A>>>Взять алгоритм перевода выражения в постфиксную запись (Reverse Polish notation (RPN), also known as Polish postfix notation). A>>>Тривиальный, даже когда в него добавляются вызовы функций.
CM>>И он умеет учитывать приоритеты операций?
A>Умеет и даже про скобки знает A>В процессе обработки используется правило помещения/выталкивания из специального стека операций с учётом их приоритета. Порядок которых потом меняется, т.к. LIFO-стэк. A>Искать в инете по словам: «постфиксная запись преобразование».
A>>>Это в разы проще и быстрее, чем тащить в проект LL/LR-парсеры.
CM>>В простом случае — не надо ничего тащить, можно написать самому.
A>Преобразование из инфиксной в постфиксную на порядок проще, чем устройство LL/LR-парсера. A>Да, можно парсер и сгенерировать предварительно сделав формальное описание грамматики для генератора, но это не аргумент о том, что проще сделать. По аналогии можно пользоваться готовой реализацией преобразования в постфиксную запись.
Это есть на самом деле LR парсер и разрешение конфликтов типа shift/reduce
Здравствуйте, iriska2, Вы писали:
I>А всем кто тут пишет, как такое можно не знать ко ко ко...
Ещё один
I>Вы такие умные пока вопросы задаете вы, когда вопросы будут задавать вам, вас закопают если захотят, уж поверьте мне
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Ну не эксперт, так не эксперт, никого это не волнует. И это очевидно не враньё, а догадки. CM>Нет, это именно враньё. Ты приписал мне утверждение, которого в моем сообщении не было — и тут же сам рванулся оспаривать это утверждение, которые ты сам и придумал и приписал мне.
Я тебе ничего не приписывал, не сочиняй. Да и в чём собственно враньё-то заключается? Назвал благородного дона экспертом по log4net? Ок, прошу прощения, что обидел, господин неэксперт по log4net.
CM>Засим раскланиваюсь, спорить с врунами смысла нет.
Приятно было пообщаться.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, mgu, Вы писали:
mgu>>>"Непричём" -- профессионал! mgu>·>Когда по сути сказать нечего — всегда можно прикопаться к грамматическим ошибкам. Профессиональненько так. mgu>У нас, профессионалов, это называется "аудит кода" code review. Из-за фигурной скобки не на положенном месте или из-за неканоничного количества пробелов в отступах порвём на месте!
Для фигурных скобок и пробелов давно всяческие style-checkers изобрели. Женщину вынули, автомат засунули. И уж тем более не надейтесь, что code review как-то надёжно защищает от опечаток. Используйте code review с пользой, а не такую профанацию.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Для фигурных скобок и пробелов давно всяческие style-checkers изобрели. Женщину вынули, автомат засунули. И уж тем более не надейтесь, что code review как-то надёжно защищает от опечаток. Используйте code review с пользой, а не такую профанацию.
Здравствуйте, serj.e, Вы писали:
SE>Радуйся еще, что тебя собеседовали не Максим Хижинский или отжигавший тут в прошлом remark: с ними, КМК, ты офигел бы по полной от, как тебе кажется, теоретических знаний, не нужных в повседневной работе.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, Somescout, Вы писали:
CM>А ты все так и не можешь разродиться ответом на вопрос "согласен ли ты, что вранье неприемлемо"?
Ссылку на сообщение о котором вы говорите. Плюс у вас долг в два кода, либо признание что написать их вы не способны (что, впрочем, уже достаточно очевидно).
Здравствуйте, CodeMonkey, Вы писали:
CM>Всего один?
Больше одного, остальное тебе знать не обязательно.
CM> Помнится, в прошлый раз ты называл сумму в 300-400 тысяч в год.
Ииии?
Я ж не год назад работать начал
Что ты там говорил про свою могучую логику?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Причем жрет именно софт, написанный великолепно знающими все алгоритмы кодерами.
Кодеры как раз алгоритмов то и не знают.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
mgu>Знатные говнокодеры хороши тем, что обеспечивают бесконечный фронт работ. Путь неудачника, т. е. создателя исправных систем -- не для всех.
Расскажи мне ещё одну сказку братьев Гримм о создании исправных систем полуграмотными монтёрами, добавляющими планки памяти, когда оной перестаёт хватать. А я посмеюсь.
SE>>1. 8G памяти, промасштабированные на миллион инстансов, стоят уже как миллион часов работы программиста mgu>Пора нанимать архитектора.
Блин, в МГУ вроде иногда толковые люди попадаются. А иногда хоть стой — хоть падай. Вспоминаю, как когда-то по молодости комплексовал по поводу своего провинциально-заборостроительного образования. Продлилось это ровно до того момента, пока не пришлось консультировать двух выпускников ВМК. Не знали ни баз данных, ни машинного зрения, ни низкого уровня, только языком и умели двигать. По делу: причем тут архитектор?
SE>>2. В embedded–системы тоже будешь впаивать 8G? mgu>В этой области час работы программиста дешевле.
Речь как бы не про школо-ардуинщиков, малинко-быдло и дедушек с AVR–ассемблером. Embedded бывает крайне разным, как по сложности, так и по оплате.
mgu>Удачники выбирают.
Оставайся в своих заблуждениях. Под некоторые задачи, приносящие лично мне весьма неплохие деньги, альтернатив и богатства выбора ну вот вообще нет.
SE>>4. Что будешь делать, когда все слоты уже забиты под завязку, и 8G воткнуть некуда? Есть задачи, где не бывает слишком много RAM – бывает слишком мало слотов и упор в физическое ограничение платформы на максимальное количество памяти. mgu>Заменю воткнутую 8G на 16G.
Так сразу бы и говорил, что ты NPC с искусственным интеллектом Такого уровня неврубания я давненько не встречал.
SE>>PS. Из-за таких грамотеев, как ты, сейчас даже вполне годные macbook pro с 16Gb RAM уходят в нехватку памяти, если запустить на них много говноподелий на electron. mgu>А альтернативы этим говноподелиям нет?
Благодаря вот таким вот чудо-программахерам, "вставим 8G", их становится всё меньше.
Здравствуйте, CodeMonkey, Вы писали:
CM>А разве есть какая-то разница?
Как мы уже выяснили — да.
CM>Неплохо, но ответ неполный.
Дык и формулировка вопроса расплывчата по максимуму.
CM> Это какая сложность — средняя или худшая?
Худшая есессна
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, mgu, Вы писали:
mgu>Наша справка: 8Г памяти стоят, как час работы программиста.
А есдт память с ECC? Конечно, бороться за каждый байт в 2к18 моветон, но и плодить аллокаций тоже не нужно. Даже в серверном мире с одной стороны у тебя 24 зиона и 512 ГБ оперативы, да ещё 2 СДД, с другой к тебе пришло 100000 пользователей и всё загнулось из-за неумения расходовать память и алгоритмов O(n2).
mgu>Вы путаете программы с утечкой памяти и те, которым её требуется много.
Не путаю. На одной и той же задаче можно расходовать и в 3, а порой и в 100 раз меньше памяти. В зависимости от того, задумываться ли о правильных структурах данных и алгоритмах. Или не задумываться, и брать что дают в стандартной библиотеке и рекомендованных практиках. Вопиющие случаи типа утечек в расчет не брались. Ясно, что сегодня не те времена, когда надо выкраивать каждый байт. А вот каждый мегабайт — вполне.
mgu>А вы до сих пор комплексуете. Архитектор решает, в частности, проблемы масштабирования.
В теории. Как бы, должен решать, но реальность вносит свои коррективы.
mgu>А чем планируете заняться, когда решите эти задачи?
Первый дельный вопрос! У меня нет чёткого ответа на него. Пока что поток потенциальных задач превышает мои возможности. Что будет дальше — Аллах решит
mgu>"Их" -- это кого?
Альтернатив говноподелиям.
CM>Хохотать будешь, когда заработаешь хотя бы несколько мегадолларов. А пока что, ты — такой же неудачник, только с очень большими понтами.
Мерила успеха усреднённых общечеловеков меня лично мало интересуют. Для кого-то успех выглядит так:
Здравствуйте, CreatorCray, Вы писали:
CM>>Выучить все возможные задачи, которые могут взбрести в голову упоротым — это куда больше, чем 2-3 месяца. Это просто всей жизни не хватит. CC>Пардон, но чтоб написать парсер для польки не надо ничего учить, достаточно уметь в логику.
Отож. Единственный смысл ее существования как раз в крайней простоте написания парсеров и интерпретаторов для нее.
Впрочем, для инфиксной есть алгоритм Пратта, не сильно сложнее.
Здравствуйте, CodeMonkey, Вы писали:
НС>>А частая ловля долбанных багов и борьба с кодом — это звоночек.
CM>Расскажи мне сказку на ночь. Не видел еще ни одной проги без багов, причем многие из них — идиотские.
Это понятно. Но вот так чтобы постоянно этим заниматься — таки звоночек.
CM>Хотя, может быть, ты хотел сказать, что у вас с багами не борются и привыкли жить с ними в мире?
Нет, но нам хватает процентов 5% времени на фиксинг. Не в каждом спринте даже бывает. Над качеством кода надо работать, много и на всех уровнях.
Здравствуйте, CodeMonkey, Вы писали:
НС>>Нет, но нам хватает процентов 5% времени на фиксинг. CM>А вот это — уже не звоночек, а скорее набат. Это говорит не о крутизне вашего кода, а об отсутствии обратной связи. Вы просто не знаете, где проблемы в вашем продукте.
Здравствуйте, mgu, Вы писали:
НС>>Я вот обычно ребятам ставлю задачи типа такой: уменьшить латентность обработки заказа до х секунд у Р95 и y секунд у Р99. mgu>Масштабно мыслите! А мы тут с миллисекундами ковыряемся.
Заказы то у всех разные. Кому остатки на складах, а кому всякий AI и cognitive.
Здравствуйте, mgu, Вы писали:
CC>>Кодеров — толпа по пять копеек пучок, а надо люди которые глядя на новую проблему способны её понять и решить. mgu>Ну да, везде требуются средние программисты, способные решать проблемы. А старшие, которые решают проблемы оптимальным образом, или гуру, которые не создают проблем, никому не нужны.
Еще как нужны. Просто у разных людей разное понимание того, кто такой гуру. Одни считают что это тот, кто лучше всех знает какую то малоизвестную хрень и умеет писать код, который выглядит очень сложным. А другой — кто умеет быстро и качественно решать задачи максимально простым способом.
Здравствуйте, CodeMonkey, Вы писали:
CM>Бинго. То есть — надо помнить эту константу. CM>Покажи мне такого летального мутанта, которому 65536 удобнее, чем 0x10000. А если кто-нибудь напишет 65636, например?
Т.е. запомнить 2^10 это ужас ужас, а перевести в уме 0x10000 в десятичную систему — нет проблем? Совсем ты заврался.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Somescout, Вы писали:
S>>когда мне говорят LL/LR/RL/прочая хрень, для меня это просто буквы (и мне не сильно интересно лезть разбирать что это такое), но если меня попросят сделать парсер алгебраических выражений, я его сделаю
НС>Можно раскрыть как? Регексами, да?
Зачем извращаться: сделать регэкспами парсер учитывающий приоритет операций наверно можно, но это уже эзотерическое программирование.
Буду исходить из того что парсить требуется простую арифметику из чисел, операторов и скобок.
Сначала напишу токенизатор.
Парсить буду рекурсивно. Первый вызов парсера помечается как корневой.
1) Если не задан левый операнд, то берём токен с левым операндом
Если это открывающая скобка, то для получения левого операнда вызываем рекурсивно парсер.
left = parser(tokenizer, left:null, root:false)
Если это число, то оно сразу становится левым операндом
В ином случае исключение
2) Берём токен с операцией (если это не операция - исключение)
3) Берём токен с правым операндом по тем же правилам, что и левый
4) Подглядываем на следующую операцию, если приоритет её выше чем у нашей, то заменяем правый операнд результатом работы парсера с переданным ему текущим правым операндом
right = parser(tokenizer, left:right, root:false)
5) применяем операцию к операндам, помещаем результат в левый операнд, если приоритет следующей операции равен приоритету текущей или парсер корневой - переходим к 2
Если токен следующей операции это закрывающая скобка, то извлекаем токен (скобку) и возвращаем левый операнд
если нет либо если конец выражения, то возвращаем результат
Примерно так.
ЗЫ. Регэкспами, при здравом размышлении, интересный вариант — quick and dirty, но будет работать.
Здравствуйте, CodeMonkey, Вы писали:
НС>>Ну да, ты погряз в багфиксинге, я криворукие те, кто умеет без. Логично, чо. CM>Я пока не видел ни одной проги без багов.
Это больше говорит о твоем кругозоре.
CM> А это значит, что те, кто "не погряз в багфиксинге" — просто ничего не фиксят.
Не значит. Это значит что мы много сил уделяем качеству кода еще до того, как на продакшене полезут баги. Но ты явно даже не понимаешь о чем речь.
Ага, придуманный тобой. Иначе ведь можно сделать некоторое количество выводов, угрожающих твоим шаблонам и твоему восприятию себя непризнанным гением от программирования.
CM> AI в его современном виде — это, в общем-то, шаманистика. Как оно работает, и вообще работает ли на каких-то данных, кроме тестового набора — никто толком не понимает.
Если ты не понимаешь, это не означает что никто не понимает.
CM> Получили правильный результат хотя бы в 51% случаев — протрубили победу. Не получили — надо добавлять в отвар больше говна мамонта и крови девстенниц, пока не получили хотя бы 51%.
CM>Так это и есть твои "сверхмалые и сверхэффективные алгоритмы"?
Сверхмалые и сверхэффективные алгоритмы имеет смысл применять примерно в одном случае из ста. Что конечно же не отменяет того факта, что они важны и нужны — тот самый редкий случай может поставить колом весь проект.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Ни в коем случае не хочу сказать что программисту это знать не нужно, наоборот — нужно, получилось бы проще, качественнее и быстрее. Но поинт в том что задача вообще-то простая
Это такая специальная задача, которую без нужных знаний нормально не сделать. А твой вычислитель, скорее всего, хромал на обе ноги и его легко было сломать.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Миллиарды школьников на уроках математики справляются с этой задачей, применяя простейшие механические трансформации к выражениям. Запрограммировать эти трансформации в коде — не проблема.
Мой опыт наблюдения за писателями парсеров без базы, довольно обширный, свидетельствует об обратном. А еще чаще отсутствие базы проявляетс в паническом бегстве от самой необходимости писать парсер.
Еще риторический вопрос. Если я с завтрашнего дня начну 1 час рабочего времени тратить на решение алгоритмических задач с какого-нибудь leetcode. По одной в день. Снижение моей производительности на 12% вряд ли кто-то заметит, а я на собеседованиях буду потом любые задачи щелкать как орехи. Работодателям от этого полегчает? А если все так будут делать?
Здравствуйте, Kernan, Вы писали:
K>Здравствуйте, CodeMonkey, Вы писали:
CM>>Во первых, грамматика вообще неверна. K>кмк можно решить рекурсивным спуском.
в K&R решение нна одну страницу
и любимые Крейтором задачи по сортировки битов, от туда же
Здравствуйте, CodeMonkey, Вы писали:
CM>Например: CM>1 1 + 2 3 * - CM>должно получиться -4
CM>я все равно не вижу, каким образом из этого выражения может получиться -4.
Здравствуйте, CodeMonkey, Вы писали:
CM>Выучить все возможные задачи, которые могут взбрести в голову упоротым — это куда больше, чем 2-3 месяца. Это просто всей жизни не хватит.
Ну нет же. Типовых задач не так много. Написание парсера выражений одна из них и типовых её решений тоже не так много. В принципе, все задачи в программировании можно свести к некоему набору давно известных задач если их формализовать. Возьми, как пример, Тёмкину задачку про 10ГБ файл с логами. Конечно, есть феерическое, но его все знают и в нормлаьных конторах их не дают. Я считаю парсер нормальной задачей, хотя тоже вряд ли написал бы, т.к. парсеры писал 10 лет назад и совершенно забыл как это делается.
Тут вопрос не что хочешь ты, а какие установлены правила игры, а они, на данный момент, вот такие вот, сформированные самим программистским комьюнити, кстати. Хочешь чего-то другого? Создавай продукт и собирай свою команду благо есть ICO и краудфандинг, проводи собеседования на которых ты будешь издеваться над олимпиадниками давая им реальные задачи связанные с насущными проблемами, смейся в лицо любителям гномиков на своём собственном собеседовании спрашивая про когерентность кэша и дэдлоках 3 рода, карринге или просто заставляя делать ревью реальных коммитов в репо своего продукта вместе с тобой.
P.S. Просто сидеть на 5 точке и жаловаться на судьбу 5 лет как это делает RF, ну это было такое себе даже в 2к7 когда программисту было проще.
Здравствуйте, Пирожочек, Вы писали:
П>всё так и есть, но ты сильно не парься, просто продолжай ходить по собеседованиям, в конце концов либо наткнёшься на упоротых, которые зададут вопросы, с известными тебе ответами
Здравствуйте, CodeMonkey, Вы писали:
CM>Подвалили очередное задание. От 45 до 90 минут должно хватить, по их заявлениям. CM>Задание: разобрать и вычислить постфиксное выражение, которое задается такой грамматикой:
CM>expr = -?[0-9]+ CM>expr = expr expr [+-*/]
CM>Например: CM>1 1 + 2 3 * - CM>должно получиться -4
CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
CM>В общем, полный
Здравствуйте, ·, Вы писали:
·>А у каждого разная работа. Поэтому такие рассуждения субъективны.
Совершенно объективны. Расскажи мне, для какой работы так позарез нужна "обратная польская нотация", что ее нужно помнить наизусть. Не считая работы препода в ВУЗе, естественно.
·>Так что тут ключевое слово "computer science". Такиеи задачи решают студенты 1-2 курсов соответствующей специальности.
А чего не решить, если им вчера про это лекцию рассказывали Скорее всего, и я решал, только давно позабыл по причине полной ненужности.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Так что тут ключевое слово "computer science". Такиеи задачи решают студенты 1-2 курсов соответствующей специальности. CM>А чего не решить, если им вчера про это лекцию рассказывали Скорее всего, и я решал, только давно позабыл по причине полной ненужности.
Вот именно поэтому полезно подрабатывать преподом на профильной кафедре в каком-нибудь заборостроительном техникуме, да даже на 0.125 ставки. Это позволяет студенческие задачки постоянно держать в актуальном состоянии.
CM>Подвалили очередное задание. От 45 до 90 минут должно хватить, по их заявлениям. CM>Задание: разобрать и вычислить постфиксное выражение, которое задается такой грамматикой:
CM>expr = -?[0-9]+ CM>expr = expr expr [+-*/]
CM>Например: CM>1 1 + 2 3 * - CM>должно получиться -4
CM>Во первых, грамматика вообще неверна. Во вторых, если считать, что в выражении можно смешивать инфиксную и постфиксную нотацию — я все равно не вижу, каким образом из этого выражения может получиться -4.
CM>В общем, полный
Связку lexx & yacc для реализации можно использовать? Или все через рукоблудие?
Здравствуйте, reversecode, Вы писали:
R>то ввп должен уметь печь вкусные булочки (для разогрева) а иначе как он тогда управляет страной ?
Хреново управляет, надо заметить.
Ты лучше задайся вопросом почему людям, которые для себя в магазине туалетную бумагу затрудняются выбрать доверяют выбор (в теории ) руководства страной?
R>претендент на синьора должен иметь несколько другие скилы и не должен уметь мыть полы
"претендент на синьора" должен уметь в первую очередь думать.
И эта задача как раз на поговорить о том, как у кандидата устроен процесс мышления. Само решение никого тут не интересует. Если будет молча написано какое то решение то следующий вопрос будет "расскажите подробно как и почему оно работает".
R>но в большинстве ко, синьоры занимаются более глобальными делами а не пишут алго сортировки вместе с джунами
Ну а как ему доверить глобальные дела если он не понимает элементарных вещей?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, sergey2b, Вы писали:
S>вы с Артемом спорили целый топик надо уметь оперировать отдельными битами или нет
Артёмка там как обычно за деревьями упорно не видел леса.
Но сортировать биты ещё никто не додумывался.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Кодеров — толпа по пять копеек пучок, а надо люди которые глядя на новую проблему способны её понять и решить.
Ну да, везде требуются средние программисты, способные решать проблемы. А старшие, которые решают проблемы оптимальным образом, или гуру, которые не создают проблем, никому не нужны.
Здравствуйте, ·, Вы писали:
·>Тут важно не обратная польская нотация, а способ представления и обработки древовидной структуры данных. Или интервьюверы ни на какие дополнительные вопросы не отвечали? Откуда вообще взялось "грамматика вообще неверна"?
Нет, не отвечали. На тебе условия, сиди и решай, спрашивать ничего нельзя.
Вот и как решать, если уже давно забыл, что это за нотация такая и что она вообще обозначает?
С одной стороны, я двумя руками "за", чтобы интервьюер не капал поминутно на мозги и дал просто подумать. Но ведь и условия задачи должны быть достаточно полны.
·>Или интервьюверы ничего не хотели пояснять? Если так, то это другой разговор.
Здравствуйте, CreatorCray, Вы писали:
CC>Этот тест (как и на подсчёт битов или переворот списка) скорее на проверку способности написать алгоритм из головы нежели на "знал алгоритм"
Не, это тест на охренительно хорошую память или излишнее количество свободного времени.
Здравствуйте, CreatorCray, Вы писали:
CC>Претендент на Senior у меня получит аналогичную задачу просто для разогреву. CC>И если он её зафакапит дальнейшее интервью не будет иметь смысла — это не Senior.
А сколько у вас там платят? Или самой чести работать в такой крутой компании должно быть достаточно?
Здравствуйте, CodeMonkey, Вы писали:
CM>Нет, не отвечали. На тебе условия, сиди и решай, спрашивать ничего нельзя.
Странные какие то интервьюеры. Ты в Рога и Копыта Inc что ли собеседовался? На какой хоть левел?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>А сколько у вас там платят? Или самой чести работать в такой крутой компании должно быть достаточно?
$3-4 сотни К в год устроит?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Странные какие то интервьюеры. Ты в Рога и Копыта Inc что ли собеседовался? На какой хоть левел?
Вроде как сениор, оплата достаточно приличная. Удаленка.
А так — я уже ничему не удивляюсь До этого мне предлагали сделать тест макс сроком в неделю, причем это — только второй этап из четырех, а размер зп вообще отказались называть до последнего этапа. Послал нафиг, естественно.
Здравствуйте, elmal, Вы писали:
E>Тык это. В российских вузах же CS не учат. Научили на первом курсе быдлокодить на каком языке, далее студент думает что все знает и учиться дальше не надо и CRUDит на фултайме. А это сильно продвинутый вопрос. На него только те, кто калькуляторы МК 61 и подобные застал . Ну не ходить же на лекции ради предмета "языки, грамматики, автоматы" же в самом деле. Это ж все равно никогда не пригодится. Деревья какие то, AST какое, парсеры, лексеры. Ересь это все, PHP форева! Лучший язык без недостатков!
E>На него только те, кто калькуляторы МК 61 и подобные застал .
Неправда.
E>Ну не ходить же на лекции ради предмета "языки, грамматики, автоматы" же в самом деле. Это ж все равно никогда не пригодится. Деревья какие то, AST какое, парсеры, лексеры.
Эта задача не имеет никакого отношения ко всему вышеперечисленному. Но при желании, конечно, натянуть сову на глобус можно.
Здравствуйте, CodeMonkey, Вы писали:
V>>Ну надо же, кто бы мог подумать, на вакансию ( судя по всему ) программиста требуются базовые знания computer science. Невиданная дерзость
CM>Базовые знания — это, что используется в работе. А вот такая фигня — это то, что очень любят теоретики, но на практике не используется никем, кроме может быть 0.01% программистов (по оптимистичной оценке).
Ох. Я вот сейчас сижу и смотрю на движок выражений, который тут местные товарищи родили. Регэкспами, Карл, регекспами парсят. Угадай как парсится date("2018-10-13") — workday(4).
Вот что мне с этим делать? Спеки на это дело тоже нет. Вот думаю надо сделать по-человечески и погонять в параллель с месяцок. А то блин оно ж в продакшене и народ жалуется но пользуется и вынужден как-то подстраиваться под все эти чудеса, надо как-то совместимость сохранять.
Здравствуйте, sergey2b, Вы писали:
S>>>и любимые Крейтором задачи по сортировки битов CC>>Шта?
S>вы с Артемом спорили целый топик надо уметь оперировать отдельными битами или нет
Не так. Уметь выставлять биты нужно. Уметь считать биты- задачка на память. Ну креатор с единственно верным решением несогласен- спрашивает это "на поговорить" от избытка креативности наверное.
Здравствуйте, De-Bill, Вы писали:
DB>Неправда.
Но правда в том, что 90 процентов выпускников программерских специальностей об обратной польской записи не слышала.
DB>Эта задача не имеет никакого отношения ко всему вышеперечисленному. Но при желании, конечно, натянуть сову на глобус можно.
Интерпретатор выражения, записанного в обратной польской записи — это вообще самый тривиальный интерпретатор, который только можно придумать. Пишется вообще в лоб без малейших усилий, исключительно на остаточных знаниях. Просто вырожденный случай более сложных интерпретаторов. Я в свое время, если собеседовал студентов программерских специальностей, просил рассказать как программно вычислить (2 + 3) * 5 + 7. То есть как бы выглядел алгоритм, код писать не просил. Ни один кроме невнятного мычания ничего сказать не мог. Вообще ничего. Пять минут думал, и далее говорил сдаюсь. Когда сам был студентом, подобное писать приходилось. Причем совсем не в элитном ВУЗе. И если что (я потому и спрашивал это) — подобные интерпретаторы, только гораздо более сложные, вполне вероятно что могло бы понадобиться поддерживать, дорабатывать и т.д. Даже кандидат, несколько лет проработавший в JetBrains (неплохой, кстати, кандидат) — тот тоже сдался, никаких мыслей не было как подобную невозможную задачу можно было решить и какие подходы применить. Соответственно плюнул и уже такое не спрашиваю.
Здравствуйте, reversecode, Вы писали:
R>это абсудр R>если вести такую логику R>то ввп должен уметь печь вкусные булочки (для разогрева) а иначе как он тогда управляет страной ?
Нет, если использовать вашу логику, то ВВП не должен знать азов экономики — он же не экономист, он выше этого.
Здравствуйте, ·, Вы писали:
·>Тут важно не обратная польская нотация, а способ представления и обработки древовидной структуры данных.
Но её же (древовидной структуры) нет в RPN? У RPN как раз плюс что не нужно парсить выражение и строить его дерево — можно просто последовательно его вычислить (пример
E>Вот именно. Но реально я охреневаю, когда такая задача оказывается непроходной для реального программиста.
Человек прежде всего не понял условия. Вне всякого сомнения — это минус. Если он не смог в ходе беседы выяснить, что от него требуется — это большой минус. Если же собеседующие просто не стали отвечать на его уточняющие вопросы, то значит они чудаки (на букву М), с такими лучше не работать.
Здравствуйте, Sinclair, Вы писали:
S>И вообще, инженер всегда должен уметь смотреть на один уровень вглубь — то есть, если пишешь на C#, надо понимать, в какой MSIL превращается код. Если пользуешься библиотекой — надо знать, как она устроена внутри. S>Но вот обычный критерий хорошего инженера — любопытство, которое и приводит к тому, чтобы разобраться — что там "унутре". Если этого любопытства нет — то никаким надрачиванием фреймворков и паттернов ты его не заменишь, увы.
Разрешите подписаться!
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, elmal, Вы писали:
E>Тык это. В российских вузах же CS не учат.
Дык это, а самому пахать как папакарло, не? Копать, разбираться где там унутре неонка и почему именно так.
E> Научили на первом курсе быдлокодить на каком языке, далее студент думает что все знает и учиться дальше не надо и CRUDит на фултайме.
Ну вот и будет как в песне в КУ: "двести метров жабаскрипта грузят текста триста байт".
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Somescout, Вы писали:
CC>·>способ представления древовидной структуры данных. S>>Но её же (древовидной структуры) нет в RPN?
CC>Написано жеж...
А, в этом смысле. Не думал о таком способе сериализации дерева. А можно примеры когда подобное было бы полезно? (No offence, просто интересно где подобное используется на практике)
Здравствуйте, Somescout, Вы писали:
S>А можно примеры когда подобное было бы полезно?
ну хз, где надо стримить что то, что будет обрабатываться в такой последовательности
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, elmal, Вы писали:
E>Я не понимаю, как такой детсад можно забыть. Единственное у меня объяснение — в школе программированием не увлекался. Институт в основном в ночных клубах просиживал, на лекциях не появляясь, а сессия куплена. А на работе нужно формочки клепать да в базу вставлять.
Ещё один программист, блин. Сам делаешь неверные предпосылки, выводя из них неверные выводы.
Не обязательно забывать, можно просто никогда не знать. И в институте не каждом о таком рассказывают. Не все же программисты на программистских специальностях учатся.
Здравствуйте, CreatorCray, Вы писали:
E>> Научили на первом курсе быдлокодить на каком языке, далее студент думает что все знает и учиться дальше не надо и CRUDит на фултайме. CC>Ну вот и будет как в песне в КУ: "двести метров жабаскрипта грузят текста триста байт".
Там ещё вроде было "работал за три копейки". Кого нанимают, того и получают.
Вообще-то это валидная программа на языке Forth. Берем любой Forth и используем.
Если нельзя брать Forth. то как уже здесь писали — все делается через стек
1. положить в стек 1
2. положить в стек 1
3. достать два операнда из стека, сложить и положить результат в стек
4. положить в стек 2
5. положить в стек 3
6. достать два операнда из стека, умножить и положить результат в стек
7. достать два операнда и из первого вычесть второй. положить в стек
Изобретение Forth машины это прекрасно изученный кейс. lex/yacc в данном случае является идиотизмом
Здравствуйте, CreatorCray,
CC>Дык тебе ж и дали задачку, которую твой framework не предусматривает. CC>В чём внезапно проблема?
Проблема именно в том, что да, фреймворк не предусматривает такой задачки, а Заказчик, дрянь этакая, про этот казус не слышал и требует позарез. Причем еще вчера, так как он (Заказчик) и так уже все сроки профакапил. Знакомая ситуация, да?
Здравствуйте, elmal, Вы писали:
E>Вот именно. Но реально я охреневаю, когда такая задача оказывается непроходной для реального программиста.
Не задача. Формулировка задачи. Кажется мне, что инженерное мышление должно начинаться с умения сначала собирать все доступные данные и только потом делать выводы.
Здравствуйте, CreatorCray, Вы писали:
CC>Впрочем тут ещё такой момент что каждый считает что именно он — гуру и опытный. CC>А на деле вон, "даже в говне не разбираются" (С).
По говну как раз специалистов много, вот только они не осознают, что это фекалии. Вчерашние студенты варятся среди себе подобных в "новых интересных проектах", и от непрожареных фреймворков получается понос кода. А покажи им конфетку -- скажут, что это какашка неправильной формы.
Здравствуйте, CreatorCray, Вы писали:
CC>Как тебе будет угодно, можешь присоединиться к дружной капелле, исполняющей "а я такой хороший, а никуда не берут"
А в чём противоречие? Что лучше -- "Мерседес" или "Жигули"? А что больше покупают?
Здравствуйте, Vlad_SP, Вы писали:
S>>Но вот обычный критерий хорошего инженера — любопытство, которое и приводит к тому, чтобы разобраться — что там "унутре".
V_S>И тут внезапно выясняется: "А унутре нее неонка!" (ц) V_S>Нет?
Ну, хлопцы, будет вам теперь на бублики! Будете, собачьи дети, ходить в золотых жупанах! Посмотрите-ка, посмотрите сюда, что я вам принес!» сказал дед и открыл котел. Что ж бы, вы думали, такое там было? Ну, по малой мере, подумавши хорошенько, а? золото? вот то-то, что не золото: сор, дрязг... стыдно сказать, что такое. Плюнул дед, кинул котел и руки после того вымыл.
Здравствуйте, CodeMonkey, Вы писали:
M>>Спасибо. Благодаря этому посту я понял что у меня никогда не возникнет проблем с поиском работы.
CM>Собес. Зубрилка торжествует...
Здравствуйте, Тёмчик, Вы писали:
Тё>Ты уже достал убогость бытия кодерилы прикрывать завесой интриги.
Артёмка, потуши коллектор и подтяни таки CS
Если ты не понимаешь базовых вещей и причинно следственные связи то это твои проблемы.
Более того, ты не хочешь слушать и воспринимать что тебе говорят.
Поэтому тебя всерьёз тут вообще похоже никто не воспринимает уже.
Если тебя это устраивает — fine.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Да. Что такое инфиксная нотация — я помню, и тратить время и размышлять, что же на самом деле значит вот эта запись — не надо.
А вот применить теорию на практике, и опознать написанное — не?
CM>Жаль, что ты не помнишь так же хорошо другие вещи.
А с чего ты это взял?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, mgu, Вы писали:
mgu>Вчерашние студенты варятся среди себе подобных в "новых интересных проектах", и от непрожареных фреймворков получается понос кода.
Ну таки да.
mgu> А покажи им конфетку -- скажут, что это какашка неправильной формы.
А потом будут жаловаться на форумах что их ни на какую серьёзную деятельность не берут.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Ну ты ж сам видел что даже по формулировке в том виде, в котором ты её пересказал, местный контингент сразу сказал что это полька.
Пересказал ровно в том виде, как мне дали. Только гугла и доков у меня под рукой не было.
CC>Мне больше интересно ты не хочешь таки заняться восполнением пробелов в своём CS образовании? CC>Это будет сильно полезнее для реальной жизни чем продолжать этот, уже давно бессмысленный, срач на форуме.
А ты не делай его бессмысленным и попробуй подумать.
Что касается реальной жизни, то полька мне никогда не была нужна и я уверен, что никогда нужна не будет. Как и еще множество других вещей.
С другой стороны, есть много вещей, которые в учебниках CS обычно не пишут, но в работе очень нужны. Например — очень показательно то, как много людей облажались в темах про конкурентный доступ и радикс сорт, но при этом были свято уверены в своей непогрешимой правоте.
Так что, возникает дилемма — либо ты учишь то, что нужно в реальной работе, но бесполезно на собеседованиях — либо то, что нужно на собеседованиях, но бесполезно в реальной работе.
Здравствуйте, CreatorCray, Вы писали:
Тё>>Ты уже достал убогость бытия кодерилы прикрывать завесой интриги. CC>Артёмка, потуши коллектор и подтяни таки CS CC>Если ты не понимаешь базовых вещей и причинно следственные связи то это твои проблемы. CC>Более того, ты не хочешь слушать и воспринимать что тебе говорят. CC>Поэтому тебя всерьёз тут вообще похоже никто не воспринимает уже. CC>Если тебя это устраивает — fine.
Еще раз. У задачи посчитать число выставленных битов ровно одно оптимальное решение. Троечник.
Здравствуйте, CodeMonkey, Вы писали:
Тё>>Еще раз. У задачи посчитать число выставленных битов ровно одно оптимальное решение. Троечник.
CM>Таблица, что ли?
* Алгоритм Кернигана — оптимальный.
Таблица байтов (считать в каждом байте от int32, 64, т.д.).
Команда проца.
Здравствуйте, CodeMonkey, Вы писали:
CM>Что касается реальной жизни, то полька мне никогда не была нужна и я уверен, что никогда нужна не будет. Как и еще множество других вещей.
Ты что, на (e)LISP не разу ни писал? И даже Schema не пытался навелосипедить? Ну ты даешь, ведь даже если не знать что такое польская нотация, то в твоем задании фактически только скобочек не хватает что-бы LISP опознать
Здравствуйте, elmal, Вы писали:
E>Здравствуйте, De-Bill, Вы писали:
просил. Ни один кроме невнятного мычания ничего сказать не мог. Вообще ничего. Пять минут думал, и далее говорил сдаюсь. Когда сам был студентом, подобное писать приходилось. Причем совсем не в элитном ВУЗе. И если что (я потому и спрашивал это) — подобные интерпретаторы, только гораздо более сложные, вполне вероятно что могло бы понадобиться поддерживать, дорабатывать и т.д. Даже кандидат, несколько лет проработавший в JetBrains (неплохой, кстати, кандидат) — тот тоже сдался, никаких мыслей не было как подобную невозможную задачу можно было решить и какие подходы применить. Соответственно плюнул и уже такое не спрашиваю.
в ЛИТМО это дают в качестве домашнего задания на первом крусе
Здравствуйте, kaa.python, Вы писали:
KP>Простейший язык для экспериментов в рамках теории компиляторов.
А нафига — именно простейший? Если уж писать свой язык — то что-то человеческое, а не для рептилоидов.
KP>В моей системе мер программист не имеющий хотя бы базового представления о теории компиляторов – посредственный кодер
У меня на диске лежит простенькая БД, которую я когда-то сделал просто из интереса. В моей системе мер программист, не написавший свою БД – посредственный кодер
Здравствуйте, kaa.python, Вы писали:
KP>Знать устройство языка программирования всегда полезно, так как это твой основной рабочий инструмент. В большинстве случаев обычная любознательность должна сработать: а что такое лексер? а что такое парсер? а что такое AST? и так далее, не вылезти тут польская нотация или LISP не могут просто. Так как ты всё сводишь к "надо ли в повседневной работе", то да, надо. Пример из моей практики: доработать/сделать статический анализатор чтобы улучшить качество кодовой базы.
KP>С базами, если это твой хлеб, то да, надо знать как они работают внутри.
Здравствуйте, CodeMonkey, Вы писали:
KP>>С базами, если это твой хлеб, то да, надо знать как они работают внутри. CM>Я так понимаю, свою БД ты не написал?
Я с ДБ не работаю, и на LI мне пишут постоянно. Может таки послушаешь что умные дяди тебе говорят?
Здравствуйте, kaa.python, Вы писали:
KP>Я с ДБ не работаю
Я абсолютно уверен, что внутри софта, который ты используешь — куча разных БД.
Так где же твоя любознательность, понимание инструментов и так далее?
KP> и на LI мне пишут постоянно.
Здравствуйте, CodeMonkey, Вы писали:
CM>кто тогда пишет весь этот кривой, глючный и тормозной говнософт, который уже забил 99.9% всего рынка софта?
Гномики у которых во фреймворке это не предусмотрено?
PS. Ты сам напросился
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Алгоритмы ты может и знаешь хорошо (хотя даже насчет этого есть сомнения), но вот с обычной логиой у тебя полный провал.
Один зазубренный вопрос и женская логика у нашего креативного коллеги.
Здравствуйте, sergey2b, Вы писали:
S>в ЛИТМО это дают в качестве домашнего задания на первом крусе
Значительная часть была как раз с ИТМО. Но не с Парфеновской кафедры . Но на самом деле глубоко пофигу что в каком учебном заведении дают. Важно как много выпускников берет что из того, что "дают". У большинства остаточных знаний вообще ноль. Не спрашивал, но скорее всего платники, я не представляю как можно на бюджете без взяток с настолько нулевыми знаниями получить диплом, да еще при мужском поле. Под остаточными знаниями я понимаю не зубрежку какой формулы и способность сходу написать алгоритм, который писался на практике 1 раз лет 10 назад. А просто вопрос — из какой это области, по каким ключевым словам будете гуглить.
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, CodeMonkey, Вы писали:
KP>>>В моей системе мер программист не имеющий хотя бы базового представления о теории компиляторов – посредственный кодер
CM>>У меня на диске лежит простенькая БД, которую я когда-то сделал просто из интереса. В моей системе мер программист, не написавший свою БД – посредственный кодер
KP>Знать устройство языка программирования всегда полезно, так как это твой основной рабочий инструмент. В большинстве случаев обычная любознательность должна сработать: а что такое лексер? а что такое парсер? а что такое AST? и так далее, не вылезти тут польская нотация или LISP не могут просто. Так как ты всё сводишь к "надо ли в повседневной работе", то да, надо. Пример из моей практики: доработать/сделать статический анализатор чтобы улучшить качество кодовой базы.
Лескеры, парсеры не очень интересно. АСТ — да, имеело смысл в редких случаях, свои анализаторы для исходников доделать. В джаве вообще все это обчно не нужно. Есть байткод, похожий на сами знаете постфиксное что.
А людям, которын до производительности (во всеъ видах) охочи, интересней кодогенератор и мусоросборщик.
KP>С базами, если это твой хлеб, то да, надо знать как они работают внутри.
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Так что сам напросился, это факт.
Вопрос был о "долине" и невероятной крутизне программистов в ней, поскольку польскую нотацию там знают даже дебилы.
Логика, слышал когда-нибудь о таком понятии?
Здравствуйте, Muxa, Вы писали:
M>Ты правда до сих пор думаешь что это была задача на память? M>Тебя когда спросят сколько будет 2^30 / 2^13 ты будешь вспоминать ответ?
Вообще да. Или ты на полном серьезе думаешь, что каждый должен быть способен посчитать 2^17 в уме?
Здравствуйте, ·, Вы писали:
·>Не знаю, не сталкивался с таким обычаем.
Кстати, а в чем практический смысл считать именно на бумажке или в уме, но ни в коем случае не на калькуляторе? Чем бы кандидат не занимался — лишь бы задолбался?
Здравствуйте, CodeMonkey, Вы писали:
CM>Когда мне звонили из гугла, то сказали прямо — считать на бумажке или с калькулятором нельзя, только в уме.
Я как-то давно в гугл собеседовался — такого на телефонном интервью не было, а на очном да, бумаги не было, была доска с маркерами.
Толи ты сочиняешь, толи на каую-то странную позицию собеседовался, толи гуглу конец близок.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Ну я-то знаю, что я не сочиняю.
Я тоже. Вот ведь парадокс.
·>Кстати, в Сети можно найти описания гугловых интервью. Про "считать в уме" тоже не доводилось видеть.
Ты их все прочитал, какие есть?
Насколько я помню, было два вопрос на счет. Посчитать вероятность совпадения нескольких событий с известными вероятностями, и посчитать глубину дерева поиска для какого-то довольно большого числа элементов. Попроще, чем возводить в степень, но тоже не сахар.
Никаких бумажек, я спрашивал.
Здравствуйте, ·, Вы писали:
·>А сколько "нормально"?
Если допустить, что ты занимаешься этим серьезно и проводишь хотя бы по собеседованию в день, хотя бы один год — значит, минимум две сотни с хвостиком.
·>А, я думал ты работу на позиции программиста ищешь... Про писцов-счетоводов я мало что знаю.
Но счет в столбик почему-то считаешь обязательным. Странный ты тип.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>А сколько "нормально"? CM>Если допустить, что ты занимаешься этим серьезно и проводишь хотя бы по собеседованию в день, хотя бы один год — значит, минимум две сотни с хвостиком.
Я не только проводил, но и проходил собеседования.
"собеседование в день" — это что за команда такая, постоянная текучка кадров? Да и откуда взять столько кандидатов? Или вообще всех подряд интервьювить по телефонной книге Бангалора?
CM>·>А, я думал ты работу на позиции программиста ищешь... Про писцов-счетоводов я мало что знаю. CM>Но счет в столбик почему-то считаешь обязательным. Странный ты тип.
Естественно. Или ты зарплату свою не считаешь?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>А как они это проверяют по телефону-то?
Сейачс, как правило — по скайпу.
·>Нет, мне и не надо. Бремя доказательства лежит на утверждающем.
Ты утверждаешь, что обычно можно пользоваться бумажкой — ты и доказывай
·>А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно.
Увтерждение было "обычно", а не "абсолютно всегда, без исключений".
Разница тебе понятна или нужно объяснять?
·>По этому описанию мне не очевидно, что это вопрос "на память" и в уме ничего невозможно сделать.
Я этого и не говорил. Сказал, что это 1) вопрос на счет 2) бумажка запрещена
Здравствуйте, ·, Вы писали:
·>"собеседование в день" — это что за команда такая, постоянная текучка кадров? Да и откуда взять столько кандидатов?
Любая компания побольше, чем "десяток студентов в подвале".
Две сотни — это совсем не много, на самом деле.
·>Естественно. Или ты зарплату свою не считаешь?
Здравствуйте, ·, Вы писали:
·>В любой компании больше, чем "десяток студентов" есть различные команды, в каждую из которых собеседуют разные люди.
И в многотысячной компании, каждая такая команда — от 100 до 1000 человек. Так что нет, не принимается, это плохое оправдание.
·>А ты, что-ли за всех отдуваешься?
Я этого и не говорил.
·>Ну вот, потому ты и польку "забыл".
Я еще много чего забыл за ненадобностью. А также помню много вещей, которые на самом деле нужны, но почему-то мало кто их помнит
Здравствуйте, ·, Вы писали:
·>И что? Как это помогает проверять наличие бумажки?
Видеозвонок, естественно. Или ты собрался прятать бумажку в стиле нерадивого студента?
А еще есть такая вещь, как честность. Не слышал?
·>"Обычно" это значит, как минимум в более половины случаев. Я тебе привёл случай, когда бумажек не было. Т.е. пока 100%. Чтобы тебе доказать твоё утверждение, ты должен привести два случая, когда бумажек не было, тогда будет ~33%, и уже можно утверждать про "обычность".
Но чтобы опровергнуть твое утверждение про "обычно разрешено", достаточно одного контрпримера — и я его привел
В любом случае — а тебе еще не надоело заниматься буквоедством?
·>Видимо надо, объясняю: надо привести хотя бы один случай, когда оно не так. Так что пруфы в студию.
См выше, мое собеседование в гугл. Уже забыл?
·>Я это понял так, что ты имел в виду, что счёт требуют нетривиальный. Да, я согласен, что 256*256 помножить в уме — сложно, легко ошибиться.
Ну наконец-то.
·>Ты мне приводишь пример из которого вообще ничего не понять и делаешь из этого выводы космических масштабов. Может тебя заставили в уме 2*2 умножить, а ты не смог.
Мда? То есть что и как считать, ты вообще не понял?
В одном примере, надо перемножить в уме несколько дробных чисел (после того, как ты сделаешь все необходимые выводы, что делать надо именно это). В другом — посчитать log2 от какого-то довольно большого числа.
CM> В другом — посчитать log2 от какого-то довольно большого числа.
Чот я сомневаюсь что там имелось в виду прямо "посчитать", скорее всего в ответ можно было назвать два целых последовательных числа, между которых и находится искомый логарифм, типа 12-13.
Здравствуйте, Muxa, Вы писали:
M>Чот я сомневаюсь что там имелось в виду прямо "посчитать", скорее всего в ответ можно было назвать два целых последовательных числа, между которых и находится искомый логарифм, типа 12-13.
Это и есть "посчитать", с некоторой точностью. И если ты не помнишь степени двойки, хотя бы около 2^16, то сделать это ты не сможешь.
Здравствуйте, ·, Вы писали:
·>А вообще, команды больше 30 программистов я наблюдал только в индусятниках.
А где сейчас не индусятник?
·>Я просто хочу понять, в каких условиях программисту может потребоваться ежедневно проводить технические интервью.
На самом деле, обычно делается по нескольку за день с разными людьми, хотя и не каждый день. Но результат примерно тот же, десяток — это ничто. Закрыть одну вакансию, или две, если вы там всех подряд берете
·>Интересно что?
Логику, например.
Всё еще будешь доказывать, что 2^17 — это задача совсем не на память?
Здравствуйте, ·, Вы писали:
·>Буквоедством решил заняться ты, выясняя значения слов.
Кхм, где?
·>Ну раз мы берём и это в расчёт, то ты "уже забыл" о моём собеседовании в гугл. Так что даже так счёт 2:1 не в твою пользу.
Ладно, уговорил. В некоторых случаях считать на бумаге запрещено, и в данном конкретном случае — тоже.
Тебе стало лучше?
·>А ты ничего и не рассказал, кроме того, что тебе дали задание, которое ты не осилил.
Врёшь, причем сразу по двум пунктам. Ткнуть тебя носом?
·>И что? Дальше-то что? Или для тебя "перемножить несколько чисел" всегда непосильная задача и надо хвататься за калькулятор? Скажем, я могу запросто перемножить сотню дробей 1/2 * 2/3 * 3/4 ... * 99/100 чисел в уме за долю секунды.
А кто сказал "обыкновенные дроби", и кто сказал, что там были какие-то ряды и закономерности? Ты делаешь слишком много допущений, и всегда — в твою пользу.
·>Возможно интервьювер и хотел от тебя добиться чтобы ты заметил некую закономерность в умножаемых числах и свести сложный вычислительный процесс к паре операций, производимых в уме. И это собственно самый важный навык, требуемый от любого опытного программиста — находить в бардаке требований закономерость и выдавать простое решение.
Всё-таки не устаю удивляться, как ты лучше меня знаешь всё о собеседовании, на котором не бывал
·>Какого большого? 1024 достаточно большое? Хочешь я расскажу как log2(1024) посчитать в уме?
Порядка нескольких сотен тысяч. Давай, расскажи мне, как посчитать его в уме, не помня наизусть степени двойки.
Ты б хоть перечитал что получилось, немоноширинный шрифт превращает твою копипасту в нечитаемую кашу.
mgu>Просто в других странах "Жигули" не купить, вот и мучаются с "Мерседесами".
Таки можно и отдельные фрики покупают, но зачем?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Ты б хоть перечитал что получилось, немоноширинный шрифт превращает твою копипасту в нечитаемую кашу.
Перечитывал перед отправкой, но в дело вмешались специалисты по компиляторам, \s+ у них чешется. Подправил.
А что касается "моноширинных шрифтов"... Помнить степени двойки у вас лучше получается.
mgu>>Просто в других странах "Жигули" не купить, вот и мучаются с "Мерседесами". CC>Таки можно и отдельные фрики покупают, но зачем?
Всё жду, когда в новом стандарте HTML-а появится тег <шутка>. Улыбочки из двоеточия со скобкой не предлагать -- в них нет атрибутов.
Здравствуйте, elmal, Вы писали:
E>Если кандидат не знает алгоритмы базовые, но он эксперт в языке, знает детали лучше любого в команде, включая тебя
А так бывает?
E>его имеет смысл взять.
Зачем?
E> Не знает деталей языка, не знает алгоритмы, но умеет нормально писать поддерживаемый код в условиях нехватки времени, задумываясь о бест практиках — тоже таких имеет смысл брать.
Вот таких и надо брать. Какие то детали языка, которые обычно ещё и редко используются, можно быстро подучить, если понадобится.
А вот научить писать нормальный чистый и понятный код это долго.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Вообще да. Или ты на полном серьезе думаешь, что каждый должен быть способен посчитать 2^17 в уме?
этож 128 килобайт
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Всё еще будешь доказывать, что 2^17 — это задача совсем не на память?
Да млять, не на память.
5 * 5 или 10 * 10 это тоже на память?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Да до нас дошло что тебя отфутболили по совершенно резонной причиной. CC>Нам больше интересно дойдёт ли до тебя.
Если бы на собеседованиях спрашивали по умению мыслить логически, а не вызубренные алгоритмы — то ты вообще ни одно бы не прошел.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Так что сам напросился, это факт.
CM>Вопрос был о "долине" и невероятной крутизне программистов в ней, поскольку польскую нотацию там знают даже дебилы. CM>Логика, слышал когда-нибудь о таком понятии?
Не читал всю ветку, затупил. В долине кстати многие ходят на курсы изучать программирование. Потом пытаются работать. Некоторым удается, вроде как. Реальных людей таких видел. В Питере такого не видел.
Ну я думаю СС (Диковатое ФИО у товарища выходит) не о них писал.
Но тру программисту не решить такую задачу все равно должно быть стыдно.
Здравствуйте, CodeMonkey, Вы писали:
CM>>>Тебя опять на работе обидели, что ли? CC>>Пригорает?
CM>Да. У тебя. CM>Типичное поведение затюканного маленького человека, который теперь ищет, на ком сорвать злость.
Что можно ожидать от человека, выучившего один вопрос на подсчёт битов и у которого Кук за спиной пристроился.
Здравствуйте, CreatorCray, Вы писали:
CC>Ты свои "аналитические способности" тут уже всем продемонстрировал и не раз.
Аналитические способности, похоже, сейчас не в чести. В чести, похоже, глядя на тебя и еще пару персонажей — быстро и очень уверенно гнать пургу.
CC>Грусти.
Всё не отпускает, бедолага?
CC>тебя, такого всего из себя логичного, никуда не берут.
В очередной раз, высосанное из пальца утверждение. Вот и как к тебе после этого относиться?
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Но тру программисту не решить такую задачу все равно должно быть стыдно.
CM>Есть много разных "стыдно", которые я видел. Например, когда чувак не может без посторонней помощи написать конфиг для log4net (реальный случай, кстати).
Что это вообще такое? Это очень важно? Вот я в джаве никакого log4j не использую. Конфиги не помню почти.
И я могу припомнить еще немало таких случаев, и не только у рядовых кодеров. CM>А не разобраться за 40 минут в теоретической фигне, которая ни к моей работе, ни к вакансии вообще никаким боком не относится — это просто неважно.
Было бы не важно — писал бы на форум. Ну забил бы и не писал. Ну не решил какую-то задачу. Но она простая и многим известна.
Так и про hex можно сказать. Кому он нужен? Да и бит тоже хрень какая-то
Ты лучше расскажи где ты учился? У вас что-нибудь о трансляторах давали? Просто интересно.
Здравствуйте, Somescout, Вы писали:
S>Здравствуйте, CreatorCray, Вы писали:
CC>>Здравствуйте, Somescout, Вы писали:
CC>>·>способ представления древовидной структуры данных. S>>>Но её же (древовидной структуры) нет в RPN?
CC>>Написано жеж...
S>А, в этом смысле. Не думал о таком способе сериализации дерева. А можно примеры когда подобное было бы полезно? (No offence, просто интересно где подобное используется на практике)
Здравствуйте, 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? Просто не свисти.
Зачем в уме-то? Конечно можно использовать карандаш и бумагу.
Здравствуйте, elmal, Вы писали:
E>С сишным опытом, кто писал и даже пишет прошивки на микроконтроллеры — те тоже не ответили . Сейчас это типа ненужные знания, запоминать смысла нет.
Эх, остается только покряхтеть по стариковски: «Вот и выросло поколение...»
Здравствуйте, CodeMonkey, Вы писали:
CM>·>А вообще, команды больше 30 программистов я наблюдал только в индусятниках. CM>А где сейчас не индусятник?
Да... редко встретишь, но бывает.
CM>·>Я просто хочу понять, в каких условиях программисту может потребоваться ежедневно проводить технические интервью. CM>На самом деле, обычно делается по нескольку за день с разными людьми, хотя и не каждый день. Но результат примерно тот же, десяток — это ничто. Закрыть одну вакансию, или две, если вы там всех подряд берете
Ок. Две вакансии, даже при самом жестоком отсеве (50 на место — это очень дофига, либо вы резюме читать не умеете и собеседуете всех подряд) — сотня интервью от силы. На 5 интервьюверов — это двадцать в год на человека. Откуда двести? Вот я и предположил, что ты за всех отдуваешься.
CM>·>Интересно что? CM>Логику, например.
И что ты о ней помнишь? Ну кроме того, что это слово можно использовать для троллинга?
CM>Всё еще будешь доказывать, что 2^17 — это задача совсем не на память?
Конечно, не на память. В обычных условиях — задача на подумать минуту. Но, конечно, согласен, что можно создать такие условия, что любая задача может стать задачей на память — можешь сходу назвать ответ или нет.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, kaa.python, Вы писали:
KP>·>Нет, мне и не надо. Бремя доказательства лежит на утверждающем. А вообще, ты заявил, что в гугле не дают пользоваться бумажкой. Вот, например, описание интервью. Никаких "посчитать в уме" нет, значит твоё завление неверно. KP>Полистал про подготовку... просто жесть, и это ради того чтобы попасть в Гугл
Ну у чувака наверное мечта детства была и он пытался действовать наверняка...
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, kaa.python, Вы писали:
KP>Полистал про подготовку... просто жесть, и это ради того чтобы попасть в Гугл
С пробуждением, Нео. Из пары моих знакомых, которые сейчас работают в мелко-мягком, зубрежкой перед собеседованием занимались оба. Правда, не год, а всего месяц-другой
В письме от рекрутера из Гугла, кстати, мне практически прямым текстом написали "зубрить — надо".
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Документацией пользоваться надо уметь. На собеседовании это редко провнряит, кстати.
Вот и я о том же. Умение банально прочитать и понять документацию — не проверяют. Умение писать реальный код, и, например, не забывать обрабатывать ошибки и не вылезать за буфер — не проверяют.
Зато полька — это святое, без нее ни одному программисту вообще никак.
CAF>А ты возьмешь на работу программиста, который не знает таких понятий?
Зависит от работы.
CAF>А как на адреса в памяти смотреть? Или покрешиться глядя на корку?
И нафига тебе все эти навороты, когда ты пишешь на Яве (или вообше на скрипте каком-нибудь)?
CAF>Вот тебе и советуют расширить кругозор. Поверь, это полезнее, нежели считать остальных (интервьюверов) сумасшедшими.
Фуфло. Никогда не знаешь, какую из страницу из какого учебника им взбредет в голову спросить в следующий раз.
Здравствуйте, ·, Вы писали:
CM>Ок. Две вакансии, даже при самом жестоком отсеве (50 на место — это очень дофига, либо вы резюме читать не умеете и собеседуете всех подряд) — сотня интервью от силы. На 5 интервьюверов — это двадцать в год на человека.
На пять интервьюеров — это по прежнему сто интервью на каждого, поскольку в больших компаниях обычно прогоняют каждого кандидата по кругу.
·>И что ты о ней помнишь? Ну кроме того, что это слово можно использовать для троллинга?
Много чего. Например — не заполнять пробелы в информации по желанию своей левой пятки. Это как раз тебя касается.
·>Конечно, не на память. В обычных условиях — задача на подумать минуту.
И ты всерьез собрался возвести 2^17 в уме за минуту, без бумажки, и не ошибившись при этом раза в два-три-десять?
Дам тебе тот же ответ — не свисти.
1) Описание задач — есть
2) То, что я их не осилил — такой информации здесь нет
3) Пользоваться бумажкой запрещено, я написал это явно и недвусмысленно
Это к твоему предыдущему вопросу о логике
·>Это не допущения, а догадки. Ибо ты "неважные" детали опускаешь, и рассказываешь только то, что в твою пользу, расписывая сабж.
На самом деле, именно этим занимаешься здесь ты — см предыдущий пункт.
·>Да запросто. Скажем, пусть будет 500 тысяч — это чуть меньше, чем пол мегабайта, т.е. log2 будет чуть меньше 19. Или ты "забыл" что такое килобайт/мегабайт? Или тебя попросили посчитать до десятого знака после запятой?
Что я помню или нет — это к вопросу не относится. А вопрос, напоминаю — является ли это тестом на память или нет. Так что расскажи ка мне, откуда ты взял 20, если не из памяти? Это, опять — к вопросу о логике.
Здравствуйте, CodeMonkey, Вы писали:
CM>·>Ты знаешь что такое килобайт? CM>Килобайт — это 10^3 степени байт, и к степеням двойки не имеет никакого отношения. Во всяком случае, так говорят последние определения
Килоба́йт (русское обозначение: Кбайт; международное: Kbyte, KB)[1] — единица измерения количества информации, равная 1024 байт.
Не путать с кбайт (килобайт — kilobyte, kB) в написании со строчной буквы, равным 1000 байт
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Килоба́йт (русское обозначение: Кбайт; международное: Kbyte, KB)[1] — единица измерения количества информации, равная 1024 байт.
·>Не путать с кбайт (килобайт — kilobyte, kB) в написании со строчной буквы, равным 1000 байт
The International System of Units (SI) defines the prefix kilo as 1000 (103); per this definition, one kilobyte is 1000 bytes.[1] The internationally recommended unit symbol for the kilobyte is kB
Здравствуйте, ·, Вы писали:
·>И что? Я ж тебе по-русски писал, а не по-английски, а в России именно так принято.
А кого интересует Россия, когда собеседование — в Google?
Он, кстати, говорит следующее:
The kilobyte (abbreviated "K" or "KB") is the smallest unit of measurement greater than a byte. It precedes the megabyte, which contains 1,000,000 bytes. While one kilobyte is technically 1,000 bytes, kilobytes are often used synonymously with kibibytes, which contain 1,024 bytes.
·>Да и оказывается доки по log4net ты тоже нифига не читал, тоже значит приврал, что эксперт по докам log4net.
Бешеный полет логики
1) я не говорил, что я эксперт по докам log4net. Если говорил — покажи пальцем, где.
2) кто сказал, что доверять надо их докам, а не определению СИ?
А вообще — вдохни и выдохни пару раз. Не нервничай.
CM>>>В уме посчитать 2^17-18? Просто не свисти. M>>Зачем в уме-то? Конечно можно использовать карандаш и бумагу. CM>Повторяю для самых сообразительных и внимательных. По условиям этой задачи, пользоваться бумагой или калькулятором нельзя.
Здравствуйте, CreatorCray, Вы писали:
mgu>>Перечитывал перед отправкой, но в дело вмешались специалисты по компиляторам, \s+ у них чешется. Подправил. CC>Для этого надо preview жмякать, при перечитке можно и не заметить. Я просто уже на автомате табличные данные в какой нить заведомо моноширинный тег заворачиваю.
А что такое "моноширинный тег"? И вы и вправду полагаете, что выравнивание на формах происходит при помощи шрифтов? Когда-нибудь в консоли или хотя бы в среде разработки использовали табуляцию?
mgu>>А что касается "моноширинных шрифтов"... Помнить степени двойки у вас лучше получается. CC> Тебя покусали?
Меня растерзали... смутные сомнения.
mgu>>Всё жду, когда в новом стандарте HTML-а появится тег <шутка> mgu>>Улыбочки из двоеточия со скобкой не предлагать -- в них нет атрибутов. CC>А чем тебя стандартные смайлы из RSDNовского комплекта не устраивают?
M>>А как звучала формулировка дословно? CM>Ты много разговоров помнишь дословно?
При чем тут разговор?
Насколько я понял там был не разговор, а именно постановка и формулировка задачи. Чоб её не запомнить-то?
M>>А то мож ты и её неправильно понял. CM>А может, я всё понял правильно, а ты просто несешь чушь?
штош
Здравствуйте, ·, Вы писали:
·>И что? Тут тебе в третий раз повторяют — не путай kilobyte и килобайт.
Их все путают, достаточно немного погуглить. https://habr.com/post/193256/
То определение, которое используешь лично ты — вовсе не обязан использовать каждый.
CM>>1) я не говорил, что я эксперт по докам log4net. Если говорил — покажи пальцем, где. ·>Так это
Покажи пальцем, где я там написал, что я — "эксперт по докам log4net". Напрягись, соберись с мыслями.
А на самом деле, ты здесь путаешь несколько совершенно разных вещей.
1) Помнить двоичные степени в десятиричной системе — это вопрос на память или нет?
Ответ — да, без вариантов.
Кстати говоря, в коде вместо это намного удобнее использовать шестнадцатиричную систему. Что лучше — 65536 или 0x10000? Можешь не отвечать, вопрос риторический. На самом деле, если кто-то пишет именно 65536, то ему стоит надавать по ушам.
2) Ты делаешь множество ложных допущений, так что твой спор частенько напоминает спор с голосами в твоей собственной голове См выше пример с log4net, например.
3) То, что я знаю или не знаю какие-то степени двойки, и сделал или не сделал то идиотское задание — не имеет вообще ни малейшего отношения к пункту 1. (на самом деле — знаю и сделал. см также пункт 2 — ты слишком много высасываешь из пальца)
4) Не используй демагогию и хамство в спорах. Будешь продолжать в том же духе — станешь как CreatorCray. Страшная судьба.
M>>Насколько я понял там был не разговор, а именно постановка и формулировка задачи. Чоб её не запомнить-то? CM>Кхм, ты осознаешь, что несешь вообще полную чушь? Ты можешь процитировать дословно какую-нибудь доку, которую читал месяц назад?
Насколько я понял там была не какая-то 100 страничная дока, а именно постановка и формулировка задачи на пару строк. Чоб её не запомнить-то?
Ну, если с дословностью возникают проблемы, можно своими словами — главное чтобы точно было.
Здравствуйте, Muxa, Вы писали:
M>Насколько я понял там была не какая-то 100 страничная дока, а именно постановка и формулировка задачи на пару строк. Чоб её не запомнить-то?
Здравствуйте, ·, Вы писали:
·>Надо лишь знать, что килобайт (kibibyte если тебе так угодно) это 2^10
Бинго. То есть — надо помнить эту константу.
·>Спорно. Код пишется в первую очередь для человеков, а не для красоты или удобнее было компилятору. Большинству читать десятичные числа — проще. Не забывай, что твою нетленку возможно придётся читать джуниорам.
Покажи мне такого летального мутанта, которому 65536 удобнее, чем 0x10000. А если кто-нибудь напишет 65636, например?
M>>Ну, если с дословностью возникают проблемы, можно своими словами — главное чтобы точно было. CM>Уже было. В том самом сообщении, которое ты указал. Это
Здравствуйте, Muxa, Вы писали:
M>Скорее всего они были что-то типа 0.2, 0.3, или даже 1/4.
Нет.
Кроме того — вопрос, естественно, не содержал в себе задание "перемножить вероятности", до этого надо было дойти самому. Тервер, кстати, многие вообще не понимают.
M>Прикидываешь между какими числами находится Х, и вуаля, например 200000 лежит между 128k и 256k, итого глубина дерева 17-18.
Кто бы мог подумать
Суть в том, что вопрос — именно на то, помнишь ли ты эти степени. Просто так ты их в уме не посчитаешь.
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Ну кто-то проверяет, кто-то нет, но эта задача не об этом.
Практически никто не проверяет. И это — большая проблема.
CAF>Когда критична производетельность — то и в асм придется носом уткнуться. В серьезных проектах из уютной джавы приходится вылезвать в жестокий внечний мир.
Плавненько, плавненько, подменяем яву асмом, никто и не заметит.
99% кодеров все эти знания нафиг не нужны. Что нужно — так это грамотно писать обычный код без заумных наворотов, и как раз это мало кто проверяет. И, кстати, мало кто умеет.
CAF>По-моему ты ничего не понял. Вопрос был не в том, знаешь ли ты нотацию или нет. А сможешь ли написать разбор простой грамматики. Алгоритм интуитивно понятен. Это задача не на знание теории, не на сообразительность, а просто на умение закоировать алгоритм.
В условиях жестко ограниченного времени и нехватки информации.
Не знаю, что они в следующий раз придумают. Может, дустом посыпят?
Здравствуйте, Somescout, Вы писали:
S>Здравствуйте, VladiCh, Вы писали:
S>То есть я могу допустить что где-то это можно использовать как один из способов передачи данных, но вот в каких случаях он будет настолько выгодным, что станет основным?
Ну просто для обработки арифметических и прочих скобочных выражений удобно из инфиксной записи преобразовывать в постфиксную (для этого есть отдельный довольно простой алгоритм)
и потом через стек применять операции. Можно и в инфиксном режиме обрабатывать, не вопрос, но код получится сложнее.
Здравствуйте, VladiCh, Вы писали:
VC>Ну просто для обработки арифметических и прочих скобочных выражений удобно из инфиксной записи преобразовывать в постфиксную (для этого есть отдельный довольно простой алгоритм) VC>и потом через стек применять операции. Можно и в инфиксном режиме обрабатывать, не вопрос, но код получится сложнее.
Остается открытым вопрос — почему нельзя взять исходное синтаксическое дерево и вычислять просто в процессе обхода.
Здравствуйте, mgu, Вы писали:
mgu>А что такое "моноширинный тег"?
Это один из тегов, который применяет моноширинный шрифт.
mgu> И вы и вправду полагаете, что выравнивание на формах происходит при помощи шрифтов?
Тут есть ещё теги для таблиц, но ты видимо их первый раз пропустил.
mgu> Когда-нибудь в консоли или хотя бы в среде разработки использовали табуляцию?
Ну вот ты там использовал, и помогло это тебе?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, kaa.python, Вы писали:
CM>>Что касается реальной жизни, то полька мне никогда не была нужна и я уверен, что никогда нужна не будет. Как и еще множество других вещей. KP>Ты что, на (e)LISP не разу ни писал? И даже Schema не пытался навелосипедить? Ну ты даешь, ведь даже если не знать что такое польская нотация, то в твоем задании фактически только скобочек не хватает что-бы LISP опознать
CM>Нет. CM>Кроме того — вопрос, естественно, не содержал в себе задание "перемножить вероятности", до этого надо было дойти самому. Тервер, кстати, многие вообще не понимают.
Вот я для того и просил точные формулировки.
CM>Кто бы мог подумать CM>Суть в том, что вопрос — именно на то, помнишь ли ты эти степени.
Зачем помнить? Я эту таблицу полностью придумал когда писал тот ответ.
CM>Просто так ты их в уме не посчитаешь.
При расчете какого числа у тебя возникли затруднения?
512 (или 2^9) это 2*256
Здравствуйте, mgu, Вы писали:
mgu>А что такое "моноширинный тег"? И вы и вправду полагаете, что выравнивание на формах происходит при помощи шрифтов?
А как еще могут выравниваться числовые данные в таблицах?
Здравствуйте, ·, Вы писали:
·>В твоём сообщении не было даже знаков вопроса.
А без знака вопроса до тебя не доходит?
·>Есть такое слово "тесты". Поинтересуйся на досуге. А то бояться опечаток... это мягко говоря непрофессионально.
Покажи мне тест, который покажет, что данные выравнены неправильно. Не бояться опечаток — вот это по настоящему непрофессионально, причем на грани с профнепригодностью.
·>Так это был Один Твой Знакомый™?
Покажи пальцем, где я там написал, что я — "эксперт по докам log4net". Напрягись, соберись с мыслями.
Но ты ведь опять притворишься, что ничего не было, не так ли? Потому что ты соврал и был на этом пойман, и теперь скорее удавишься, чем признаешь этот факт.
·>Если это горячее место, оно покажется профайлером. А если профайлер не использовался, значит на перформанс всем плевать.
Значит, надо было вообще не выпендриваться и писать не 65536, а например 50000.
·>Твоё мнение обо мне очень важно для меня. Спасибо за ценные рекомендации и искреннюю заботу о моём благополучии.
Гуглить "bad practice — magic numbers". Также — "Yoda conditions", это как раз пример реальной паранойи по отношению к опечаткам.
И эти вещи — как раз из той категории, которые каждый программист обязан знать и использовать повседневно. В отличие от идиотских нотаций, которые на практике не нужны.
Здравствуйте, VladiCh, Вы писали:
VC>Как ты получишь исходное синтаксическое дерево? Выражения обычно заданы в виде текста — (3+4)*5 и т.д.
LL или LR парсер — и ты получаешь дерево.
VC>Получить из такого выражения постфиксную запись и потом ее вычислить проще чем получить из нее дерево напрямую.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, VladiCh, Вы писали:
VC>>Получить из такого выражения постфиксную запись и потом ее вычислить проще чем получить из нее дерево напрямую.
CM>Каким образом проще?
Взять алгоритм перевода выражения в постфиксную запись (Reverse Polish notation (RPN), also known as Polish postfix notation).
Тривиальный, даже когда в него добавляются вызовы функций.
Это в разы проще и быстрее, чем тащить в проект LL/LR-парсеры.
Во-вторых, LL/LR-парсеры нужны лишь для контекстно-свободных грамматик в DSL (domain-specific language), когда приходится определять-выявлять синтаксические ошибки в обрабатываемых выражениях.
Здравствуйте, a7d3, Вы писали:
A>Взять алгоритм перевода выражения в постфиксную запись (Reverse Polish notation (RPN), also known as Polish postfix notation). A>Тривиальный, даже когда в него добавляются вызовы функций.
И он умеет учитывать приоритеты операций?
A>Это в разы проще и быстрее, чем тащить в проект LL/LR-парсеры.
В простом случае — не надо ничего тащить, можно написать самому.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, a7d3, Вы писали:
A>>Взять алгоритм перевода выражения в постфиксную запись (Reverse Polish notation (RPN), also known as Polish postfix notation). A>>Тривиальный, даже когда в него добавляются вызовы функций.
CM>И он умеет учитывать приоритеты операций?
Умеет и даже про скобки знает
В процессе обработки используется правило помещения/выталкивания из специального стека операций с учётом их приоритета. Порядок которых потом меняется, т.к. LIFO-стэк.
Искать в инете по словам: «постфиксная запись преобразование».
A>>Это в разы проще и быстрее, чем тащить в проект LL/LR-парсеры.
CM>В простом случае — не надо ничего тащить, можно написать самому.
Преобразование из инфиксной в постфиксную на порядок проще, чем устройство LL/LR-парсера.
Да, можно парсер и сгенерировать предварительно сделав формальное описание грамматики для генератора, но это не аргумент о том, что проще сделать. По аналогии можно пользоваться готовой реализацией преобразования в постфиксную запись.
Здравствуйте, a7d3, Вы писали:
A>Умеет и даже про скобки знает A>В процессе обработки используется правило помещения/выталкивания из специального стека операций с учётом их приоритета. Порядок которых потом меняется, т.к. LIFO-стэк.
Ну так это тот же парсер, только со странным форматом вывода. Не?
Здравствуйте, ·, Вы писали:
·>Ну не эксперт, так не эксперт, никого это не волнует. И это очевидно не враньё, а догадки.
Нет, это именно враньё. Ты приписал мне утверждение, которого в моем сообщении не было — и тут же сам рванулся оспаривать это утверждение, которые ты сам и придумал и приписал мне.
Засим раскланиваюсь, спорить с врунами смысла нет.
Здравствуйте, pagid, Вы писали:
mgu>>А что такое "моноширинный тег"? И вы и вправду полагаете, что выравнивание на формах происходит при помощи шрифтов? P>А как еще могут выравниваться числовые данные в таблицах?
Здравствуйте, ·, Вы писали:
CM>>·>Есть такое слово "тесты". Поинтересуйся на досуге. А то бояться опечаток... это мягко говоря непрофессионально.
·>С фобиями — это тебе к другим профессионалам. Программирование тут непричём.
Здравствуйте, iriska2, Вы писали:
A>>Преобразование из инфиксной в постфиксную на порядок проще, чем устройство LL/LR-парсера. A>>Да, можно парсер и сгенерировать предварительно сделав формальное описание грамматики для генератора, но это не аргумент о том, что проще сделать. По аналогии можно пользоваться готовой реализацией преобразования в постфиксную запись. I>Это есть на самом деле LR парсер и разрешение конфликтов типа shift/reduce
Тсс... не спугни человека.
Да это частный, вырожденный случай LR-парсера, да используется shift-reduce(«перенос-свертка»).
Лучше один раз понять работу этого алгоритма, чем по пустякам описывать грамматику в Backus–Naur form (BNF) для генерации тривиально-вырожденных LR-парсеров.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, iriska2, Вы писали:
I>>А всем кто тут пишет, как такое можно не знать ко ко ко... CC>Ещё один
I>>Вы такие умные пока вопросы задаете вы, когда вопросы будут задавать вам, вас закопают если захотят, уж поверьте мне CC>Image: u_f9e49ef8c4d5ff58b9b2e5e633c71a6d_800.jpg
Тут одному питону чсв недавно укоротили и тебе тоже укоротят
Здравствуйте, CreatorCray, Вы писали:
mgu>>не надейтесь, что code review как-то надёжно защищает от опечаток mgu>>Выделенное записал в свой цитатник.
CC>Совершенно справедливая фраза между прочим. CC>Code review увы не панацея, что проглядел один человек точно так же может проглядеть и другой. CC>Видел в реале когда change проходил code review но валился потом именно потому что случилась очепятка (запятая вместо точки), которая глазом была малозаметна но тем не менее приводила к правильному с точки зрения компилятора коду но совершенно другой логике.
Стесняюсь спросить: а автор того кода его запускал? И где же ваши ручки тесты?
Здравствуйте, reversecode, Вы писали:
R>это абсудр R>если вести такую логику R>то ввп должен уметь печь вкусные булочки (для разогрева) а иначе как он тогда управляет страной ?
Вкусные булочки печь очень просто, я пробовал, получилось. Попробуйте сами, это просто.
Здравствуйте, mgu, Вы писали:
mgu>Стесняюсь спросить: а автор того кода его запускал? И где же ваши ручки тесты?
Дык на тестах и вылезло. Suite долгий, запускают обычно в параллель с review.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, serj.e, Вы писали:
SE>Отлично например, оставайся при своих заблуждениях, а я тем временем буду рубить бабло там, где "ваша справка" не работает от слова совсем, и хохотать над неудачниками, плачущимися о нехватке работы и денег.
Хохотать будешь, когда заработаешь хотя бы несколько мегадолларов. А пока что, ты — такой же неудачник, только с очень большими понтами.
Здравствуйте, CodeMonkey, Вы писали:
CM>Хохотать будешь, когда заработаешь хотя бы несколько мегадолларов. А пока что, ты — такой же неудачник, только с очень большими понтами.
И сколько же мегадолларов заработал ты?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
mgu>>Наша справка: 8Г памяти стоят, как час работы программиста. CC>Ты готов за свой счёт проапгрейдить память сотням миллионов пользователей?
Это что же за сотни миллионов устройств с "дичайшей нехваткой памяти"?
Здравствуйте, CodeMonkey, Вы писали:
Тё>>Если это правда, то мне тоже к вам захотелось. Бабло побеждает зло.
CM>Иди-иди. Интересные проекты и доширак ждут тебя.
Отложить 1млн за 5 лет, после всех расходов- далеко не доширачная зп.
Здравствуйте, mgu, Вы писали:
mgu>Это что же за сотни миллионов устройств с "дичайшей нехваткой памяти"?
Например мобилки, на подавляющем колве стоит меньше 8 гиг
Даже в компе, если на каждый чих жрать память никаких объёмов не хватит.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Тёмчик, Вы писали:
Тё>Если это правда, то мне тоже к вам захотелось. Бабло побеждает зло.
А как же страшные БАМЖЫ которые яростно СРУТ где то там в СанФране, всего в каких то 40 милях к северу от Долины?
Одумайся!
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Somescout, Вы писали:
S>Ссылку на сообщение о котором вы говорите. Плюс у вас долг в два кода, либо признание что написать их вы не способны (что, впрочем, уже достаточно очевидно).
Я у тебя куда более простую вещь спросил, чем код писать, да еще на Дельфи. Но ты почему-то упорно увиливаешь от вопроса и притворяешься, что ничего не помнишь. Интересно, почему бы это?
Здравствуйте, CreatorCray, Вы писали:
CC>Например мобилки, на подавляющем колве стоит меньше 8 гиг CC>Даже в компе, если на каждый чих жрать память никаких объёмов не хватит.
Ну так и жрут гигабайтами. Причем жрет именно софт, написанный великолепно знающими все алгоритмы кодерами. Вот ведь странно
Здравствуйте, CreatorCray, Вы писали:
CC>Кодеры как раз алгоритмов то и не знают.
Странно, как они их не знают, если на собеседованиях их спрашивают до помутнения в мозгу. На любой уровень, начиная с джуниора.
Уж не намекаешь ли ты, что все эти вопросы на собесах ни к черту не работают?
Здравствуйте, CodeMonkey, Вы писали:
CM>Я у тебя куда более простую вещь спросил, чем код писать, да еще на Дельфи. Но ты почему-то упорно увиливаешь от вопроса и притворяешься, что ничего не помнишь. Интересно, почему бы это?
Потому что я уже выкинул из памяти бесполезные споры. Ссылку на обсуждение.
Здравствуйте, CodeMonkey, Вы писали:
CM>Странно, как они их не знают, если на собеседованиях их спрашивают до помутнения в мозгу. На любой уровень, начиная с джуниора.
Где спрашивают?
CM>Уж не намекаешь ли ты, что все эти вопросы на собесах ни к черту не работают?
У нас тут кодеров собеседуют не так, вопросы эти скорее для девелоперской позиции.
Если кто то без понимания сути тупо передрал их для собеседования кодеров — ну, это их проблемы.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CM>>Уж не намекаешь ли ты, что все эти вопросы на собесах ни к черту не работают? CC>У нас тут кодеров собеседуют не так, вопросы эти скорее для девелоперской позиции.
Да ладно. "синьер помидоры" нифига не знают алгоритмов. Т.е. настоящих кодеров, в прямом смысле слова, очень мало. Много птиц-говорунов.
Здравствуйте, CodeMonkey, Вы писали:
CM>Всего один? Помнится, в прошлый раз ты называл сумму в 300-400 тысяч в год. CM>Не забывай держать в курсе последних изменений в твоих байках
Вроде про base salary утверждалось про Долину, на больше чем 150 доналоговых, не стоит рассчитывать. Значит, 250 должно быть фантиками. Значит, через 4 года 1млн фантиков должен завеститься полностью, и тогда можно выйти в кэш 1 млн доналоговых.
Здравствуйте, CodeMonkey, Вы писали:
S>>Потому что я уже выкинул из памяти бесполезные споры. Ссылку на обсуждение.
CM>Вопрос я уже повторил, никакая ссылка тебе не нужна. Просто хватит юлить и отвечай
По вашему смайлик в конце превращает хамство в шутку?
Здравствуйте, Тёмчик, Вы писали:
Тё>Вроде про base salary утверждалось про Долину, на больше чем 150 доналоговых, не стоит рассчитывать.
У меня даже в предыдущей компании было больше
Тё> Значит, остальное должно быть акциями.
Которые последние годы нормально так росли пока лежали и ждали вестинга, который у меня лично случается 4 раза в год Почему так — ответ до банальности простой, но для интриги раскрывать не буду, попробуй догадаться.
Тё>1млн фантиков должен завеститься полностью, и тогда можно выйти в кэш
Зачем ждать вестинга всех? Какой смысл в выходе в кэш? Покормить налоговую и потом кормить инфляцию?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Somescout, Вы писали:
S>А CM закопать хотели? Ну то есть я действительно пытаюсь представить, что дают ему эту задачу и он тупит над ней 45 минут без решения... (И в принципе легко это представляю, учитывая что он на этом форуме никак не может кодом разродиться). Вот вы сами бы наняли человека, который "от 45 до 90 минут" тупит над подобным заданием и не выдаёт никакого решения? Я, например, никогда не изучал теорию компиляторов, когда мне говорят LL/LR/RL/прочая хрень, для меня это просто буквы (и мне не сильно интересно лезть разбирать что это такое), но если меня попросят сделать парсер алгебраических выражений, я его сделаю. Может не так эффективно, как возможно, но что-то я точно нарисую.
Я вообще по-другому собеседую, задача выяснить что кандидат знает, поэтому если человек завис на одном вопросе надо просто задавать следующий. Можно не ответить на любой вопрос, главное общий результат по всем вопросам.
Это гораздо более объективно, чем дать один вопрос и смотреть как человек мучается, у каждого есть слабые и сильные стороны и нужно их найти.
Здравствуйте, CreatorCray, Вы писали:
CC>Где спрашивают?
Мелкомягкий, Гугл, да и вообще практически в любой крупной компании.
CC>У нас тут кодеров собеседуют не так, вопросы эти скорее для девелоперской позиции. CC>Если кто то без понимания сути тупо передрал их для собеседования кодеров — ну, это их проблемы.
Здравствуйте, Somescout, Вы писали:
CM>>Вопрос я уже повторил, никакая ссылка тебе не нужна. Просто хватит юлить и отвечай S>По вашему смайлик в конце превращает хамство в шутку?
В таком случае, это вы скопировали, а не у вас. Насколько мне известно, первым практику мозгосношательных интервью начал Шокли в своей компании, а никакого Apple тогда и в проекте не было.
Здравствуйте, CreatorCray, Вы писали:
Тё>>Вроде про base salary утверждалось про Долину, на больше чем 150 доналоговых, не стоит рассчитывать. CC>У меня даже в предыдущей компании было больше
Мне утверждали в июле эту цифру.
Тё>> Значит, остальное должно быть акциями. CC>Которые последние годы нормально так росли пока лежали и ждали вестинга, который у меня лично случается 4 раза в год Почему так — ответ до банальности простой, но для интриги раскрывать не буду, попробуй догадаться.
У меня инфа про наздак. Там 4 года цикл и что-то вроде 25% каждый год.
Тё>>1млн фантиков должен завеститься полностью, и тогда можно выйти в кэш CC>Зачем ждать вестинга всех? Какой смысл в выходе в кэш? Покормить налоговую и потом кормить инфляцию?
Смысл в том, что 1млн кэша- это 1млн кэша. 1 млн в фантиках != 1 млн кэша, это виртуальная величина. Кстати, на каждом этапе вестинга у нас снимается налог как с дохода по текущему курсу. В США как-то по-другому?
справедливости ради, когда он это говорил
cp/m успешно справлялась с большенстовм задачь того времени для перосналок используя всего 64k
некоторые компы имели 128k и это было как звездалет
так что вполне логично что он посчитал, что такого объема памяти хватит
тем более даже третия win запускалась на 1 mb
Здравствуйте, CodeMonkey, Вы писали:
CM>Кстати, тебе тот же вопрос.
Какой "тот же"?
Ты похоже промахнулся с адресатом, я вроде ничего такого не спрашивал.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Тёмчик, Вы писали:
Тё>Мне утверждали в июле эту цифру.
Это ты спрашивай у тех утверждающих, вероятно в их области это и есть потолок.
Тё>У меня инфа про наздак.
Nasdaq это ващета биржа такая.
Тё> Там 4 года цикл и что-то вроде 25% каждый год.
Каждая компания решает сама какой цикл вестинга будет у её RSU. Можно хоть каждый месяц вестить, но в их интересах размазать на поровнее и подольше + регулярно подбрасывать ещё гранты.
RSU это такой retention bonus.
Тё>Смысл в том, что 1млн кэша- это 1млн кэша.
И что с ним делать? Солить? Как Скрудж в нём валяться? Мёртвый кэш тупо жрёт инфляция, надо чтоб он крутился.
Тё>Кстати, на каждом этапе вестинга у нас снимается налог как с дохода по текущему курсу.
Так же. Это по сути и есть твой доход.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Тёмчик, Вы писали:
Тё>>Мне утверждали в июле эту цифру. CC>Это ты спрашивай у тех утверждающих, вероятно в их области это и есть потолок.
Разве тебя в той теме не было?
Тё>>У меня инфа про наздак. CC>Nasdaq это ващета биржа такая.
А Apple- лэптоп с яблочком.
CC>RSU это такой retention bonus.
Морковка перед носом кролика в колесе.
Тё>>Смысл в том, что 1млн кэша- это 1млн кэша. CC>И что с ним делать? Солить? Как Скрудж в нём валяться? Мёртвый кэш тупо жрёт инфляция, надо чтоб он крутился.
Cash is king.
Тё>>Кстати, на каждом этапе вестинга у нас снимается налог как с дохода по текущему курсу. CC>Так же. Это по сути и есть твой доход.
Пока не вышел в кэш (по курсу на момент окэшивания и уплаты capital gain tax), и не купил gtr- это абстрактная цифра.
Здравствуйте, CreatorCray, Вы писали:
CC>Средняя что? Формулировка? Строка?
Сложность для среднего случая, если тебе хочется позанудствовать.
CM>>Какова алгоритмическая сложность квиксорта при сортировке массива длиной N, состоящего из строк длины K каждая? Средний и худший сценарий. CC>Гы! Просто ты не понимаешь что такое О.
CC>Вне зависимости что сортируешь оценка сложности алгоритма сортировки не меняется, потому что меряется она в "шагах". CC>То, что где то там внизу, под самим алгоритмом есть что то ещё при оценке конкретно этого алгоритма намеренно опускается, иначе можно дойти до того что будем учитывать ещё и задержки которые вносятся регенерацией DRAM.
Не, это ты не понимаешь. Если элементы массива большой разрядности, например, K больше N, то опускать эти данные — глупо.
Ну так что, если считать за шаг операцию с символом строки, то какая сложность получается в этом случае?
Здравствуйте, CodeMonkey, Вы писали:
CM>Почему бы тебе не почитать определение О-нотации? Там есть вполне определенные правила, что можно отбрасывать, а что нельзя. CM>Надо же, какой простой вопрос — а ты уже срезался.
Ты мне напоминаешь адептов-плоскоземельщиков. Те точно так же свято уверены в собственной правоте, и с ними точно так же не интересно общаться.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Ты мне напоминаешь адептов-плоскоземельщиков. Те точно так же свято уверены в собственной правоте, и с ними точно так же не интересно общаться.
Странно, а мне их напоминаешь ты.
Можешь назвать правило, по которому ты отбросил переменную K?
Здравствуйте, CreatorCray, Вы писали:
Тё>>Разве тебя в той теме не было? CC>Может и пробегал где но это заявлял точно не я.
Тё>>Морковка перед носом кролика в колесе. CC>Скорее разложенные по дороге, и которые ты видишь вперёд на годы пути
Белка в колесе тоже дорогу видит.
Тё>>Cash is king. CC>А, ну т.е. тебе надо над ним чахнуть.
Т.е. кэш- это высоколиквидный товар, который можно потратить по своему усмотрению. Акции- менее ликвидный товар, при обмене которого на кэш, курс акций может 10 раз поменяться и ещё налог заплатить.
Тё>>Пока не вышел в кэш (по курсу на момент окэшивания и уплаты capital gain tax) — это абстрактная цифра. CC>Если бы тебе в AU платили не AUD а JPY, тебе тоже надо было бы сначала выйти из JPY в AUD, по курсу на момент + налоги. Хотя казалось бы и то и то — кэш.
Что ты несёшь?
Здравствуйте, Тёмчик, Вы писали:
Тё>Белка в колесе тоже дорогу видит.
Ну и как тебе, хорошо из колеса видно дорогу?
CC>>А, ну т.е. тебе надо над ним чахнуть. Тё>Т.е. кэш- это высоколиквидный товар, который можно потратить по своему усмотрению.
Высоколиквидный товар говоришь?
Вот есть к примеру зимбабвийский венесуэльский кэш, как там у него с обеспечением товарами?
Тё>Акции- менее ликвидный товар, при обмене которого на кэш, курс акций может 10 раз поменяться
Ценность любых денег постоянно меняется. Инфляция/дефляция/колебания курсов.
Тё>и ещё налог заплатить.
Налог ты заплатишь только на прибыль, разницу между покупкой и продажей, как и с любой другой заработанной суммы.
Если вдруг чо то убытки можно списать с налогов.
CC>>Если бы тебе в AU платили не AUD а JPY, тебе тоже надо было бы сначала выйти из JPY в AUD, по курсу на момент + налоги. Хотя казалось бы и то и то — кэш. Тё>Что ты несёшь?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, CreatorCray, Вы писали:
CC>>Ты мне напоминаешь адептов-плоскоземельщиков. Те точно так же свято уверены в собственной правоте, и с ними точно так же не интересно общаться.
CM>Странно, а мне их напоминаешь ты. CM>Можешь назвать правило, по которому ты отбросил переменную K?
Ты меня огорчаешь. O() оценка сортировки это количество шагов от количества элементов на входе, и эта оценка съедает любые константы просто по определению, твоё К это
константа.
Здравствуйте, CodeMonkey, Вы писали:
CM>Опять уклонился от ответа.
Ссылку на контекста вашего вопроса, а заодно два обсуждавшихся ранее фрагмента кода. Потому что пока я ни в одном обсуждении не видел от вас даже попытки конструктивного диалога.
Здравствуйте, iriska2, Вы писали:
I>Ты меня огорчаешь. O() оценка сортировки это количество шагов от количества элементов на входе, и эта оценка съедает любые константы просто по определению, твоё К это I>константа.
Здравствуйте, Somescout, Вы писали:
S>Ссылку на контекста вашего вопроса, а заодно два обсуждавшихся ранее фрагмента кода. Потому что пока я ни в одном обсуждении не видел от вас даже попытки конструктивного диалога.
И опять уклонился от вопроса. Никакой контекст тебе не нужен.
Повторяю вопрос: согласен ли ты, что вранье — неприемлемо? Ответы — да, нет.
Здравствуйте, CodeMonkey, Вы писали:
CM>Здравствуйте, iriska2, Вы писали:
I>>Ты меня огорчаешь. O() оценка сортировки это количество шагов от количества элементов на входе, и эта оценка съедает любые константы просто по определению, твоё К это I>>константа.
CM>По условиям задачи, это переменная.
Переменная эта смысла особо не имеет, на неё умножается каждое слагаемое, поэтому её можно просто вынести за скобки, будет K*n*logn
на асимптотику это не влиеят.
Здравствуйте, iriska2, Вы писали:
I>Переменная эта смысла особо не имеет, на неё умножается каждое слагаемое, поэтому её можно просто вынести за скобки, будет K*n*logn I>на асимптотику это не влиеят.
На самом деле, конечно, влияет. Например, сложность перемножения матриц обычно оценивается как O(m * n * p). Или O(n^3) если все переменные равны.
Здравствуйте, serj.e, Вы писали:
mgu>>Знатные говнокодеры хороши тем, что обеспечивают бесконечный фронт работ. Путь неудачника, т. е. создателя исправных систем -- не для всех. SE>Расскажи мне ещё одну сказку братьев Гримм о создании исправных систем полуграмотными монтёрами, добавляющими планки памяти, когда оной перестаёт хватать. А я посмеюсь.
Вы путаете программы с утечкой памяти и те, которым её требуется много.
SE>>>1. 8G памяти, промасштабированные на миллион инстансов, стоят уже как миллион часов работы программиста mgu>>Пора нанимать архитектора. SE>Блин, в МГУ вроде иногда толковые люди попадаются. А иногда хоть стой — хоть падай. Вспоминаю, как когда-то по молодости комплексовал по поводу своего провинциально-заборостроительного образования. Продлилось это ровно до того момента, пока не пришлось консультировать двух выпускников ВМК. Не знали ни баз данных, ни машинного зрения, ни низкого уровня, только языком и умели двигать. По делу: причем тут архитектор?
А вы до сих пор комплексуете. Архитектор решает, в частности, проблемы масштабирования.
SE>>>2. В embedded–системы тоже будешь впаивать 8G? mgu>>В этой области час работы программиста дешевле. SE>Речь как бы не про школо-ардуинщиков, малинко-быдло и дедушек с AVR–ассемблером. Embedded бывает крайне разным, как по сложности, так и по оплате.
Разумеется, развязывание гордиевых узлов должно оплачиваться по высшему разряду.
mgu>>Удачники выбирают. SE>Оставайся в своих заблуждениях. Под некоторые задачи, приносящие лично мне весьма неплохие деньги, альтернатив и богатства выбора ну вот вообще нет.
А чем планируете заняться, когда решите эти задачи?
SE>>>4. Что будешь делать, когда все слоты уже забиты под завязку, и 8G воткнуть некуда? Есть задачи, где не бывает слишком много RAM – бывает слишком мало слотов и упор в физическое ограничение платформы на максимальное количество памяти. mgu>>Заменю воткнутую 8G на 16G. SE>Так сразу бы и говорил, что ты NPC с искусственным интеллектом Такого уровня неврубания я давненько не встречал.
А, так вы программируете рации на танках?
Сегодня будем изучать рацию на танке.
— А рация на лампах или на транзисторах?
— Для особо тупых повторяю — рация на танке!
SE>>>PS. Из-за таких грамотеев, как ты, сейчас даже вполне годные macbook pro с 16Gb RAM уходят в нехватку памяти, если запустить на них много говноподелий на electron. mgu>>А альтернативы этим говноподелиям нет? SE>Благодаря вот таким вот чудо-программахерам, "вставим 8G", их становится всё меньше.
Здравствуйте, Kernan, Вы писали:
mgu>>Наша справка: 8Г памяти стоят, как час работы программиста. K>А есдт память с ECC? Конечно, бороться за каждый байт в 2к18 моветон, но и плодить аллокаций тоже не нужно. Даже в серверном мире с одной стороны у тебя 24 зиона и 512 ГБ оперативы, да ещё 2 СДД, с другой к тебе пришло 100000 пользователей и всё загнулось из-за неумения расходовать память и алгоритмов O(n2).
В моём мире основная проблема -- это неумение высвобождать память.
По поводу алгоритмов. В нашем городке как-то устроили электронную запись в школы, используя алгоритм "кто первый встал, того и тапки". Закупили серверов..., но всё накрылось в час секунду Х. А спросили бы простую уборщицу, она бы и предложила массу умных сценариев.
mgu>>А чем планируете заняться, когда решите эти задачи? SE>Первый дельный вопрос! У меня нет чёткого ответа на него. Пока что поток потенциальных задач превышает мои возможности. Что будет дальше — Аллах решит
Пожалуй, буду пытаться повышать компетенцию до уровня безвременно ушедшего мыщъха. В его лучшие годы, разумеется, когда он премного шедеврально набезобразничал, а не в поздний его период, с негритянками и пушками В этой предметной области задачи не закончатся, пожалуй, никогда. Однако, требования к компетенции растут и будут расти.
Здравствуйте, reversecode, Вы писали:
R>претендент на синьора должен иметь несколько другие скилы и не должен уметь мыть полы
Это чего вдруг? Разница между джуном и сеньором в том, что первому надо задачку подробно разжевать, а потом результат проконтроллировать, а для второго эти этапы можно сильно сократить.
R>хотя... если у вас синьоры делают туже работу что и джуны только в большем объеме то тогда да
А какую работу делают сеньоры у вас?
R>но в большинстве ко, синьоры занимаются более глобальными делами
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>А частая ловля долбанных багов и борьба с кодом — это звоночек.
Расскажи мне сказку на ночь. Не видел еще ни одной проги без багов, причем многие из них — идиотские.
Хотя, может быть, ты хотел сказать, что у вас с багами не борются и привыкли жить с ними в мире?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Нет, но нам хватает процентов 5% времени на фиксинг.
А вот это — уже не звоночек, а скорее набат. Это говорит не о крутизне вашего кода, а об отсутствии обратной связи. Вы просто не знаете, где проблемы в вашем продукте.
Здравствуйте, serj.e, Вы писали:
mgu>>Вы путаете программы с утечкой памяти и те, которым её требуется много. SE>Не путаю. На одной и той же задаче можно расходовать и в 3, а порой и в 100 раз меньше памяти. В зависимости от того, задумываться ли о правильных структурах данных и алгоритмах. Или не задумываться, и брать что дают в стандартной библиотеке и рекомендованных практиках. Вопиющие случаи типа утечек в расчет не брались. Ясно, что сегодня не те времена, когда надо выкраивать каждый байт. А вот каждый мегабайт — вполне.
А я предпочитаю пользоваться стандартными библиотеками, которые иногда приходится рихтовать; цель оправдывает средства.
С экономией на байтах проблема в том, что многие дипломированные специалисты полагают, что производительность зависит только от объёма данных. А в наш распрелелённый век основные тормоза происходят из-за долгих соединений компонентов и плохих каналов передачи.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Я вот обычно ребятам ставлю задачи типа такой: уменьшить латентность обработки заказа до х секунд у Р95 и y секунд у Р99.
Масштабно мыслите! А мы тут с миллисекундами ковыряемся.
Здравствуйте, GarryIV, Вы писали:
GIV>Ох. Я вот сейчас сижу и смотрю на движок выражений, который тут местные товарищи родили. Регэкспами, Карл, регекспами парсят.
Тут в соседнем форуме подобные товарищи еще и утверждают, что остальные лохи кто нормальными инструментами пользуется.
GIV>Вот что мне с этим делать?
Ничего. Не давать такие задачи программистам с ремесленным уровнем, либо тыкать, аки слепых котят, в учебники.
Здравствуйте, Somescout, Вы писали:
S>Это понятно, но вопрос был в другом — зачем для этого сериализовывать дерево в этот вид, когда можно использовать тот же Visitor?
При чем тут визитор? Это паттерн динамической диспетчеризации, его с тем же успехом можно использовать и для RPN.
Здравствуйте, CodeMonkey, Вы писали:
CM>Остается открытым вопрос — почему нельзя взять исходное синтаксическое дерево и вычислять просто в процессе обхода.
Здравствуйте, a7d3, Вы писали:
A>Взять алгоритм перевода выражения в постфиксную запись (Reverse Polish notation (RPN), also known as Polish postfix notation). A>Тривиальный, даже когда в него добавляются вызовы функций.
Пратт не сильно сложнее, и строит сразу дерево, да еще и умеет всякие приоритеты.
RPN применяется вовсе не из-за простоты преобразования инфиксной записи в нее.
Здравствуйте, Ночной Смотрящий, Вы писали:
GIV>>Вот что мне с этим делать? НС>Ничего. Не давать такие задачи программистам с ремесленным уровнем, либо тыкать, аки слепых котят, в учебники.
Я и не давал, не даю и не буду давать. Но я один а проектов много.
Здравствуйте, CodeMonkey, Вы писали:
НС>>Заказы то у всех разные. Кому остатки на складах, а кому всякий AI и cognitive. CM>А, ну это всё объясняет. Никакое тестирование вообще не предусмотрено, да и кода — с гулькин нос.
Здравствуйте, iriska2, Вы писали:
I>Я тебя пожалуй поддержу, с одной стороны такую задачу конечно надо уметь решить, с другой стороны отсеивать человека потому что, он не решил одну задачу это МАРАЗМ.
Это смотря с какой стороны глядеть. Если со стороны собеседуемого, то конечно. А если со стороны собеседующего, когда тебе несколько десятков кандидатов надо просмотреть — не тако уж и маразм.
Здравствуйте, Somescout, Вы писали:
S>когда мне говорят LL/LR/RL/прочая хрень, для меня это просто буквы (и мне не сильно интересно лезть разбирать что это такое), но если меня попросят сделать парсер алгебраических выражений, я его сделаю
Просто факт. AI в его современном виде — это, в общем-то, шаманистика. Как оно работает, и вообще работает ли на каких-то данных, кроме тестового набора — никто толком не понимает. Получили правильный результат хотя бы в 51% случаев — протрубили победу. Не получили — надо добавлять в отвар больше говна мамонта и крови девстенниц, пока не получили хотя бы 51%.
А если потом выясняется, что, например, нейросеть распознает не объекты на фоне, а сам фон — никто не виноват. http://innovation.uci.edu/2017/08/husky-or-wolf-using-a-black-box-learning-model-to-avoid-adoption-errors/
Bleeding edge, ептыть, какие могут быть претензии
Здравствуйте, Somescout, Вы писали:
S>Зачем извращаться: сделать регэкспами парсер учитывающий приоритет операций наверно можно, но это уже эзотерическое программирование.
Да тут рядом предлагали на полном серьезе.
S>Сначала напишу токенизатор.
Как? Или про НКА-ДКА ты все таки слышал?
S>Примерно так.
Ты LL и описал. Только у LL есть определенные проблемки со сложными приоритетами.
S>ЗЫ. Регэкспами, при здравом размышлении, интересный вариант — quick and dirty, но будет работать.
Т.е. про классы грамматик ты не в курсе? Огорчу — приоритеты и скобки ты на регексах не распарсишь, это в регулярные грамматики невпихуемо, даже с фиксированным LA.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Если ты не понимаешь, это не означает что никто не понимает.
Верно, но не к месту. Полагаю, про converse error ты никогда не слышал?
НС>Главное что мы получили результат, лучший в мире. И этот результат вполне устраивает наших клиентов.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Ты LL и описал. Только у LL есть определенные проблемки со сложными приоритетами.
Проблемы у него есть с левыми рекурсиями, но это решается модификацией грамматики. Что там за "сложные приоритеты" — этому, видимо, только особо избранных учат
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>Сначала напишу токенизатор. НС>Как? Или про НКА-ДКА ты все таки слышал?
В 12-13 лет написал рекурсивный вычислитель арифметических выражений (инфиксных), с приоритетами и скобками. Времени ЕМНИП заняло час-два. На тот момент и не слышал таких понятий как токенизаторы, автоматы, грамматики, регулярные выражения, генераторы парсеров и т.п. Руководствовался исключительно интуицией и логикой.
Ни в коем случае не хочу сказать что программисту это знать не нужно, наоборот — нужно, получилось бы проще, качественнее и быстрее. Но поинт в том что задача вообще-то простая
Здравствуйте, Ночной Смотрящий, Вы писали:
EP>>Ни в коем случае не хочу сказать что программисту это знать не нужно, наоборот — нужно, получилось бы проще, качественнее и быстрее. Но поинт в том что задача вообще-то простая НС>Это такая специальная задача, которую без нужных знаний нормально не сделать. А твой вычислитель, скорее всего, хромал на обе ноги и его легко было сломать.
Миллиарды школьников на уроках математики справляются с этой задачей, применяя простейшие механические трансформации к выражениям. Запрограммировать эти трансформации в коде — не проблема.
Здравствуйте, Ночной Смотрящий, Вы писали:
EP>>Миллиарды школьников на уроках математики справляются с этой задачей, применяя простейшие механические трансформации к выражениям. Запрограммировать эти трансформации в коде — не проблема. НС>Мой опыт наблюдения за писателями парсеров без базы, довольно обширный, свидетельствует об обратном.
Мы всё ещё говорим про вычисление выражения со скобками и несколькими бинарными инфиксными операциями, или про какой-то более общий случай?
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Мы всё ещё говорим про вычисление выражения со скобками и несколькими бинарными инфиксными операциями, или про какой-то более общий случай?
Мы говорим про то, что требуется от реального парсера. Добавляем вызов функций или там объектную нотацию, и опаньки, костыли начинают отпадать.
Здравствуйте, sadpotato, Вы писали:
S>Интересно, а бывших сотрудников гугеля и подобных контор тоже по алгоритмам гоняют на собеседованиях? Было бы весьма нелогично.
Конечно, гоняют. Их — в особенности.
S>Я к чему. Вряд ли кто-то имеет что-то против проверки знаний. Но почему нужно это делать каждый раз, когда меняешь работу?))
Каждый думает, что именно его компания — пуп земли, а все остальные — так, мусор под ногами