Логично ли, что Гугл отклонил кандидатуру Макса Хауэлла, автора Homebrew, за неумение инвертировать двоичные деревья?

Original author: Max Howell
  • Translation
Disclaimer: Вопрос из заголовка был задан на сайте Quora
и сопровождался ссылкой на твит разработчика Homebrew. Ответил, неожиданно, главный персонаж.

Привет, я — тот самый Макс Хауэлл, так что, по-хорошему, наверное, и не должен был бы тут отвечать.



Привет, я Макс Хауэлл, и последние два года я старался не отвечать вот на такой и кучу очень похожих вопросов. Возможно не стоило и в этот раз.

Так что там насчет логики? Ясно ведь, что я создал что-то достойное Гугла, правильно?

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

Удивительно ли, после этого, что я не смог нормально ответить на их глубоко-теоретически-ориентированные вопросы?

С другой стороны – моя программа оказалась невероятно успешной. Почему? Ну, ответ не стоит искать в царстве компьютерных наук. Я всегда фокусировался на пользовательском опыте при создании своих программ, вот и Homebrew заботится о пользователе. Если что-то пошло не так при использовании Homebrew – он изо всех сил старается подсказать вам, почему – он ищет на Githab-е похожие проблемы и показывает их вам. Он заботится о Вас. Большинству же инструментов на Вас просто плевать. Что-то пошло не так – кирдык тебе. Homebrew помогает вам. И если он помочь не может – я постарался сделать так, чтобы исправить ситуацию было несложно (встроил команду для редактирования и исправления). Вы можете сделать его лучше, и это — блестящий пример истинно Открытого ПО.

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

В защиту Гугла – во-первых, я не просто не смог инвертировать двоичное дерево, я вообще не очень понимал, что такое «двоичное дерево». Я изучал химию, не информатику. Ну да, во время защиты диссертации я использовал Mathematica, чтобы смоделировать квантовомеханические свойства гелия (хорошо потрудился, кстати), но, еще раз, это было совсем не про информатику. А с другой стороны, какое, собственно говоря, отношение имеют компьютерные науки к современной разработке приложений? Вот именно это я хотел отметить в том своем твите.

По факту, Гугл провел со мной семь интервью, и я был неплох как разработчик, потому что в этом, на самом деле, и заключается мой талант. Мне не по себе за тот твит: получилось нечестно, он только подлил масла в эту геенну гнево-ориентированного-чтива, в которую превратился современный интернет, именно потому стал таким популярным и именно за это мне искренне стыдно.

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

Некоторые из популярных комментариев к оригинальной статье
Andrew McGregor, Site Reliability Engineer в Google (2013-и до сих пор), ~230 голосов

Уверен, что в Гугле Вам найдется место как продакт-менеджеру, или техническому проектному менеджеру, или даже, как системному инженеру/инженеру поддержки, но не как инженеру-программисту. И это нормально, уважаю всех таких специалистов… но инженер-программист должен знать компьютерные науки, это практически не оспаривается. А то, что подались на неправильную позицию… ну бывает.



Gayle Laakmann McDowell, работала в Google, ~900 голосов

Спасибо, что бьете в колокола. Согласна с тем, что Вы сказали и высоко ценю Ваше признание в том, что я давно подозревала – вы просто не понимали ни вопроса, ни, вероятнее всего, основ CS.
Предположения о том, что Гугл должен был бы Вас нанять (предположения других людей, не Ваше, которе строится на другой логике) кажутся мне немного смешными. Предлагается поверить в то, что кто-либо, являющийся великим программером в одной области, обязательно будет великим и в других областях, что, конечно, совсем не так.

Уверена, что Вы отлично себя зарекомендовали как разработчик в иных местах, но Гугл, по крайней мере в роли инженера-программиста, навряд ли Вам подойдет. Им на самом деле нужны ученые из информатики. Способность к определению того, что именно нужно создавать не ценится в данном случае так высоко потому, что это просто не входит в сферу основных обязанностей инженера-программиста.

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

Да, и «быть козлом» — тоже беда, если Вы это серьезно :)


Mark Klein, 185 голосов

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

Технические интервью фокусируются на специфических областях разработки программного обеспечения – на знании специфических алгоритмов и структур данных – и, хотя это может хорошо коррелировать с успехом в роли инженера (???) – это может быть не лучшим способом оценки потенциала определенных кандидатов (таких кандидатов, как Макс, которые уже продемонстрировали успешность в разработке ПО в других местах).
Доводы о том, что Гуглу стоило нанять его, не говорят о том, что он исключительный разработчик во всех смыслах, скорее они говорят о том, что продемонстрированный чрезвычайный успех в предыдущих проектах может означать лучшее понимание процесса создания программного обеспечения, чем способность инвертирования двоичных деревьев. Последнее вы можете загуглить. Чтобы нагуглить до степени полного понимания первое – можно потратить пару лет.

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



Carlos Matias La Borde, ~120 голосов

Елы палы, так это все по-настоящему!

Share post

Similar posts

Comments 291

    +14

    Если покажется интересным — дополню переводом некоторых из самых популярных комментариев к этому посту (с Quora).

      +16
      Интересно, можно обещанный перевод популярных комментариев?
        0

        Прошу прощения за тормознутость, дикий был день. И ночь. Очень хочу спать, так что — в конце, под спойлером, только три верхних коммента (кажется пока они самые популярные, если обнаружится еще интересное — добавлю).
        Спасибо за терпение ;)

        +1
        Пожалуйста, дополните.
          0

          Partially practically done. ;)

            +1
            Я уже почти год жду. Давай ужо)
              0

              Дык, было же (done), вроде, под фразой "Некоторые из популярных комментариев к оригинальной статье".
              Или у оригинала новые интересные комментарии появились? :)

                0

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

        +13
        Насколько помню, интервью еще оценивает на «Googliness», см. например www.quora.com/What-is-Googliness

        Если он пишет, «я часто веду себя как козел» — так может потому и не взяли?

        Хотя надо ли нанимать звезд, даже если они те еще звездюки — насколько помню, тоже отдельная тема для холивара.
          +7

          Все еще хуже, он пишет "I am often a dick", постеснялся переводить дословно ;)


          На самом деле — там есть хорошие комментарии, в том числе и от гугловцев. Смысл такой: "возможно надо было подавать на product manager-а, а не инженера программиста. Потому что SE Гуглу нужны именно с понятиями".

            +9
            Стоп-стоп-стоп. Давайте разделять мух и котлет!

            Тема №1: должен ли программист знать алгоритмику.
            Ответ (важно: мой личный, я не могу говорить за компанию): программист — да.
            Никто не знает, чем придётся заниматься завтра, какой язык использовать и в какой код лезть. В гугле очень открытая внутренняя среда, и возможность править есть всего и вся, и зачастую, если не хочешь терять кучу времени, быстрее самому поправить, чем эскалировать в ответственную команду. Да блин, это еще и интереснее!
            Так вот, если ты без понимания базы — легко наломать дров. Ооо, до гугл ая видел какие радостные вещи народ тянет в прод, вплоть до О(n3) ибо «да оно и так быстро». Ага. Только на тесте 1000 зверьков, а в проде 1000к зверьков. Откат, по шапке, разбираться. Особенно радовало когда взрывалось на праздниках (в обычный день ветку трогали раз или два за день, никто не замечал особо).
            Если есть жесткая структура менеджер=>техлид=>тимлид=>куратор=>кодер, и ревью жесткое всеми в цепочке для каждого изменения — тогда да, можно брать на кодера кого угодно, и такие места вылавливать и использовать для обучения кодера.
            Но при широкой свободе и небольших одноранговых командах — это просто невозможно, некому отслеживать. А в масштабах гугла, использование O(n2) вместо O(n*log(n)) очень и очень быстро выливается огромные затраты. Несоизмеримо большие, нежели зарплата одного программиста.
            Я не HR и не провожу собеседования, но если мне вдруг станет не лень и начну их проводить — это точно будет поводом оценить кандидата как не дотягивающего до требуемого уровня.

            Руководитель продукта — не обязан. Если не технический, конечно.

            Тема №2: Googliness.
            См.мой предыдущий пост. В целом, ((вздох) опять же напоминаю: исключительно моё личное мнение), дестабилизирующие элементы не рекомендуются в командах. А так как одиночки не нужны большой компании (люди смерты, причем, что хуже, внезапно смертны) — все в командах. А значит, нет смысла его брать — смесь двух звездунов в одном месте — гремучая и разносит всё вокруг, а звездуна и адекватного человека — уничтожает адекватного человека и остаётся опять одиночка. Ну и кому это надо?
            • UFO just landed and posted this here
                +6
                хм… нет, ну то что память пожирается со звуком «Хром хром хром» я не спорю, самого бесит. работы идут, с переменным успехом :D

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

                Про «падать»… фокс у меня падает регулярно (правда, 53й кажись, давно не обновлял), ИЕ тоже несколько раз валил (пользуюсь крайне редко).
                После помирания 12й оперы хром основной браузер — не упал у меня ни разу еще пока. Но тут как обычно, всегда можно найти способ, был бы софт. Главное — шлите репорты! Всегда легче лечить найденный баг, а не просто возмущения в воздух.

                Потерять данные легко можно и после закрытия дескриптора, если не сделать fsync. А если делать fsync на каждый чих, то всё встанет колом. «man eat-my-data» — вещь, позволяющая чудеснейшим образом ускорять очень многие программы.
                можно подробнее — какие конкретно полезные вещи были потеряны и в каком сценарии?
                  +10
                  Мне вот интересно: люди, у которых падает лиса — вы что с ней делаете вообще?

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

                  P.S. Win 7 x64, Firefox v.57.0.2 (64-бит), 8 Гб RAM.
                    0
                    Ой, это очень просто. Достаточно на ноуте с 2 видеокартами принудительно переключиться с одной на другую. Либо если дрова активной свалятся и поднимутся снова (простите за непрофессиональную терминологию). При этом экран мигнул, все приложения работают, кроме тех что от Мозиллы — они все радостно крэшатся.
                      +1

                      Какой-то редкий сценарий, для меня так и вовсе невозможный: у меня на ноуте одна карта. А можно полюбопытствовать, зачем их может понадобиться переключать?

                      • UFO just landed and posted this here
                          +1
                          *«Либо если дрова активной свалятся и поднимутся снова»* — типичная ситуация при перегреве.
                            +1
                            Включение режима энергосбережения к такому приводит, например.
                              0
                              А можно полюбопытствовать, зачем их может понадобиться переключать?

                              У меня на ноуте HDMI работает только от дискретки, а в основном используется встроенная. Воткнул кабель- получил переключение.
                                0
                                Кстати, FF у меня при этом ни разу не падал.
                              +3
                              м… а вот на такое, как воспроизводимое, надо багрепорт слать!
                                0
                                Стандартные логи при падении слал, но либо это действительно единичные случаи, либо не хватает информации чтобы понять в чем дело. Уже много лет наступаю на эту фишку на совершенно разных ноутах. Одна из причин того, почему пересел на хром.
                                  0

                                  А вот у меня хром падает в аналогичной ситуации. Правда на стационарнике.

                                    0
                                    Багрепорт? Железо, ос, версии дров, и др можно зафайлить?
                              0

                              Открыть в Лисе свыше 256 вкладок.


                              PS а на скольки вкладках падает Хром?

                                0
                                У меня 400-420 вкладок в ФФ на домашней машине. Если надо будет, смогу скинуть «нотариально-заверенный» скриншот.
                                  +2

                                  Зачем вы это помните?

                                    +1
                                    Я это не помню — у меня счетчик висит в правом верхнем углу для этих целей.
                                    0

                                    Значит у меня свыше 512 вкладок. Потому что на каком-то числе вкладок Лиса крашится, не знаю на каком :)

                                      +4

                                      Более 2,147,483,647 вкладок?

                                        +1
                                        Пора исправить это безобразие и сделать переменную беззнаковой!
                                      +3
                                      просто интересно, зачем может понадобиться 400 вкладок? Это примерно из той же серии, что и бардак на столе?
                                        0
                                        Нет, бардака нету. У меня используется продвинутый автостекинг (в духе старой оперы). К сожалению функционал временно мертвый на v. >= v.56 билду (или я уже напутал? Когда там Quantum пришел то?).
                                        Как итог — переключаюсь очень быстро.

                                        Зачем?
                                        — «о кино» (википедия по актерам, кинопоиск, раздачи сериалов и т.д.)
                                        — о БМВ (ремонт, ремонт, ремонт… ремонт и еще раз ремонт)
                                        — о быте (от замены труб/унитаза до «продвинутой глажки»)
                                        — о кухне (100500 блюд, обсуждения по выборам кухонной утвари)
                                        - и конечно, о работе (WebSockets, Vue, Java, ORM, WebDriver, Photoshop, PHP, ....., ассинхронный код)

                                        А на столе (большой, письменный, классический) стоит стац (на нем стоит лампа), мониторы висят на кронштейне, лежит клавиатура с подсветкой, мышь, лежит мягкая тряпочка (на ней лежит трубка), мониторные наушники на голове, рядом стакан с соком.
                                          0
                                          букмарки, ридинг листы вроде бы как раз для этого, зачем зря держать столько вкладок? Не осуждаю, понять хочу )
                                            +1
                                            Так одна фигня. Вкладка позади — ее память будет выгружена. Считай, тот же букмарк и есть.
                                              0
                                              Именно, но при этом я могу себе позволить именно вариант с вкладками (железо «огонь»). А с вкладками тупо удобней.
                                            0
                                            Как итог — переключаюсь очень быстро

                                            Быстро?
                                            Современные десктопные браузеры давно уже от мобильных заразились сбрасыванием неактивных страниц в никуда и их загрузкой заново при возврате.


                                            Может кто знает как это отключить

                                              0
                                              На устаревшем FF (еще не Quantum) это делалось в настройках плагина. На новом FF авторы аддонов просят подождать расширения API.
                                                –1
                                                Современные десктопные браузеры давно уже от мобильных заразились сбрасыванием неактивных страниц в никуда и их загрузкой заново при возврате.

                                                Ни разу не встречал на своём FF на Windows XP.
                                          0
                                          У меня больше вкладок.
                                          А Хром просто не дает открывать столько из-за багофичи UI — у него нет прокрутки табов, так что больше нескольких десятков их не открыть.
                                            0
                                            Да ладно вам. Откройте 20 окон, в каждом окне 20 вкладок. Всё будет работать, если памяти достаточно.
                                            0
                                            Чувааак, да этож 8-битное переполнение! :)
                                              0
                                              Это супер-пупер гугло-кодеры из гугла, которые хорошо разбираются в деревьях или в них блудят :)
                                              0
                                              Не флейма ради, но фф3 — у меня был рекорд 700 табов. При общем лимите в 2 гига на весь фф. Счётчики табов типа too many tabs — есть и под фф (кроме 57, там вообще ад устроили, ничего нужного не осталось), и под хром. Под виндой раскачивал хром в 400 табов, при системных 8 гиг рамы + 32 гига в ready boost + на сколько-то оно выползало в своп, но при этом вкладки которые использовались активно — не тормозили вообще!
                                              Да, прокрастинация, всё такое, и сейчас рабочий объём — не более 200 табов, но суть не в этом.
                                                0
                                                Одна-две вкладки с youtube на adobe flash и все, адресное пространство закончилось.
                                                  0
                                                  Именно флэш там запускался в отдельном процессе. Так что мимо. Вот какой-нибудь кривой современный сайт типа юлмарта и прочих тяжеловесов положили бы тот фф в 5 табов, если бы оно вообще сумело отобразиться.
                                                    0
                                                    Нет, процессов — по количеству окон было. И ютюб быстро добивал до 2+ Гб.
                                                      0
                                                      Я про ФФ, и у первых версий — на все окна и табы был ровно 1 процесс. Плюс один процесс для флэша. хтмл5 тогда еще не было. И на весь этот процесс было всего 2 гига.
                                                      Процесс с флэшем может и падал…
                                                      Впрочем, фф 56.0 32 бита, 2 окна, 10 табов, ровно 1 процесс.
                                                        0
                                                        И я про него. До последнего обновления, когда все стало разбиваться на множество средне загруженных процессов (т.е. я о версии, актуальной месяц-два назад) было 1 окно=1 процесс.
                                                          0
                                                          ну выше же отписался, что это не так. И на другой машине глянул — 6 окон, 60 табов, 1 процесс. ОДИН.
                                                            0
                                                            Видимо, дополнения мешают, либо версия слишком старая, либо ещё чего. Я бы на вашем месте активировал многопроцессный режим принудительно.
                                              0
                                              У меня падает. Похоже, на рекламе. Случайным образом до 3 раз в сутки. Последняя, да. Адблок.
                                                +1
                                                Адблок

                                                Замените на Ublock.
                                                  0
                                                  Тоесть я вас правильно понял, вы рекомендуете заменить один js на другой чтоб не падал броузер? А не перебор ли это, падать от js скрипта?
                                                    +1
                                                    Дополнения, особенно старые, имеют больше привилегий и возможностей. Конечно, падать не есть хорошо, но это самое простое решение. Хотя я буду раз, если вы накатаете исправление в код Firefox )
                                                0
                                                чаще всего у меня наворачивается на всяких загаженных рекламой сайтах.
                                                хто его знает отчего, но вот так вот. адблок по-моему только усугубляет.

                                                p.s.: кто нынче лучший адблок для фокса? (раз уж обновляю лиса, так и плагин по-лучше воткнуть...)
                                                  0
                                                  См. мой совет выше.
                                                    0
                                                    Ublock Origin лучше, чем Adblock. Использую в ФФ и Хроме, проблем не замечено.
                                                      0
                                                      у adblock вменяемый интерфейс, а куда тыкаться в ublock — без поллитры не разберешься
                                                        0
                                                        Дело привычки.
                                                          0
                                                          Ну не знаю. Что там, что там без проблем нашёл настройки и потыкал галочки против нужных фильтров.
                                                            0
                                                            Например, как там сделать исключение для конкретного сайта, я не знаю до сих пор (например, чтобы виджет жж грузился на сайте собственно жж, но блочился на всех остальных). Как читать табличку с плюсиками-минусиками — тоже не понимаю до сих пор.
                                                              0
                                                              Я это делаю в комплексе с uMatrix для раздельной блокировки по стилям или скриптам.
                                                              Но у Ublock две колонки, первая заведует глобальными правилами, вторая локальными. В колонке по три прямоуголника, разрешение, хз, запрет. Плюсики и минусики наверное отображают число заблокированных элементов по доменам.
                                                              То есть для вашего случая нужно в первой колонке прописать запрет на домен, где расположен виджет ЖЖ, а находясь на сайте ЖЖ во второй щёлкнуть на разрешение на том же домене.
                                                              Впрочем согласен, автор этих дополнений делает функциональные и информационно-насыщенные интерфейсы, но совершенно не понятные с первого взгляда. Но после привычки всё очень удобно и под рукой.
                                                      0
                                                      Палка в стоону Лисы, 7 открытых вкладок -7гб озу, оно вообще что с ними делает? что вообще можно делать с гигом оперативы на 1 вкладку? просто вот интересно.
                                                        +1
                                                        Это вам надо куда-то в другое место палки кидать, лиса такого не делает.



                                                        P.S. На скрине гораздо больше активных вкладок.
                                                          0
                                                          В диспетчере нужно включить ещё поле, что-то вроде «выделенная память», оно более честные цифры показывает. Если нужно, пруф сделаю, когда у винды буду. А в лине у меня так
                                                          $ top -b -n 1 -p 5820 |tail -2
                                                          PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
                                                          5820 playnet 20 0 16,036g 6,530g 53820 R 39,9 42,5 3256:20 firefox
                                                            0
                                                            Да без разницы, до гигабайт там всё равно далеко. Предыдущий скрин был с работы. Вот скрин из дома, тут вкладок ещё больше, плюс из одной из них музон играет:



                                                            Это ProcMon, если что, он уж точно всё показывает.
                                                              0
                                                              Это в новой версии, после недавнего капитального обновления ffx'а. До того было четко 1 окно = 1 процесс, и у меня частенько съедало почти 2 гига, что приводило просто к VA space exhaust. Просто либо ютюб, либо тяжелые JS.
                                                                0
                                                                Это в новой версии, после недавнего капитального обновления ffx'а.

                                                                Многопроцессный режим работы можно было врубить достаточно давно.
                                                              0
                                                              Эм, почему более честный? Там, как я вижу, private working set, т.е. конкретно отожранная память, без разделяемых областей.
                                                          0
                                                          У меня фф стабильно падает, если открыть десяток вкладок и оставить на сутки.
                                                            0
                                                            Я вообще комп не выключаю по полгода. И вкладок у меня на порядок больше десяти.
                                                          +8
                                                          Главное — шлите репорты! Всегда легче лечить найденный баг, а не просто возмущения в воздух.

                                                          Я QA. Java. Пишу AST. Код сильнейшим образом завязан на стандарты работы с браузерами. Дописал асинхронную мультипоточную многопроцессную версию двигателя. Пытаюсь запустить. Хрен мне.
                                                          Пишу багрепорты гуглу. Мне, внезапно, очень оперативно отвечают. Просят прологгировать дополнительно некоторые вещи. Потом просят мой код. Потом приходит ответ — «Chrome и его разработчики знают о том, что так должно работать по спекам W3C, но мы не умеем это делать. Сожалеем. В будущем мы конечно постараемся обеспечить поддержку».
                                                          FF — завелось с пол-пинка.
                                                            +19
                                                            Зато они умеют разворачивать бинарные деревья. В уме.
                                                              0

                                                              А ссылка на баг-репорт есть?
                                                              Очень интересно почитать ответ от Гугла «мы не умеем».

                                                                0
                                                                Вот же у них баг-трекер «говно-говно». Черт ногу сломит, из каменного века.
                                                                Найти смог только через свою почту линк с публичной частью:
                                                                bugs.chromium.org/p/chromedriver/issues/detail?id=2157#c6

                                                                Для ленивых:
                                                                Thank you for providing the details and the log file.

                                                                From the log files I see you have used a customized JAVA API, particularly for HttpCommandExecutor. You were using W3C dialect of WebDriver protocol in your code and Chromedriver 2.33 at this moment doesn't support W3C dialect.

                                                                In a future releases of Chromedriver the W3C will be supported.
                                                                  +7

                                                                  Справедливости ради, этот ответ означает, что они пока что не сделали поддержку стандартного диалекта протокола, но в процессе. Это связано с тем, что реализация протоколов начинается задолго до их стандартизации. То есть сами гугловцы делали черновики протокола, реализовывали их, предлагали комитету, и так далее. Вероятно, в конечном счёте комитет утвердил какие-то особенности реализации Мозиллы, а не Гугла, и последние получились отстающими. Я считаю, что некрасиво заявлять, что они "не умеют это делать", поскольку звучит это как "они там все криворукие бездельники". Но фактически, им теперь код нужно доработать под новые требования, но по возможности не сломать существующие приложения, завязанные на гугловский диалект протокола. И такая ситуация практически по всему Web API.

                                                                    +1
                                                                    Хорошо, аргумент принимается, судя по всему я погорячился.
                                                                    В свою защиту могу сказать, что мой проект не основной, для фирмы — это вспомогательный софт. Однако без которого мы не можем нормально обеспечить качество уже своего ПО.
                                                                    А теперь представьте картину: близится завершение года, была сделана так давно желанная модернизация платформы тестирования. Влита куча сил и средств. Сделано все без косяков, т.е. как того требует спецификация, и тут выясняется, что это до сих пор не поддерживается Blink/WebKit — движком! Ну а крайний конечно же я для всех вокруг. И мне же вставляют черенок в зад только за то, что кто-то хрен знает сколько времени не может сделать как нужно.
                                                                    Ибо эта модель в том же FF поддерживается более года как.

                                                                    Ну и да, я все же QA — увы, с чем я только не сталкивался в плане отклонения от спек в Chrome. Пока не написал им, они и тени (box-shadow) не рисовали как нужно. Баг тянулся то ли с 2012-го, то ли с 2013-го. А закрыли лишь в том году, после моего репорта.

                                                                    Причем когда гуглил (как отрисовать тени у таблицы (да, UI я так же занимаюсь)), то stackoverflow мне давал варианты, от которых волосы на попе зашевелятся (если они там есть).
                                                                      +2
                                                                      и тут выясняется, что это до сих пор не поддерживается Blink/WebKit
                                                                      и тут выясняется, что вы до сих пор не поддерживаете самый распространённый движок. Fixed. ССЗБ.
                                                                        +1
                                                                        Эм, а зачем мне поддерживать отсталые технологии?
                                                                        Хром когда-нибудь таки сможет эволюционировать до того, что уже реализовано у меня, и, что требуется от него W3C спеками. Так что это правило не работает, когда речь идет о технологиях «завтрашнего дня»… для хрома разумеется, ибо лиса это уже умеет много месяцев как.

                                                                        Просто смотрите, ситуация то какая?
                                                                        Имеем рабочий свой софт, что жрет тонну ресурсов и тормозит. Сильно негативно для бизнеса. Бизнес таки за несколько лет дал разрешение «снести к херам» и «сделать быструю/эффективную реализацию». На это не каждый день дают ресурсы. Это раз в 3-5 лет такая возможность. Я и сделал максимально-производительно. И это уже не мои проблемы, что софт от мирового бренда больше года не может уметь работать с этим.

                                                                        Это же хром себя позиционирует как «легкий и самый быстрый». Тогда почему не используют более быстрые решения? Почему с ними они не могут работать? Это риторические вопросы.
                                                                          0
                                                                          Это же хром себя позиционирует как «легкий и самый быстрый». Тогда почему не используют более быстрые решения? Почему с ними они не могут работать? Это риторические вопросы.
                                                                          Почему риторические? Ответ ведь на них прост: потому что никто, в том числе и вы, не позаботился тем, чтобы поддержать эти «быстрые решения».

                                                                          В конце-концов Chromium — проект с открытыми исходниками, хотите, чтобы он поддержал что-то не тогда, когда у разработчиков ручки дойдут, а «прям сейчас» — шлите патчи.
                                                                            0

                                                                            Это ваша проблема, что ваш софт не работает с одним из самых распространённых браузеров. Как бы надо снимать розовые очки и тестировать. Хром виноват, что вы этого не сделали?

                                                                              +5
                                                                              Подождите, подождите! Когда в далекие времена IE работал не так как по стандарту положено — все орали — «ату его!». Теперь, оказывается, что раз «корпорация добра» так сделала — то так и должно быть?
                                                                              Двойные стандарты в действии
                                                                                +3

                                                                                Никаких двойных стандартов.
                                                                                Орали на IE, орём на Chrome и сейчас.


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

                                                                                  0

                                                                                  Орать, что не работает — орите. Писать софт, а потом возмущаться — ССЗБ.

                                                                                    +1
                                                                                    Писать софт

                                                                                    Только есть один нюанс — не соблюдение правил!
                                                                                    Ладно бы я написал криворуко, тогда реально ССЗБ.
                                                                                    Но! Нарушил не я — не мои проблемы.
                                                                                    Гуглу надо, чтобы он был самым-самым? Так пусть и работает он для этого, а не я. Мне он за это не платит. И это в его интересах сохранять лидерство. Пусть тогда и софт пишет лучше. По правилам!

                                                                                    Багрепорт я написал, информацию донес, меня услышали — долг выполнен.
                                                                                      +4
                                                                                      Но! Нарушил не я — не мои проблемы
                                                                                      Серьёзно? А если завтра W3C всё переиграет и правила вдруг станут совместимы с тем, что сделал Гугл, а не с тем, что написали вы — это будут ваши проблемы? Или нет?

                                                                                      Давайте по порядку.
                                                                                      1. Вы совершенно сознательно под лозунгом «а зачем мне поддерживать отсталые технологии?» выбрали технологию для которой утверждённых правил игры ещё нет (последняя версия датирована, на минуточку, 21 декабря 2017 года — и это ещё не рализ).
                                                                                      2. Зная о том, что вы используете технологию, для которой нет не только полностью совместимых реализаций, но даже утверждённой спецификации вы не проверили как и что работает в версии для самого распространённого браузера
                                                                                      3. И после этого вы начинаете вопить о том, что кто-то кому-то чего-то должен

                                                                                      Извините, но так дела не делаются. Я понимаю если бы речь шла о чём-то, что стандартизовано и реализовано 10 лет назад, но bleeding edge — он потому и bleeding, что его использование — чревато.
                                                                                        +1
                                                                                        Чтобы полностью развеять тучи, мне надо довольно сильно углубиться в область работы с браузерами и современное положение дел в комплексах автоматизированного тестирования. Не уверен, что тут кто-то с этим сталкивается и, как следствие, понимает «что, куда и почему».

                                                                                        Отвечая на ваш (и не только лично ваш) вопрос — да, если W3C переделает что-то капитально, тогда уже виноват буду я.

                                                                                        Я от чего отталкиваюсь, ведь эти люди, это не рептилоиды с Марса, нет, вовсе нет. Этот консорциум состоит из представителей в том числе и Google, MS, Mozilla. Т.е. владельцы браузеров, их инженеры, там вполне «сидят и принимают решения».

                                                                                        Я почему выше сказал, что вопросы риторические?
                                                                                        Потому что верю в «светлое» — при прочих равных стараюсь сводить вероятностную причину к наиболее оправданной.

                                                                                        Так и тут, я понимаю, что мы не роботы. Ваше (кажется) утверждение, что приняли реализацию Mozilla, а в Google надо все теперь переделывать, мне понравилась. Т.е. такая гипотеза многое объясняет (и прощает).

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

                                                                                        Так что все, уже отбомбило и в целом я спокоен.
                                                                                        Гневаюсь только от комментариев «ССЗБ», ибо человек меня пытается «научить» не смотреть в правила, если это «мешает». А простите, тогда вообще зачем правила, если в порядке вещей будет на них забивать и делать «все иначе»?

                                                                                        UPD: И да, вот еще один момент, не я владелец организации. Ведь так? Только IT-инженер. И вот, допустим, я перестану делать «как предписано», а начну делать «как хочет кто-то». Потрачу бюджет и время. А оно не взлетит. При сравнении этих двух ситуаций во второй буду виноват 100% я, а оно мне надо? Так что нет, написали в правилах, я все сделал по ним и не взлетело? Вина не моя. Хватит с меня черенков.
                                                                                          +1

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


                                                                                          То, что оно не взлетело — ваша и только ваша вина. Вы не проверили, поддерживают ли все браузеры то, что вы хотите. Орать про правила, когда всем известно, что они нарушаются — бессмысленно.

                                                                                        0

                                                                                        Ммм, если ваша цель — переложить на кого-то виину и лапки поднять, то всё логично. Если ваша цель — получить работающее ПО, то нет, это нифига не логично. Я бы ссаной метлой погнал чувака, который рассказывает, что он всё сделал правильно, а этот гуглхром не умеет работать с его кодом. Цель — получить работающее ПО.

                                                                                          –3
                                                                                          Я бы сам ушел от такого бездарного и пустоголового руководителя — не экстрасенс я чтобы учитывать что-то там, если это не описано.

                                                                                          Инструкция есть? Есть. Сделал по ней? Сделал. Не работает? Не мои проблемы! Так и только так. И пофиг что-там думает пустоголовый руководитель — есть нормальные фирмы. К примеру, одна «очень известная страховая Европы» (куда меня брали) — им гораздо видней, чем вам, какая у меня квалификация.

                                                                                          Почему не там сейчас? Потому что со старого места сманить не смогли — у меня и тут руководитель не бездарь. Узнал причину, расстроился, но сказал «хорошо, значит ждем, когда они там у себя все починят».

                                                                                          Ибо «мануалы/инструкции/контракты» — все, что «задокументировано», оно всегда важней любого самодурства. Без разницы от итогов. Ибо за нарушение уже «договоров» — вот за это «суды/санкции/и т.д.».
                                                                                            +2
                                                                                            Инструкция есть? Есть. Сделал по ней? Сделал. Не работает? Не мои проблемы! Так и только так. И пофиг что-там думает пустоголовый руководитель

                                                                                            лукавите?
                                                                                            уверен, что если бы такой контракт был у робота — уволили бы даже робота

                                                                                              –2
                                                                                              Увольняют за самовольство. А за то, что исполнено по «инструкции» как раз нет.
                                                                                              В нормальном мире, если не совпадает инструкция с реальным поведением — виноват автор «того, к чему инструкция», либо «автор инструкции». Но не тот, кто следует инструкции.

                                                                                              Или вы считаете, что собирать самолеты, делать операцию, рассчитывать топливную смесь надо не по инструкции?!
                                                                                                +2
                                                                                                Угу. Только вот проблема в том, что инструкцию в данном случае вы сочинили себе сами.
                                                                                                  +2

                                                                                                  Вам уже неоднократно указывали, что в частном случае, который Вы приводите как проблему — "договоренность" Вы видите там, где Вам ее не обещали.
                                                                                                  Но причина Вашей боли находится уровнем выше. Я намекал на то, что для выполнения инструкций у нас уже есть компьютер, человек нужен, чтобы их создавать. Придерживаясь здравого смысла и опыта, часто зафиксированных в виде практик и договоренностей, конечно. Если Skerrigan не компьютер, то он автор инструкций, следовательно надо что-то делать.


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


                                                                                                  По поводу самолетов — проектируют люди, собирать, уверен, скоро станет дешевле роботами. По поводу рассчета топливной смеси не уверен, что иммется в виду, но я бы предпочел рассчет автоматом, а не человеком, у которого, как Вы знаете, на вкус и цвет…
                                                                                                  Ну а хирург… поверьте, хирурги могут очень сильно обидеться, если Вы им такое заявите...

                                                                                                    0
                                                                                                    Или вы считаете, что собирать самолеты, делать операцию, рассчитывать топливную смесь надо не по инструкции?!
                                                                                                    Не знаю насчёт топливных смесей, но знаю насчёт хирургов и самолётов (так получилось что у меня оба родителя этим занимались). Отработав всё «строго по инструкции» можно как угробить человека и запороть самолёт — легко. С человеком — там вообще всё сложно, недаром хируги такие деньги получают, а с самолётом попроще: засунув в двигатель ротор с максимальным допусков в статор с минимальным — вы скорее всего просто-напросто работоспособную конструкцию не получите. Её либо заклинит, либо в попытке таки заставить всё это взлететь вы сточите лопатки настолько что у вас ресурс упадёт процентов на 20.

                                                                                                    И да, как верно тут уже заметили, кой-какие вещи уже в обоих случаях уже можно делать строго по инструкции — что означает, что в этих местах держать человека (тем более — высокооплачиваемого человека) более не нужно и можно поставить робота.
                                                                                  +1
                                                                                  Пока не написал им, они и тени (box-shadow) не рисовали как нужно. Баг тянулся то ли с 2012-го, то ли с 2013-го. А закрыли лишь в том году, после моего репорта.
                                                                                  Вот за это — вам можно только спасибо сказать.

                                                                                  Причем когда гуглил (как отрисовать тени у таблицы (да, UI я так же занимаюсь)), то stackoverflow мне давал варианты, от которых волосы на попе зашевелятся (если они там есть).
                                                                                  К сожалению 99% разработчиков либо вообще не создают багрепорты, либо создают багрепорты, где описывают не требования спецификаций, а свои, ничем не обоснованные, хотелки.

                                                                                  Потому одного создания багрепорта через crbug.com, увы, недостаточно: чтобы пробиться через естественным образом возникающую «защитную реакцию» нужно достаточно много усилий.
                                                                                    0
                                                                                    из пары десятков багов открытых в багтрекере оперы мною, помню закрыто было то-ли 3 то-ли 4. остальные висели в низком приоритете… :D
                                                                                      0
                                                                                      остальные висели в низком приоритете…
                                                                                      Низкий приоритет — это смерть. Фактически это обозначает: «у нас этого в планах нет и никогда не будет, но если у кого-то появится энтузиазм… patches are welcome».
                                                                                        +1
                                                                                        Так и было. Потом Presto пристрелили и всё, не релеватны более.
                                                                                      +2
                                                                                      Вот за это — вам можно только спасибо сказать.

                                                                                      К сожалению… блин, я бы с радостью этим вообще не занимался.
                                                                                      Но наш продукт, это CMS-комбайн, от блогов, до магазинов на нем написано. И для продукта не допустимо, чтобы что-то рисовалось не так. И когда такие проблемы возникают (рисуется что-то плохо, не так, как дизайнеры задумывают… или что-то не работает), то всегда пинают меня. Все и всегда. Что наши разработчики, что «головной отдел» «забугром».

                                                                                      Мне очень больно.

                                                                                      Как итог — за годы проведенной работы, у меня проф-деформация. Ломаю все, до чего дотянусь. Банкоматы ломал. Счет в банке ломал. Машину сломал. И т.д. Порой так, что ну очень хитрожопые баги вскрываются.

                                                                                      Из недавнего:
                                                                                      если совместить новую версию драйвера с патчем от Yandex, в определенном порядке, то ломаются java проекты. А если сделать сборку иначе, то не ломаются.

                                                                                      Надо бы и Яндексу «передать весточку».
                                                                                        0
                                                                                        Жму руку. Сам так же деформировался. Фиг знает когда выездным стану.
                                                                                  +8
                                                                                  «Protocol isn't supported yet» и "Мы не умеем это делать" все же очень разные вещи
                                                                                    +4

                                                                                    Так я и думал. "мы не умеем это делать" оказалось вашей чересчур вольной интерпретацией.


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

                                                                                      +2
                                                                                      Не вопрос, я не возражаю — ваше желание вполне нормально и естественно. По этой причине и привел линк, тут нечего скрывать.

                                                                                      Пояснения тут: habrahabr.ru/post/345756/#comment_10590812
                                                                                        +4

                                                                                        Я вижу, что имплементация Chromedriver отстает от актуального стандарта. А причем здесь разворот деревьев и компетенция программистов?


                                                                                        Вы ожидаете от них, что кто-то будут овертаймить по ночам, чтобы запилить необходимую вам фичу в продукте, за который вы Гуглу ничего не платите?

                                                                                          +1
                                                                                          А причем здесь разворот деревьев и компетенция программистов?

                                                                                          Не при чем. Если внимательно прочтете ветку, то сможете увидеть с чего все началось:
                                                                                          — был тезис «нашел баг, отправь баг-репорт»
                                                                                          — я на этот тезис написал свой комментарий о «неудачном опыте».
                                                                                          Отсюда и пошел суб-тред.

                                                                                          Вы ожидаете от них, что кто-то будут овертаймить по ночам, чтобы запилить необходимую вам фичу в продукте, за который вы Гуглу ничего не платите?

                                                                                          Это мощная отмазка. Под неё можно подвести почти любые «причина-следствие». Гугл обязан. Ровно, как и все остальные, держать свой софт в актуальном состоянии.

                                                                                          И вообще, чего это сразу делать меня тираном, что требует овертайма по ночам?
                                                                                          Вы ведь не в курсе чем местный "Петя Джон Синь-Джень" занимается? Он вполне может и в «потолок плевать».
                                                                                          У них есть обязанность выпускать драйвер. Этот драйвер имеет значение планетарного масштаба. Ибо он для всего человечества предназначен. Ровно как и драйвер от мозиллы. Так что вы не правы, мы платим гуглу за этот драйвер.

                                                                                          Ибо не будет нормального драйвера -> не будет нормального уровня качества веб-сервисов (под самый популярный браузер) -> это в первую очередь в интересах гугла иметь нормальные тулзы. Иначе под хромом будет вакханалия, а не работа веб-сервисов.
                                                                                            +1

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


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


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

                                                                                              0
                                                                                              Умом и сердцем я с вами то согласен.
                                                                                              А, простите, своей попой, увы, нет — ибо в данном случае «стучат по мне», если я не обеспечиваю нужный контроль качества. И когда за подобное «стучат» скоро как 5 лет к ряду (да, в марте будет 5 лет, как я работаю все там же QA), то как-то слишком агрессивным становишься в подобных ситуациях (хорошо, что вы меня не видели в момент ответа гугла — я чуть в стену не запустил свой монитор… у меня очень знатно горело).

                                                                                              Перечитываю этот тред и складывается ощущение, что я просто «выдрессированная собака»… надо что-то делать с этим в своей жизни.
                                                                                                0
                                                                                                Ну, с другой стороны, у них прямо на главной странице написано: «We are in the process of implementing and moving to the W3C standard, you can view the current implementation status of the WebDriver standard here», так что это не что-то, что они скрывают.
                                                                                                  +2

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

                                                                                  +1
                                                                                  Открой для себя Opera 49. Уже сильно не хуже 12-й тем более что допиленый до удобства Хром. Opera link forever в новой эпостаси и дргуие фичи Оперы которые не додули в других браузерах.
                                                                                    0
                                                                                    На личном ноуте О49 как основной браузер с тридцатькакой-то.
                                                                                    Это всё же не Старая бобрая 11.49, но уже и на хлеб мажется, и на вкус терпимо.
                                                                                      0
                                                                                      На Опере с 2002 года. После 12й долго сидел на девелоперской версии, но не слез с нее. Сейчас везде стоит релизная и более, чем устраивает. Все родные тоже на ней. Потому что продукт создан для людей с мыслью о людях. Гугл же не продуктовая компания, по большому счету. Они выскочили на фиче и перед ними никогда не стоял вопрос завоевания авторитета. Вспомните сколько раз они закрывали направления и продукты не заботясь о пользователях.
                                                                                  +3

                                                                                  Не пробовали подаваться в Гугл? С врагом эффективнее всего бороться изнутри.

                                                                                    +1
                                                                                    не могут уже столько лет убрать все мемолики гуглхрома, я уже упарился в processhacker отстреливать процессы которые ушли в овер мемори юз.

                                                                                    Это не memory leaks. Это GC handled objects (да, в C++ бывает сборка мусора) + сознательная тактика использования памяти (кэши, буферы, предзагруженный контент, и много другое). В Chromium имеется механизм отслеживания memory pressure (с уровнями типа modetate и critical) на разных платформах, и при его срабатывании происходит очистка и оптимизационные мероприятия.
                                                                                    Если хотите, изучите и поиграйтесь с ключами командной строки, начинающимися на --memory-pressure, там много интересного есть.
                                                                                    +1
                                                                                    1. Меня лично заинтересовало, что он не знал про деревья\графы и смог написать Homebrew. И очень интересует, знает ли он о них теперь (думаю да).
                                                                                    2. Мой опыт — если отравитель, после двух бесед, не признает наличия яда — тянуть нельзя, приходится прощаться.
                                                                                      +1
                                                                                      1. Уверен, что деревья и графы как концепцию знал. Я их знал даже когда не знал, как они называются — просто всё равно приходится данные организовывать.
                                                                                      Вполне допускаю, что не знал терминологии — ну так блин, задавать вопросы же можно! Я точно на собеседовании задавал тонну уточняющих вопросов, просто чтоб понять о чем идёт речь, я на русском-то не всегда знаю терминологию, а уж английские термины и подавно не все.
                                                                                      Вообще, собеседование ведётся чтоб смотреть как человек думает над решением задачи. К слову, что-то мне не верится, что задача была «инвертируйте двоичное дерево».

                                                                                      2. А если признаёт сразу, но поведение не меняется? К слову, поведение поведению рознь. Вообще, имхо, умение адаптации поведения важнее, для хорошей командной игры. Даже вечные ангелы могут задостать :D
                                                                                        +7
                                                                                        К вопросу о «нехорошем поведении». Когда мне первый раз написала HR гугла, я ответил «думаю, вы сможете убить rss reader и без меня» :D
                                                                                          0
                                                                                          1. Я верю, что он не лукавит и технологии позволяют сваять простое, но нужное, на первых этапах карьеры. И по той же причине уверен, что теперь он знает гораздо больше и мог бы пойти в Гугл, если бы не устроился в Apple.
                                                                                          2. Конечно я имел в виду признание, как процесс, а не словесный результат. Один из показателей процесса, кстати, наличие вопросов. С теми, кто не умеет задавать вопросы — тоже приходилось прощаться, увы. Успокаивает, что за 25 лет таких случаев по 2 каждого. Иначе надо было бы увольнять из наставников самого себя и насовсем, а не эти четыре конкретных раза.
                                                                                          3. Но статья, кстати, кроме личного момента (мне скоро предстоит процесс устройства на работу, впервые в жизни), интересует как маркер — многие ли считают, что профессионал должен думать не только об алгоритмах, но и о пользователях
                                                                                            +1
                                                                                            Я лично считаю, что о чем и как думает пользователь, видно по тому, как задаются вопросы при уточнении задачи.

                                                                                            В гугле для этого есть NALSD (Non-Abstract Large Scale Design) шаг, где требуется именно спроектировать решение для задачи. Прекрасно показывает о чем и как думает человек, отталкивается ли от «что делаем» или пытается приткнуть всеми силами «как»
                                                                                              +1
                                                                                              Профессионал в первую очередь должен думать о пользователях и эффективном решении ИХ проблем.
                                                                                              P.S. Табличка над дверью в отдел автоматизации: Мы увеличиваем производительность труда
                                                                                          +1

                                                                                          А в чем собственно проблема? Открыл Кормэна, открыл Сейджвика — посмотрел и сделал. А по структурам данных есть шпаргалка по большим О. Тем более:
                                                                                          А) Как показывает… гхм… личный опыт: Бодрые ответы на собеседовании про алгоритмы и большие О потом никак не коррелируют с их применением. Также тащат не самые оптимальные алгоритмы
                                                                                          Б) Вообще эти асимптотические оценки вычислительной сложности мягко говоря бывают писаны вилами по воде. Те же хэш-таблицы обещают операции за константное время, но как правило в Волшебной Стране Розовых Понни, в реальности же наихудший случай О(n) наступает куда чаще чем хотелось бы.
                                                                                          В) Ну и да. Это все будут разговоры о заезженных алгоритмах, но мне кажется что программистов обычно набирают не для того что бы они переписывали стандартные библиотеки. Мне всегда казалось что программистам платят деньги за новые программы и алгоритмы. Ну вот в моем, например, случае итоговая сложность порядка О(n^6) это еще хорошо и большое достижение — ну вот такой вот мерзкий класс задач, так что разницу между деревьями и хэш-таблицами никто и не заметят (вообще заметят, только многомерные деревья, только хардкор).


                                                                                          А так то да. Знание теории вещь конечно необходимое, но к заучиванию теорминимума это отношение не имеет

                                                                                            +2
                                                                                            Человек должен знать, что такое интеграл, прежде чем его подпускать к решению задачи в мапле. И какие ограничения в его применимости. Иначе потом начинаются вопросы «почему численное решение расходится».

                                                                                            При этом даже знающие могут начать попытки интегрировать по разрывной фукнции.

                                                                                            Просто где знающий _может_ налажать, незнающий _точно_ налажает.
                                                                                              0

                                                                                              Ну я думаю формальное знание интеграла не является достаточным условием спасения от того что решение разойдется.
                                                                                              А самое главное — Вы никак не проверите: Знает он или не знает с помощью листочка и ручки за 15 минут.
                                                                                              Тем более интегралов много, а численных способов еще больше: Чего спрашивать то надо? Я вот и не вспомню формулу Симпсона — она мне просто не нужна, у меня последнее время сплошное Монте-Карло, а формулу трапеций мне кажется практически любой сможет вывести на обывательском уровне.


                                                                                              Ну т.е. глубину Вы никак проверить не сможете, в лучшем случае только по верхам пройтись сможете, но это ничего не гарантирует.


                                                                                              Ну мне кажется, что разрывные функции должны как минимум быть интегрируемыми по Лебегу, даже такие, как функция Дирихле, например, а некоторые из них вполне себе будут интегрируемы по Риману на сегменте. Но вообще IRL все задачи невыпуклые, а все функции разрывные, так что в любом случае будет грустно и все будут лажать :-)

                                                                                                0
                                                                                                Ну так если человек говорит то же самое — явно стоит брать, уже выше среднего понимание :) А если выводит на листочке формулу трапеций на обывательском уровне — то не стоит брать его сейчас, стоит подождать пока созреет.

                                                                                                Ну и важно помнить, что результаты телефонного и скрининга ХРом доступны, так что не стоит думать, что если кандидат заявляет что знает как устроен GCC изнутри, и на телефонном интервью это подтвердил, то на очном его будут просить найти ошибку в сортировке пузырьком.
                                                                                                  +1

                                                                                                  Если честно я уже чего только не видел, особенно на этих многоуровневых собеседованиях. На люки, например, натыкался несколько на точно, при этом я видел в живую треугольные люки :-) Гномы какие-то попадались, просили возвести 2 в 32 степени, мыши какие-то.
                                                                                                  Или например после долгого скрининга по всяким регуляризациям в методах оптимизации или там хитрым вопросам по ML, на следующем этапе всплывали ВНЕЗАПНО например контейнеры C++ или еще какая фигня (например, потому что такое было в нескольких местах, и внезапно потому что… ну потому что внезапно).


                                                                                                  Так шо я даже хз. Я уже перестал понимать логику современного рекрутинга.

                                                                                                    0
                                                                                                    O_o это уже выше моего понимания. Либо замена собеседующего в последнюю минуту без должной подготовки (прощёлк ХРов), либо плохой собеседующий (прощёлк ХРов). В любом случае, это точно выглядит как прощёлк ХРов. Впрочем, все люди — всего лишь люди.
                                                                                                      0

                                                                                                      Это все косяки менеджмента, причем ползучие.
                                                                                                      Например давно-давно был у меня пространный случай: Меня 2 часа опрашивали по книги Рихтера, т.е.
                                                                                                      1) Да реально последовательно перебирали оглавление книги. Зачем? Почему именно Рихтер?
                                                                                                      2)Да. Вообще я шел не на .NET погроммиста. Шел я на того, кого обычно называют Algorithm Engineer. ИМХО тут все же должны быть акцент явно не на вопросы по конкретной технологии, конкретного языка.
                                                                                                      3) Потом уже, я случайно наткнулся на собеседовавшего в LinkedIn: Забавно, но на тот момент это было первое его место работы, причем работал там он меньше года, вообще чувак оказался заметно младше, но уже Сениор, но вскоре ушел, причем он вообще за все это время нигде больше года не задерживался и везде Сениор.


                                                                                                      Вообще это все странно выглядит, вот прям все: Скороспелые сениоры сразу после универа, текучка (ну вот не отпускают просто так ведущих сотрудников), странные собеседования. При этом конторы вообще-то не Рога и Копыта

                                                                                                        0
                                                                                                        эЭЭ… как-то рано на собесы выпустили O_O
                                                                                                        Тот самый случай, который я называю прощёлком ХРов
                                                                                                          0
                                                                                                          Рынок сейчас взрывной в разработке (речь про мобильную)
                                                                                                          Организации рождаются и умирают за 1 год в огромном количестве.
                                                                                                          За год можно выйти на хороший уровень, но начинают многие с джунов и оутсорса, так как не разбираются в предметной области, а только в маркетинге.
                                                                                                          Джун за пол года идет вверх, штат растет, джун переходит в разряд сеньеров и берет на работу более обученных программистов (хотя бы своего уровня). Вот и всё. Нет тут прощелкивания, быстрый рост и то, что ты первый на этом месте.
                                                                                                            0
                                                                                                            Какой @#$//^&* сеньор из джуна за полгода?! А потом эти «сеньоры-помидоры» такое в прод гонят!.. И если не остановить вовремя этот полет мысли, то потом непросто исправить
                                                                                                0

                                                                                                Вообще на тему рекрутинга мериканцы исписали тонны макулатуры в научных журналах.


                                                                                                Я даже по памяти попытаюсь вспомнить, какие методы самые надежные:
                                                                                                1) Тест на IQ или GMA,
                                                                                                2) Тест на лояльность (как бы грустно это не было, но это так)
                                                                                                3) Выполнение практических тестовых задач
                                                                                                4) Структурированное интервью
                                                                                                В общем умение по памяти на литрчке записать алгоритм Дейкстры сюда не входит, хотя его и можно впихнуть в структурированное интервью, вот только корреляция эффективности работы и успешность в прохождении теста на IQ будет все равно выше, а он как известно не требует наличия специальных знаний: Кружочки, квадратики, циферки да буковки.


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


                                                                                                Меня когда напрягают "прособеседовать" — то я принимаю решение исключительно по выполнению тестовых домашних заданий, которые отправляю еще до того как увижу человека вживую. Собственно у нас в конторе это итак основной подход (по крайней мере в моем департаменте).
                                                                                                А спрашивать определение ппроизводной или чем отличается стринг от стирнгбилдера человека с диплом и опытом работы как-то стремно это ИМХО, вроде как не на экзамене в университете/на курсах. Я бы сказал, что даже неэтично.

                                                                                                  0
                                                                                                  Ну вроде как именно поэтому от задач типа «инвертируйте бинарное дерево» и ушли. Я точно не помню чтоб какая бы то ни было из задач что меня спрашивали была сформулирована так топорно; и все знакомые, кто собеседуют, — тоже исходят из вполне практических задач.

                                                                                                  Задача — нащупать границу знаний (максимально быстро выйти за пределы эрудиции) и заставить думать. Причем (что для меня было самым сложным на собесе) — думать вслух. Это позволяет и корректировать быстро мелочи, чтоб не терять время, и усложнять/углублять когда понимаешь, что всё слишком просто.
                                                                                                    +1

                                                                                                    А. Ну да. Есть такой подход. Тут только вопрос как правильно задачки формулировать.


                                                                                                    Вот когда мне представлялась возможность подбирать людей — всегда ходил по пути наименьшего сопротивления — если для погромистов, то это набор задачек на обход графа, кластеризацию или даже преобразование Фурье, которые надо реализовать в задании (дистанционно) где на вход программы подается А, а на выходе получается В, а дальше как хотите — полная свобода действий. Например, достаточно стандартная задача для программиста, который учился именно на программиста: Найти кратчайший путь из точки А в точку В. Ну понятное дело обычно там идут алгоритмы Дейкстры, алгоритм Ли и А*. Но вот присылали, например, реализацию с использование Q-learning или например с возможностью использовать разные метрики: Евклидовое расстояние или манхэтенноское. Ну и да, стиль программирования и оформление кода не менее важен.
                                                                                                    Для не совсем погромистов — ну там другие люди примерно по тому же принципу составляли, собственно я так сам и устраивался: Решал тестовые задачи.


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

                                                                                                      0
                                                                                                      Я сам интроверт. Но интроверт не значит, что человек не общается вообще — он не общается экстенсивно, как экстраверт. То есть нельзя его на ХРа натравливать. Другой технарь интроверт вполне подходит.
                                                                                                    0
                                                                                                    Тест на IQ или GMA,

                                                                                                    А что нового (по сравнению с остальными пунктами) покажет тест на IQ кроме способности решать тесты на IQ?

                                                                                                  0
                                                                                                  Можете рассказать, когда и на каких хеш-таблицах с каким типом адресации происходит частое О(n)?
                                                                                                    0
                                                                                                    На любых хэш-таблицах в худшем случае операция удаления, вставки и поиска занимает O(n) времени — это их фундаментальный недостаток: хэш-функция не гарантирует уникальность ключей, а идеальную хэш-функцию еще пока не придумали, так что в любом случае наступит момент коллизии, и тогда в случае открытой адресации придется тыкаться по всему списку — например, для почти полностью заполненной таблицы, каждое пробирование займет уже вроде чойт порядка 0.63*N + const. Собственно в случае заполненной таблице, например, при вставке нового элемента окажется, что вы вышли за пределы диапазона и придется все перехешировать заново, что вообще-то тоже не дешевая операция. В методе цепочек вставлять Вы конечно будете за O(1+const), вот только поиск и удаление уже потребуют перебора всех элементов цепочки

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

                                                                                                    Ну а собственно, «хорошие» хэш-функции, которые нас должны спасать от коллизий — тоже не бесплатные. Можно, конечно, исхитрятся, разменивая память на скорость, это вот прям целая специалаьная олимпиада: кто напишет самую быструю хэш-таблицу, но в случае если:
                                                                                                    1) время выполнения критично, ну т.е. даже вероятность в 0.001% что случится неприятный момент и операция займет в N раз больше времени уже не канает.
                                                                                                    2) порядок имеет значение
                                                                                                    3) природа, т.е. количество и распределения поступающих данных хз какая и иих еще надо постоянно вставлять/удалять
                                                                                                    то хэш-таблицы использовать неприемлемо, есть куда более замечательные деревья, которые всегда дают O(N*logN).
                                                                                                      0

                                                                                                      Можете привести хоть один пример наступления худшего случая?


                                                                                                      Кроме намеренных DoS-атак через хеш-коллизии, про них я уже слышал, как и про то как от них защищаться.


                                                                                                      И кроме заведомо плохих хеш-функция вида "поксорим все поля".

                                                                                                        0

                                                                                                        Выше целый класс задач указан где хэш-таблицы в принципе себя плохо чувствуют, могу повториться: а) Любые приложения работающие в реальном времени, б) если и количестве информации ничего не известно наперед и требуется неограниченная масштабируемость.
                                                                                                        Вы же сами один из примеров и привели. А знайте как дэдосят, например, абоненты сотовой связи — уууу, это их нормальный режим работы.
                                                                                                        Или например, для collision detected в физическом движке какого-нибудь несчастного платформера будут использоваться именно деревья, но можете извратиться и попробовать обойтись хэш-таблицами. В QTCustomPlot тоже используются для хранения именно красно-черные деревья (хотя для таких задач еще и порядок будет иметь значение, но не всегда), а у компонент от Dundas (эти занимаются Business Intelligence) во всю используются те же деревья и skip list. Интересно, почему?


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

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

                                                                                                          Все еще жду конкретных проблем хеш-таблиц, а не общих слов и ссылок на авторитеты.
                                                                                                            –1

                                                                                                            Вообще-то нет, можно и без упорядоченного набора обойтись, просто вы наверное никогда не слышали про Spatial hashing — это кстати куда тривиальнее чем работать с деревьями.
                                                                                                            Проблемы хэш-таблиц вроде бы уже передавали. Куда уж конкретнее? Хотите увидеть вживую — попадете к нам, подпишете NDA и увидите.

                                                                                                  0

                                                                                                  И да. Гугловские проекты явно не пример вылизанного и максимально оптимизированного кода. Про Хром тут уже в принципе отписались.

                                                                                                    0
                                                                                                    1) Человек неглупый и в состоянии освоить алгоритмику в процессе производства. Почему считается зазорным доучивать?
                                                                                                    2) Откуда уверенность, что он с командой не сработается?
                                                                                                      +2
                                                                                                      если ты без понимания базы

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

                                                                                                      Но как бы вы посмотрели на меня, если бы на собеседовании на позицию обычного разработчика я бы стал у вас спрашивать вопросы по циклу Кребса, попросил рассказать теорему Тевенина или объяснить разницу между ReplicationController и Deployment в Kubernetes?
                                                                                                        0

                                                                                                        Так же нормально, как я ожидаю понимания что такое "счёт" от разработчика, который должен работать с финучетом.

                                                                                                          0
                                                                                                          Нормально, но только в качестве небольшого бонуса за знание предметной области.
                                                                                                          Потому что поиск человека, сильного и в предметной области, и в разработке очень сильно уменьшает пул кандидатов. Либо при прежнем размере пула катастрофически снижает требования к каждой области знаний. Видимо, Гугл может себе такое позволить.
                                                                                                        0
                                                                                                        >> Я не HR и не провожу собеседования, но если мне вдруг станет не лень и начну их проводить — это точно будет поводом оценить кандидата как не дотягивающего до требуемого уровня.

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

                                                                                                        Гугл, как работодатель, может нанимать кого-угодно.
                                                                                                          +1
                                                                                                          Да. Именно поэтому и появляются статьи-напоминания «не делайте как гугл, вы не гугл». И именно поэтому не надо рассказывать должен ли гугл вас нанять — это не вам решать, а гуглу.

                                                                                                          Но устроить холивар же можно!
                                                                                                          0
                                                                                                          А в масштабах гугла, использование O(n2) вместо O(n*log(n)) очень и очень быстро выливается огромные затраты. Несоизмеримо большие, нежели зарплата одного программиста.

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


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


                                                                                                          Но именно и поэтому налететь на косяк стоимостью в годовой доход и программисту и админу очень легко. И не только в Гугле

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

                                                                                                      эх промазал, это ответ в ветку выше

                                                                                                        0
                                                                                                        Если у авто повело силовые балки, а этого не видно снаружи, я всё равно предпочту такое авто не брать. :)
                                                                                                          +3

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

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

                                                                                                            Можно же пройти собеседование еще раз, теперь уже успешно, в чем проблема-то :)
                                                                                                            Учиться всё равно надо всю жизнь, иначе загниёшь и устареешь…
                                                                                                              +4
                                                                                                              Это «мальчик шутит». На самом деле чувак крут тем, что умеет делать не просто user friendly продукты, а продукты, которые care about user. Google ничего такого давно не делает, очевидные баги не фиксятся годами, пользователь все сильнее загоняется в стойло кривоватой инфраструктуры. В таких условиях нужны не креативные программисты, а послушные кодеры. Кого гугл и набирает вполне успешно.
                                                                                                                –2
                                                                                                                (Перехожу в пограничный режим) Я работаю как SRE у BigQuery. И точно могу сказать — мы делаем то, что надо пользователям, и так, чтоб им было удобно. Многие вещи планируются и реализуются так, что юзеры говорят «а что, так тоже можно было? супер! это то, что мы и хотели!».
                                                                                                                Поэтому сложно сказать «давно ничего не делает», так как точно — делает.

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

                                                                                                                Известно же, что простые решения — очень просты, но с масштабом рост стоимости поддержки тоже большой. Вообще, стоимость от масштаба (q) — X+A*q. У простых решений X малюсенький, а A значительнный но не убойно.
                                                                                                                В какой-то момент проще выкинуть и написать новое, с учетом масштаба — стоимость такого решения большая, но стоимость поддержки ниже. При этом X уже большой, но A значительно (на порядки зачастую) ниже. Это становится выгодно только по достижении некой точки размера. С некоего размера приходится делать еще более сложную систему, где X еще больше, но в сумме это выгодно. Даже с учетом переделки — выгодно.

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

                                                                                                                Для себя я понял пользу protobuf только в гугле. До гугла примерялся много раз, и каждый раз отказывался именно из-за огромной стоимости входа. Банальный json (позже bson) обошелся дешевле, даже с учетом граблей, от которых уберёг был протобаф.

                                                                                                                И да, послушных кодеров я вообще не видел. У всех есть своё мнение, и делают то, что надо, а не то, что сказали. Разумеется, возможно это только у нас рай и оазис такой, но почему-то другие не попадались.
                                                                                                                  +1
                                                                                                                  Давайте не будем про big data — вот я купил новый автомобиль, с android auto.
                                                                                                                  Мало того, что гугл насильно отобрал у меня возможность использовать удобный для меня софт, так еще и не дает разработчикам API, чтобы переписать его, если он не подходит под какие-то гугловые требования. Или он насильно заставляет меня использовать только свой обрезанный софт?

                                                                                                                  При этом в самом гугле навигация без интернет не работает — это получается, что у меня online only автомобиль? А если я выезжаю в регионы, где очень плохо с покрытием — весь android auto превращается в тыкву?

                                                                                                                  Скажите, что это за (*#*@?
                                                                                                                    –1
                                                                                                                    Так, а что такое android auto? Что я вижу — интерфейс на магинтолу, так?

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

                                                                                                                    В последних машинах арендованых видел штук 6 разных оболочек, понятия не имею как работают, но только по сути в Mini Clubman было что-то действительно удобное, и что реально работало.

                                                                                                                    По описанию с www.android.com/auto — это просто удобный доступ к дефолтным приложениям на телеофне через магнитолу. Да, не 100% покрытие нужд всех людей, но городские мегаполисы точно покрыты. Мне было бы крайне удобно — я, несмотря на магнитолу, часто телефон держу с гуглокартами на держателе где-нибудь.

                                                                                                                    Со стороны мне это выглядит как MVP, причем где M это уже medium :D
                                                                                                                    Развивать есть куда.

                                                                                                                    А вот это подсказывает, что вообще API есть, и свои приложения вполне можно делать:
                                                                                                                    developer.android.com/training/auto/index.html

                                                                                                                    Какой софт вы хотите переписать?
                                                                                                                      +1
                                                                                                                      На WinCE как раз в большинстве устройств есть выход в shell, что позволяется запустить софт. В android auto гугл впринципе оторвал возможность запуска какого-то софта, который не прошел гугловый approval. При этом большинству разработчиков было просто отказано в получении API (а по навигации — вообще всем).

                                                                                                                      Вот читайте по ссылке:
                                                                                                                      www.sygic.com/blog/2016/sygic-car-navigation-for-android-auto-and-apple-car-play

                                                                                                                      Google Maps — это совершенно ужасная программа для навигации, там нет базовых функций (от полноценного offline до предупреждения о скоростных ограничениях). Гугл заставил полтора года (!) меня ждать, пока, наконец, появится waze (в жуткой альфа), но это опять таки — online only программа.
                                                                                                                      В Москве то она не удобна, а в российской глухомани — так и вообще бесполезна.

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

                                                                                                                        Ну я не патриотичен — по новосибирску и сибири я ездил на навителе и яндексе, а не гугле в любом случае :)

                                                                                                                        Покурил форумы и факи, это реально какой-то прощёлк мощный. Странно, если честно. После праздников пойду поищу и внутри побампаю фичреквесты на нормальный оффлайн.

                                                                                                                        Но спасибо, учту. Если попадётся с AA в ближайшее время машина — даже не буду тратить время на соединение.
                                                                                                                          0
                                                                                                                          Google Maps — это совершенно ужасная программа для навигации, там нет базовых функций (от полноценного offline
                                                                                                                          Это неправда
                                                                                                                          image
                                                                                                                          Плюс, нужную область можно всегда скачать для оффлайна. Будет работать и поиск, и навигация (только не пешком).
                                                                                                                            0
                                                                                                                            Голосовой поиск вроде не работает при этом. А в случае Android Auto, судя по репортам и воркэраундам, что народ нашел — это и есть блокер. Народ на форумах пишет — скачиваешь оффлайн в гуглокартах, прокладываешь маршрут, включаешь AA — он подхватывает оффлайн карту и цель, и спокойно ведёт (и спокойно обновляет если надо маршрут в том числе).
                                                                                                                            А вот поиск через AA интерфейс — не работает.

                                                                                                                            Через энное место, в общем, что даёт надежду на скорую доделку. Но я пока поостерегусь пользоваться.
                                                                                                                              +1
                                                                                                                              Вот я еду из Москвы в Испанию. Жду предложений, как скачать Европу offline. При этом я еду не по единственному конкретному маршруту, конечно же.
                                                                                                                                0
                                                                                                                                на маршрут цюрих-прага и обратно я скачивал пачку разных областей по дороге. то еще удовольствие :/

                                                                                                                                а на цюрих-мюнхен я накачал оффлайн карт, и всё равно заблудился :DDD выбирался по запаху и указателям.

                                                                                                                                с тех пор, впрочем, обзавёлся турсимкой с дешёвым тарифом и проблемы пропали. наличие онлайна имеет слишком много плюсов, чтоб искуственно себя ограничивать там, где связь фактически всё таки есть.
                                                                                                                                  0
                                                                                                                                  Много где связь есть в виде 2G only, причем Вы говорите только про Европу, а ведь есть еще и остальной мир.
                                                                                                                                  О чем речь, если на трассе Москва-Рига есть области вообще без покрытия.

                                                                                                                                  При этом я прекрасно езжу с offline картами (тот же Sygic, впрочем есть и Навител и вообще растровые карты для глухих мест). Но гугл решил, что мне нужно пострадать, ради его, гугла, прибылей, заодно он, пользуясь монопольным положением — запретил доступ в android auto для всех разработчиков навигации.

                                                                                                                                  Скажите, как после этого я должен относиться к гуглу? Или мне нужно не ездить туда, где нет онлайн?!
                                                                                                                                  Online only car — это худший кошмар, какой я мог только представить.
                                                                                                                                    0
                                                                                                                                    То, что я вижу сейчас — гугл решил сделать продукт с определёнными свойствами по юзабилити.
                                                                                                                                    Не просто удалённый экран (коих ВиМТ), а конкретный продукт.

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

                                                                                                                                    Логично, что первые версии будут сфокусированы на том, чтобы обеспечить наилучший UX для них. Когда элп выпускала телефон даже без 3G — что-то адроидофоновладельцы над ними смеялись, но телефоны вполне успешно продавались и были популярны.

                                                                                                                                    Так и тут. 3G появится, и оффлайн навигация появится нормальная. Гугл не «решил сделать онлайн-онли», гугл _пока_ реализовал только «онлайн-онли».
                                                                                                                                      0
                                                                                                                                      Когда элп выпускала телефон даже без 3G — что-то адроидофоновладельцы над ними смеялись
                                                                                                                                      Андроидовладельцы над ними не смеялись ибо их тогда не было ещё. Смеялись владельцы телефонов на Symbian'е, Windows Mobile и прочих всяких Blackberry.

                                                                                                                                      Ну и где они теперь?
                                                                                                                                        0
                                                                                                                                        Андроидовладельцы над ними не смеялись ибо их тогда не было ещё. Смеялись владельцы телефонов на Symbian'е, Windows Mobile и прочих всяких Blackberry.

                                                                                                                                        Ну и где они теперь?

                                                                                                                                        В небытии, куда их запихнул-таки андроид, а не яблоко.
                                                                                                                                        0
                                                                                                                                        В России от него идет исключительно негатив. Баг с пропаданием переключателя языков на экранной клавиатуре — это был, конечно, жестокий удар… Или это не баг, а фича? Ответа нет до сих пор…

                                                                                                                                        Гугл совместно с производителями авто выпустил online only автомобиль.
                                                                                                                                        Про это нужно кричать на каждом углу — «думайте заранее, что покупаете!». Ибо никаких сроков от гугла нет. А учитывая, сколько они обещали waze (свой же продукт) — можно предположить, что речь идет о сроках в много лет, явно большим, чем многие пользуются новым автомобилем.
                                                                                                                                        0
                                                                                                                                        К слову, удивлён, что пока никто не выпустил в качестве медиакнопки или чего-нибудь такого (доступного для android car) — ремотдесктопа до произвольного приложения на телефоне. Как раз покрыло бы потребность «запустить что угодно на телефоне и управлять с экрана авто»…
                                                                                                                                          0
                                                                                                                                          Ничего такого для android auto нет, потому что нет API. Разрешено выпускать только проигрыватели музыки и messaging apps.
                                                                                                                                          Причем google даже не обещает, что это появится.
                                                                                                                                            0
                                                                                                                                            Прекрасно! чем не messaging app? :D
                                                                                                                                              0
                                                                                                                                              Тем, что гугл так не считает. Эскалируете? :)
                                                                                                                                                0
                                                                                                                                                В обязательном порядке.
                                                                                                                                              0
                                                                                                                                              Причем google даже не обещает, что это появится.
                                                                                                                                              Гугл вообще в принципе мало когда мало что обещает. Ибо планы могут поменяться, а обещания потом будут припоминать годами.

                                                                                                                                              Только в исключительных случаях, когда это считается очень важным.
                                                                                                                                                0
                                                                                                                                                Waze обещал, давно и регулярно. Результат ужасен.
                                                                                                                                                  0
                                                                                                                                                  В каком месте? Мне кажется, что тут та же самая ситуация, что и с выходом первого iPhone, который резко и категорически отказался от WAP.

                                                                                                                                                  Тогда тоже предсказания разнились от «этим никто пользоваться не будет» до «мобильные сети лягут, не выдержав нагрузки».

                                                                                                                                                  Прошло 10 лет — и никого больше не удивляет что смартфон просто-напросто требует подключения к сети, в противном случае становясь практически неработоспособным.

                                                                                                                                                  Я думаю тут та же самая ситуация: Гугл вполне сознательно не хочет делать жизнь легче для тех, кто хочет избежать подключения автомобиля к сети.

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

                                                                                                                                                  Шаг достаточно рискованный, но мне кажется время действительно пришло.
                                                                                                                                                    0
                                                                                                                                                    Не совсем понятно, какова связь между WAP и google lock?
                                                                                                                                                    Google lock — то когда ты завязан на одного вендора. А wap/html — это не vendor lock никоим образов.

                                                                                                                                                    Собственно я никогда и не страдал особо по WAP сайтам, хотя в интернет с телефона хожу с 2003 года.

                                                                                                                                                    Гугл просто нужно нагибать по антимонопольной статье через ЕС и все будет хорошо. Процесс уже пошел.
                                                                                                                                        0
                                                                                                                                        А чё не из Лиссабона в Гуанчжоу, чтобы уж наверняка пример сработал?
                                                                                                                                        Вы в один присест собрались за 36 часов 3600 километров проехать? И по пути ни одного вай-фая? И туристической симки нет? И заранее маршрут не прокладывали? В общем, надуманная проблема.
                                                                                                                                          +1
                                                                                                                                          Потому что я регулярно езжу в Европу на машине. Ну не нравится Европа — давайте маршрут из Москвы в Тбилиси.

                                                                                                                                          Заранее маршрут, конечно же, не прокладывается — ведь цель не просто доехать, но и получить fun — т.е. поездить по окрестностям, отклониться от маршрута, не на работе же.

                                                                                                                                          До появления android auto — я просто заливал в китайский навигатор offline карты и спокойно ехал, не думая о том, что мне срочно нужен online для того, чтобы просто доехать до нужного места. При этом навигатор пиликал мне, когда я превышал разрешенную скорость, предупреждал о камерах, имел всегда доступную базу по ближайшим заправкам (offline).

                                                                                                                                          А теперь я всего этого лишен, потому что для кого-то ездить от wifi до wifi — нормальная ситуация. Про туристические сим-карты в местах без покрытия я вообще молчу. Раньше прекрасно ездили по растровым картам, но гугл решил, что человек без интернета — неполноценен…
                                                                                                                                            –1
                                                                                                                                            навигатор пиликал мне, когда я превышал разрешенную скорость, предупреждал о камерах, имел всегда доступную базу по ближайшим заправкам (offline).
                                                                                                                                            То есть, вы на знаки не смотрите? И если камеры нет, то несётесь? И круиз-контроль/ограничение скорости не включаете?
                                                                                                                                              +1
                                                                                                                                              Т.е. я обязан все делать сам, а если мне помогает программа — то это все, катастрофа?
                                                                                                                                              Если я упустил внезапно появившийся за деревьями знак (кто ездил по России — то знает) — и все, получай штраф?

                                                                                                                                              Самое главное — без гугла все работает именно так. Гугл считает, что мне это не нужно. Вот такие гении там работают.
                                                                                                                                              0
                                                                                                                                              До появления android auto — я просто заливал в китайский навигатор

                                                                                                                                              А после появления android auto все навигаторы превратились в тыкву?
                                                                                                                                                0
                                                                                                                                                Расскажите, как я могу выкинуть из своей машины головное устройство с android auto? Сразу скажу ответ — никак.
                                                                                                                                                Зачем мне платить за обрезанный огрызок от гугла? Следующий автомобиль будет без него.
                                                                                                                                                  0
                                                                                                                                                  Ещё раз- что вам мешает использовать китайское устройство и просто не включать эту функцию головного устройства?
                                                                                                                                                    0
                                                                                                                                                    Потому что устройство настолько сильно интегрировано в автомобиль, что заменить его китайским не получается. А отдельное устройство — это колхоз и неудобство.
                                                                                                                                                      0
                                                                                                                                                      А раньше, без Гугла — всё было интегрировано, да?

                                                                                                                                                      Вы уж врите, но не завирайтесь. Ни на одной машине, нигде и никогда я не видел встроенных навигаторов, позволявших в них что-то, что производитель не предусмотрел, заливать. Хоть 20 лет назад, хоть 10, хоть сейчас.

                                                                                                                                                      То, что производители автомобилей решили подписать договор и выпустить «новое поколение» не на основе TomTom'а, а на основе Google Maps — может быть и их ошибка, но Гугл тут причём? Это был выбор производителей авто.
                                                                                                                                                        +1
                                                                                                                                                        Раньше, до гугла — был, к примеру, mirrorlink (да и сейчас есть).
                                                                                                                                                        Вам бы не во вранье меня обвинять, а немного кругозор расширить. Тем более, что я не помню ни одной online only системы навигации ни в одном автомобиле.

                                                                                                                                                        Что касается гугла — сейчас ограничения зависят напрямую от него, а вовсе не от производителей авто. Но т.к. он давно превратился в корпорацию зла, то надежды нет.
                                                                                                                                                        0
                                                                                                                                                        А отдельное устройство — это колхоз и неудобство.

                                                                                                                                                        Но ведь это встроенное неудобно. Или всё же удобно, раз вы терпите эти огрехи?
                                                                                                                                                          0
                                                                                                                                                          Почему терплю? Авто продаю после новогодних праздников.
                                                                                                                                                          Тем более в семье две машины и отъездив на второй какое-то время понял, что возвращаться на android auto я не хочу совсем.
                                                                                                                                                      0
                                                                                                                                                      Просто поищите машину с поддержкой MirrorLink.
                                                                                                                                                        +1
                                                                                                                                                        да, ее и собираюсь покупать.
                                                                                                                                                          –1
                                                                                                                                                          А как же мешающий гугл?
                                                                                                                                                            +1
                                                                                                                                                            Mirrorlink позволяет запускать практически любой софт, а не тот, что разрешил гугл.
                                                                                                                                                              –1
                                                                                                                                                              Но ведь гугл вам мешал, а теперь оказывается, что нет. Я уж думал вас насильно заставляют использовать софт от гугла, а оказывается, вы просто брюзжали на свой неверный выбор.
                                                                                                                                                                +1
                                                                                                                                                                Мешал гугл, ограничивая мой выбор. Чтобы отказаться от гугла — мне требовался mirrorlink, чтобы я мог использовать что-то кроме стандартного гуглового софта.
                                                                                                                                                                Раньше я никогда не думал, что буду выбирать автомобиль по главному критерию — отсутствию google lock.
                                                                                                                                                                Теперь знаю, что это именно то, что мне нужно.
                                                                                                                                                                  –1
                                                                                                                                                                  Мешал гугл, ограничивая мой выбор.

                                                                                                                                                                  Заставлял покупать гугл, а теперь давление снято?
                                                                                                                                                                  Теперь знаю, что это именно то, что мне нужно.

                                                                                                                                                                  Почему я это понял безо всяких сложных изысканий с покупкой такой достаточно дорогой вещи, как авто, и не имею даже учётки в нём?
                                                                                                                                                                    +1
                                                                                                                                                                    Что значит — заставлял? Я купил машину в топовой, на тот момент, комплектации — с android auto. Мне лично было не понятно до конца — будет ли google lock или нет. Оказалось — будет по полной программе.

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

                                                                                                                                                                    Причем тут Вы — мне вообще не понятно.
                                                                                                                                                                      0
                                                                                                                                                                      Мне лично было не понятно до конца — будет ли google lock или нет.

                                                                                                                                                                      Погуглить, поспрашивать?
                                                                                                                                                                      Я тут притом, что я гуглю и спрашиваю, а не жалуюсь на неподходящие мне вещи.
                                                                                                                                                                        0
                                                                                                                                                                        В 2016 году google не говорил, что будет google lock.
                                                                                                                                                                        Спрашивать было не у кого — по понятным причинам.
                                                                                                                                                                        Разумеется, с послезнанием легко изображать из себя умного.
                                                                                                                                              –1
                                                                                                                                              Голосовой поиск вроде не работает при этом
                                                                                                                                              А у гугла хоть что-то голосовое в офлайне работает? Я не знаю, не пользовался.
                                                                                                                                              А навигацией с Google Maps и My Maps пользуюсь лет 5 уже по всему миру. Даже когда офлайна там ещё не было — прокладываешь маршрут, а потом интернет уже не нужен.
                                                                                                                                                +1
                                                                                                                                                Удивительное дело, но я уже лет 15 пользуюсь offline навигаторами и не очень понимаю, почему я должен отказываться от удобного сервиса. Потому что в гугл берут сотрудников, которые не думают про удобство пользователей?
                                                                                                                                                  +1
                                                                                                                                                  уже лет 15 пользуюсь offline навигаторами и не очень понимаю, почему я должен отказываться от удобного сервиса
                                                                                                                                                  Не понял. Заставляет кто-то?
                                                                                                                                                    +1
                                                                                                                                                    Да, гугл заставляет меня пользоваться в android auto только одной программой (в перспективе двумя — еще waze, она тоже online only).
                                                                                                                                                    Поняли?
                                                                                                                                                      0
                                                                                                                                                      Поняли?
                                                                                                                                                      Нет, не поняли. Вы так говорите, как будто вы можете взять какой-нибудь BMW 2010го года выпуска или Тойоту 2012го, залить в их встроенный навигатор свою прошивку (ничего не взламывая и не перепаивая) и спокойно ездить. А Гугл вас этой возможности лишил.

                                                                                                                                                      Ну, можете так и было, я не большой спец по всроенным автогавигаторам.

                                                                                                                                                      Не подскажите пяток моделей с подобной возможностью?
                                                                                                                                                        0
                                                                                                                                                        Первый попавшийся список:

                                                                                                                                                        image
                                                                                                                                                          0
                                                                                                                                                          Ну и куча c mirrorlink — конкретные модели сами найдете, но там прошивку не сменить, другой метод.
                                                                                                                                                    0
                                                                                                                                                    А у гугла хоть что-то голосовое в офлайне работает?

                                                                                                                                                    Набор текста, по крайней мере на 4.1 после плясок с бубном.
                                                                                                                                                  +1
                                                                                                                                                  Нельзя нужную область скачать для оффлайн — Вы сами пробовали это для более-менее крупных областей? Например я хочу скачать оффлайн карту всей Грузии. Попробуйте? :)))
                                                                                                                                                    0
                                                                                                                                                    Нельзя нужную область скачать для оффлайн
                                                                                                                                                    Кому нужную? Мне? Можно, постоянно так делаю.
                                                                                                                                                    Вы сами пробовали это для более-менее крупных областей?
                                                                                                                                                    Сто раз. Регионы, типа Каталонии туда целиком влазят со всеми городами и городишками. Можно и всю страну скачать в несколько приёмов.
                                                                                                                                                    Например я хочу скачать оффлайн карту всей Грузии. Попробуйте? :)))
                                                                                                                                                    90% Грузии влазит в одну область для скачивания. Так что ВСЯ Грузия влезет в две области. Месяц назад я так и скачал её (опять же — на всякий случай, у меня давно международная симка с местными тарифами в каждой стране). Накачать можно сколько угодно областей. Вы ведь не пытались разобраться с приложение дольше пары минут, год назад да?
                                                                                                                                                    Опять же — вы такой продвинутый, постоянно по европам ездите, а интернет вам там в поездках не нужен ни для чего, получается?