Фронтэнд такая же инженерная специальность, как и другие. Почему-то C++ или java инженеры не стесняются знать модель памяти x86 процессора и сложность основных алгоритмов, а фронты за 5 лет ни разу не открывают MDN чтобы понять в каком порядке приходят асинхронные коллбэки.
Если кандидат не знает теорию, но код пишет, то вовсе не очевидно, что код он пишет правильно, наилучшим образом, и при этом понимает что именно он пишет. Нормальное знание синтаксиса и внутренней логики фреймворка позволяет отлаживать сложные баги, и иногда залезать в исходники самого фреймворка чтобы разобраться что происходит.
Нет, неправильно. Приведенная форма это просто конспект интервью, нет такого критерия, что должны быть отвечены все вопросы. Тем не менее, человек который не владеет bind/call/apply, не знает каррирование и не понимает как работает event loop имеет хорошие шансы получить отказ.
Последний раз повторяю. Посмотри например сюда: hg.openjdk.java.net/jdk8/jdk8/jdk/file/tip/src/share/classes/java/math/BigInteger.java
Метод public BigInteger multiply(BigInteger val) вызывает аж 3 реализации, в зависимости от длины чисел (все 3 способа описаны в статье). Кроме того хранятся не десятичные цифры, а сразу int32 (а к десятичной системе можно привести при печати).
Если всё так как ты описал — часть сложности перенесена в железо. Т.е. вместо линейного количества времени тебе нужно линейную площадь кристалла. Это всё равно не позволяет выйти за границу асимптотической оценки. Попробуй представить умножение двух чисел длиной в гигабайт.
В статье описывались асимптоты алгоритма умножения, а скорость выполнения процессорных инструкций входит в константу при них. Очевидно, что если нужно умножить два числа в миллиарды знаков (байт, слов), то скорость будет зависеть как раз от экспоненты.
Деление в худшем случае можно переписать как умножение и двоичный поиск, соответственно худшая оценка для деления теперь — n*logn*logn.
Это нисколько не дорого, это стратегический проект, как дороги. Удивляет, что государство легко выкидывает сотни миллиардов на всякие роскомнадзоры и яровые, пока люди сидят без котиков.
открытие TCP-сессии требует 2 раза по пингу, еще один раз это DNS запрос, итого открытие любого сайта это 1800мс только для старта. (а там еще и стили, скрипты, контент, картинки...)
Самое прямое. Фраза «самое маленькое число, для обозначения которого недостаточно восьмидесяти букв» тоже не обозначает число, согласно приведенных в статье рассуждений.
Очевидно, не каждая последовательность букв обозначает число. Например — «Самое Большое Простое Число». Так что в парадоксе нет ничего парадоксального.
Нетрудно заметить, что приведенный алгоритм из второй части статьи рано или поздно найдет сам себя, таким образом он эквивалентен тому что используется в доказательстве «проблемы останова».
Данные совершенно не релевантные, диалоги непонятные (особенно ребенку).
Автообновления конечно же включены везде.
hg.openjdk.java.net/jdk8/jdk8/jdk/file/tip/src/share/classes/java/math/BigInteger.java
Метод public BigInteger multiply(BigInteger val) вызывает аж 3 реализации, в зависимости от длины чисел (все 3 способа описаны в статье). Кроме того хранятся не десятичные цифры, а сразу int32 (а к десятичной системе можно привести при печати).
Деление в худшем случае можно переписать как умножение и двоичный поиск, соответственно худшая оценка для деления теперь — n*logn*logn.
Dial up я застал, тогда сайты были немного проще и легче.
Нетрудно заметить, что приведенный алгоритм из второй части статьи рано или поздно найдет сам себя, таким образом он эквивалентен тому что используется в доказательстве «проблемы останова».
Отлично, везде одно и то же.
Радиозавод?