По моему многие просто неправильно понимают суть собеседования в яндекс. С чего-то им кажется что их туда набирают чтобы в дружном коллективе решать интересные задачи с помощью нестандартных подходов. Что будут какие-то глобальные задачи, где надо будет используя опыт предыдущих работ выдумывать интересную архитектуру которая способна справиться с этой задачей. Но эти должности в любой крупной компании уже давно заняты уважаемыми хорошо зарекомендовавшими себя людьми. Совсем не новичками со стороны. А новых сотрудников набирают сидеть и копать от забора и до обеда. Ну вернее сидеть и херачить то, что как раз те самые уважаемые люди придумают за вас. Никому не нужно ваше знание async/await или опыт предыдущих проектов, от вас как раз требуется прочитать что требудется выполнить в конкретной небольшой задаче, где уже всё будет написано что использовать и как «корпортаивно» писать за вас, и нахерачить максимально непротиворечивым способом чтобы это было лекго покрыть тестами. Чем меньше будет творчества в этом, тем лучше — тем стабильней будет решение.
И вот тут как раз со стороны яндекса это именно то, что они от вас хотят — чтобы кандидат мог стабильно сидеть и кодить что сказали, без фигни. А то если каждый будет выдумывать как ему и что делать, каждый подтянет свои любимые библиотеки в проект — любой проект на дно пойдёт.
Так что может это вам было не интересно, а яндекс-то как раз проверяет всё как надо яндексу.
Много комментариев, возможно кто-то написал уже, но я вначале тоже был возмущён этой обдираловкой (Германия), особенно с учётом того что телевизор почти не смотрю. Но довольно быстро стало понятно на что идут эти деньги. Невооружённым взглядом видно что в телеэфире исчезающе мало рекламы. Особенно это хорошо заметно на контрасте с тем как приезжаешь навещать родителей, когда любой российский эфир каждые пять минут взрывается такое впечатление на 10 минут всякими полезными рассказами о том что нужно срочно купить с песнями, плясками и весёлыми сценками. Немецкое телевидение в этом плане намного более лояльно к зрителю, здесь довольно часто и целый фильм можно без единой рекламной вставки посмотреть, и между передачами никакой рекламы не бывает довольно часто. И вообще телевидение из-за этого выглядит более «спокойным».
У меня такая же фигня от природы — один глаз дальнозоркий, второй близорукий. Всё подтверждаю, действительно мозг отлично справляется со стереоскопичностью картинки даже если чётко видит только один глаз. Вблизи опорный один глаз, вдали опорный другой, понять каким глазом ты смотришь можно только глубоко сконцентрировавшись именно на этом. Не испытывал никаких проблем со зрением лет до 35-ти, потом уже когда стало подсаживаться само по себе, ну там уставать глаза, краснеть, слезиться, вдруг оказалось что глаза разные при проверке. И действительно если закрываю один рукой — все расплывается вблизи, если другой — вдали.
именно так оно выглядит, если у человека масштаб не 100%. есть такая проблема у движков браузеров, масштабирования и округления. если элементы собраны из нескольких тайлов, при масштабировании рандомно становятся видны артефакты математики с округлением. проблема не такая редкая, как может показаться, например огромное количество людей в современном мире работает за 2к мониторами с масштабом 120% в браузере и сайты сделаные с такой наивной идеей о том что элементы можно собрать из тайлов выглядят именно так. не знаю почему об этом ещё никто не сказал. браузеры во многом сейчас рассчитаны на то что элементы будут спрайтами с композицией (один элемент — один спрайт и они все могут быть наложены друг на друга и залезать друг на друга).
Сделали так же с разницей в том что наши клиенты грузились по PXE по сети, в них не было дисков вообще. Один образ не всех, tmpfs под каталог пользователя на старте. Но написать я хотел не про это. Написать я хотел про то, что делал я колл-центр, в котором компьютеры просто «стояли» если за ними не сидели операторы. То есть стояла такая себе комната в 40 всегда включённых станций и сменные операторы приходили-уходили, иногда их было 10 (ночью) иногда 40. Так вот «вечный» рдп, переподключающийся к логину после тайм-аута без ввода пользователя-пароля (каждую минуту) с сорока компьютеров клал сервер за два дня. у ссаной винды просто вытекала память от бесконечных подключений к логину по сорок раз в минуту. слов приличных нет это охарактеризовать. пришлось сделать бинарник показывающий .bmp на весь экран и выходящий по нажатию любой кнопки, и сунуть его в тот же цикл что и xfreerdp, перед ним. получилось даже корпоративненько, если на .bmp влепить лого организации.
нещадно плюсую. на самом деле «удаляторы» не очень нужны для мака. в нем приложения самодостаточные папки, почти всегда достаточно удалить папку с приложением чтобы грохнуть его полностью. в последних ОС вообще зачастую достаточно иконку в мусор кинуть и приложение будет удалено.
максимум у самых хитросделаных приложений будут те самые LaunchDaemons/LaunchAgents еще, но они без самого приложения безвредны, да и автор судя по тексту сам знает где они лежат.
чота прохладная история какая-то, я обновил и компьютер свой и макбук и везде anyconnect работает нормально. да, показывает перечеркнутый круг на иконке и предупреждает что программа эта фуфло при запуске, но работает. да я прям щас через него сижу!
А самые огненные вещи, которые меня всегда поражают, это пункты которые давно превратились в нечто вроде карго культа и кочуют из инструкции в инструкцию как какие-то заклинания.
Например «Виртуализация в BIOS`e должна быть отключена.» это заклинание времен Sierra когда с этим были проблемы, железо эппл было еще без технологии виртуализации, а большинство процов уже с. Но с тех пор эппл давным давно уже на современных процессорах и vt-d и vt-x выключены везде и работают прекрасно. Мало того без них не работает нативная виртуализация макос (например будут проблемы с докером). Но нет, этот пункт передается как сакральное знание, странно что еще не включили пункт плюнуть три раза через левое плечо.
«При установке систем 10.13, 10.14, 10.15 обязателен драйвер apfs.efi в папке Drivers64UEFI.» такая же шляпа, но поновее. У загрузчика Clover были проблемы прочитать apfs партиции на заре 10.14, но с тех пор его обновили и с этим давно нет проблем.
«Ошибка, с которой я столкнулся, заключается в следующем: при самой установке хака на жесткий диск система зависает, когда остается несколько минут до завершения. Я долго с этим мучился, пока не попробовал использовать более старую версию Clover.» — скорее всего проблема в биосе и каком-то его параметре. Старый Clover просто игнорирует эти параметры и грузится, а в новом они корректно передаются в систему и там вызывают панику. Какой-нибудь «RTC Advanced» или что-то типа того. Надо смотреть конкретно в каждом случае на каждую мать и читать на форуме.
«WhateverGreen» — костыль, сборник всяких хаков и опций для Clover и параметров, это практически даже не бинарный kext, просто куча всяких опций и параметров. Со временем большая часть их действительно влияющая на загрузку была адаптирована в Clover и он реально больше не нужен, если покупать железо из мануала с tonymacs86, хорошо совместимое с macos. Вероятно конечно этот аддон пригодится если брать какой-нибудь экзотический процессор типа i9 с какой-нибудь графикой которая чуть более прогрессивная чем та о которой знает Apple. Но и то при должном упорстве можно найти какую именно опцию включает этот kext и поставить самому.
Теперь осталось загуглить что такое HiDPI и дописать статью.
В кратце — эппл давно столкнулась с проблемой что все очень мелкое на тех разрешениях что они стали использовать с выходом retina (10 лет назад, на минуточку), и ввели HiDPI режимы. Это когда весь интерфейс рендерится в два (или даже дробное количество) раз плотнее. У меня дома 4к монитор и интерфейс 1920х1080, только он в два раза четче и это просто обалденно. А на работе 2к монитор и интерфейс 1920х1080 и это выглядит почти так же как 4к, просто волшебно.
нет, физический доступ не нужен, но я бы не стал особо опасаться этой проблемы. суть такова, что современная память настолько плотно упакована, что соседние биты (физически, в чипе) влияют друг на друга и могут непроизвольно меняться в зависимости от того как изменились соседи. так вот суть этой атаки в том, что мониторя как меняются биты в памяти твоего процесса, можно со временем понять что за биты лежат в соседних строках. которые, о боже мой, даже могут принадлежать соседнему процессу. обратите внимание, что речь о физических битах. а в современных компьютерах где есть как минимум виртуальная память, то есть ты вообще никак не можешь понять как выделенная тебе память будет уложена физически, а на самом деле ещё и не один слой абстракции помимо этого, и кто там возможно окажется соседом по строкам вообще никогда не узнать, это максимально призрачная проблема. вот эта строка например в описании «To exploit this effect, we developed novel memory massaging techniques to carefully place the victim's secret data in the rows above and below the attacker's memory row.» говорит о том что они целенаправленно записали искомые данные в строки над и под строки атакующего процесса (максимально эксплуатируемая конфигурация), а потом 34 часа долбили чтобы их прочитать. звучит душновато.
«есть на стороне противоположной удалению», «исключить нагрузки на 2-3 дня», и прочие дельныуе советы, вот прямо слезу пустил от умиления. когде мне вырезали все четыре зуба мудрости за раз (это потом я конечно понял что надо было не соглашаться на добрые слова доктора «будет нормально!»), следующие два-три дня я мог думать только одну мысль «зачем я на это согласился?» и выть лежа в кровати. как-то даже в голову не пришло ничего о физических нагрузках или жевании чего-либо, знаете ли…
Вообще изи.
либо Player->hits(Monster $monster), и weapon существует тогда как property внутри player, там же можно изменить xp, либо Monster->isHitBy(Player $player), тогда наоборот, в этом методе можно получить параметры Player, и оружие и изменить его xp.
Как вы решаете в вашем проекте лучше, так и делаете, либо сверху вниз отношения, либо наоборот.
ООП — инструмент и концепция, он позволяет сделать так или эдак. Как его применить — архитектура приложения.
Если бы инструмент диктовал неизменные правила для каждого случая, это был бы жуткий черный кошмар из миллиона правил которые уже после первых тысяч трех давно противоречили друг другу и являлись списком исключений. И никто бы не пользовался таким инструментом.
да че-то желтовато прямо в цвет конечно.
«алгоритм убийца» — while (price > 0) { sell(price = price * 0.5); buy(price); }
вся статья может быть уложена в один абзац:
люди открылись на IPO, и автоматический алгоритм на максимально возможной скорости торганул акциями по все меньшей и меньшей цене, чтобы на мониторах трейдеров как можно быстрее после открытия появилась мусорная цена и все вместо торговли фалломорфировали и тормознули торговать этими странными акциями. плюс там где-то в начале затесалась одна нормальная сделка, но она вообще ничего не значит.
все это изложено таким загадочным и интригующим тоном с многократым повторением одного и того же, что прямо уголок рен-тв на хабре.
спасибо, как телевизор посмотрел!
К сожалению вещь просто веселая (и классная), но никак не полезная. И никто не будет дорабатывать скрипты. Эти сканеры работают во-первых массово, во-вторых их цели ну настолько кривые устройства, где ssh сервера реализованы такими Ляо на коленке, весь этот сонм криво настроенного IoT, что среди них девайсов со странным поведением — 50%. Вообще никто не заметит что одно соединение кривое, их у сканера будут тысячи и сами по себе без специализированного тарпита через жопу.
О, это кстати очень мощное искажение над которым я тут недавно задумался. В россии так долго хулили капитализм, и так много придумали всяких поговорок и карикатур о том как ужасен капитализм, что именно так себе в россии капитализм и представляют. В итоге когда объявили что теперь и мы строим капитализм — люди бросились строить не реальный капитализм, а то что они о нем слышали. Все вот это вот «за прибыль капиталист способен продать и собственную мать», про веревку и так далее. Тогда как во всем мире люди продолжали оставаться людьми, хоть и связанные товарно-денежными отношениями, на одной шестой суши была построена карикатура на капитализм из журнала «крокодил», от которого любой западный капиталист приходит в смятение. Это максимально ироничный исход, особенно принимая во внимание что все население россии все так же считает что это и есть капитализм, со всем его ужасным оскалом и так далее…
Хороший пример того, что «адаптация» названий вместо хорошего их перевода может быть оправдана, потому что пипл может просто не понять, а так же прекрасный маркер мамкиных переводчиков, — это то, как перевели название фильма «Terminal». Сколько я слышал язвы по поводу перевода названия как «Конченая», прямо грустно становится. Прямо каждый первый стремился указать как надо переводить это название, по трейлеру фильма если дело происходит на вокзале. Про надмозги, про очередной высер, все по канону…
Тогда как в реальности — Terminal с ударением на первый слог, это когда пациент в терминальной стадии. Человек без шансов. И Переводчики прекрасно передали эту игру слов — «Конечная», если это про железнодорожную станцию, и «Конченая» если это про человека. Сложно придумать более близко передающие и игру слов и смысл слова. Причем благодаря наличию артиклей в английском языке можно скорее всего сказать что в оригинале это прилагательное. То есть это все же скорее «Конченая», чем «Конечная».
Ну то есть прекрасно перевели название, с отсылкой, с игрой слов, и передав смысл.
Ну и к чему это привело? К насмешкам по всему интернету от мамкиных переводчиков??? Были бы проще и ближе к людям и назвали «Вокзал» — и пипл бы воспринял ровно в меру своих знаний с распростертыми объятиями…
И вот тут как раз со стороны яндекса это именно то, что они от вас хотят — чтобы кандидат мог стабильно сидеть и кодить что сказали, без фигни. А то если каждый будет выдумывать как ему и что делать, каждый подтянет свои любимые библиотеки в проект — любой проект на дно пойдёт.
Так что может это вам было не интересно, а яндекс-то как раз проверяет всё как надо яндексу.
RactDOMServer.renderToString()?
это же стандартный SSR на реакте?
именно так оно выглядит, если у человека масштаб не 100%. есть такая проблема у движков браузеров, масштабирования и округления. если элементы собраны из нескольких тайлов, при масштабировании рандомно становятся видны артефакты математики с округлением. проблема не такая редкая, как может показаться, например огромное количество людей в современном мире работает за 2к мониторами с масштабом 120% в браузере и сайты сделаные с такой наивной идеей о том что элементы можно собрать из тайлов выглядят именно так. не знаю почему об этом ещё никто не сказал. браузеры во многом сейчас рассчитаны на то что элементы будут спрайтами с композицией (один элемент — один спрайт и они все могут быть наложены друг на друга и залезать друг на друга).
Сделали так же с разницей в том что наши клиенты грузились по PXE по сети, в них не было дисков вообще. Один образ не всех, tmpfs под каталог пользователя на старте. Но написать я хотел не про это. Написать я хотел про то, что делал я колл-центр, в котором компьютеры просто «стояли» если за ними не сидели операторы. То есть стояла такая себе комната в 40 всегда включённых станций и сменные операторы приходили-уходили, иногда их было 10 (ночью) иногда 40. Так вот «вечный» рдп, переподключающийся к логину после тайм-аута без ввода пользователя-пароля (каждую минуту) с сорока компьютеров клал сервер за два дня. у ссаной винды просто вытекала память от бесконечных подключений к логину по сорок раз в минуту. слов приличных нет это охарактеризовать. пришлось сделать бинарник показывающий .bmp на весь экран и выходящий по нажатию любой кнопки, и сунуть его в тот же цикл что и xfreerdp, перед ним. получилось даже корпоративненько, если на .bmp влепить лого организации.
максимум у самых хитросделаных приложений будут те самые LaunchDaemons/LaunchAgents еще, но они без самого приложения безвредны, да и автор судя по тексту сам знает где они лежат.
Например «Виртуализация в BIOS`e должна быть отключена.» это заклинание времен Sierra когда с этим были проблемы, железо эппл было еще без технологии виртуализации, а большинство процов уже с. Но с тех пор эппл давным давно уже на современных процессорах и vt-d и vt-x выключены везде и работают прекрасно. Мало того без них не работает нативная виртуализация макос (например будут проблемы с докером). Но нет, этот пункт передается как сакральное знание, странно что еще не включили пункт плюнуть три раза через левое плечо.
«При установке систем 10.13, 10.14, 10.15 обязателен драйвер apfs.efi в папке Drivers64UEFI.» такая же шляпа, но поновее. У загрузчика Clover были проблемы прочитать apfs партиции на заре 10.14, но с тех пор его обновили и с этим давно нет проблем.
«Ошибка, с которой я столкнулся, заключается в следующем: при самой установке хака на жесткий диск система зависает, когда остается несколько минут до завершения. Я долго с этим мучился, пока не попробовал использовать более старую версию Clover.» — скорее всего проблема в биосе и каком-то его параметре. Старый Clover просто игнорирует эти параметры и грузится, а в новом они корректно передаются в систему и там вызывают панику. Какой-нибудь «RTC Advanced» или что-то типа того. Надо смотреть конкретно в каждом случае на каждую мать и читать на форуме.
«WhateverGreen» — костыль, сборник всяких хаков и опций для Clover и параметров, это практически даже не бинарный kext, просто куча всяких опций и параметров. Со временем большая часть их действительно влияющая на загрузку была адаптирована в Clover и он реально больше не нужен, если покупать железо из мануала с tonymacs86, хорошо совместимое с macos. Вероятно конечно этот аддон пригодится если брать какой-нибудь экзотический процессор типа i9 с какой-нибудь графикой которая чуть более прогрессивная чем та о которой знает Apple. Но и то при должном упорстве можно найти какую именно опцию включает этот kext и поставить самому.
генератор уже советовали вместо велосипеда с циклом?
В кратце — эппл давно столкнулась с проблемой что все очень мелкое на тех разрешениях что они стали использовать с выходом retina (10 лет назад, на минуточку), и ввели HiDPI режимы. Это когда весь интерфейс рендерится в два (или даже дробное количество) раз плотнее. У меня дома 4к монитор и интерфейс 1920х1080, только он в два раза четче и это просто обалденно. А на работе 2к монитор и интерфейс 1920х1080 и это выглядит почти так же как 4к, просто волшебно.
либо Player->hits(Monster $monster), и weapon существует тогда как property внутри player, там же можно изменить xp, либо Monster->isHitBy(Player $player), тогда наоборот, в этом методе можно получить параметры Player, и оружие и изменить его xp.
Как вы решаете в вашем проекте лучше, так и делаете, либо сверху вниз отношения, либо наоборот.
ООП — инструмент и концепция, он позволяет сделать так или эдак. Как его применить — архитектура приложения.
Если бы инструмент диктовал неизменные правила для каждого случая, это был бы жуткий черный кошмар из миллиона правил которые уже после первых тысяч трех давно противоречили друг другу и являлись списком исключений. И никто бы не пользовался таким инструментом.
«алгоритм убийца» — while (price > 0) { sell(price = price * 0.5); buy(price); }
вся статья может быть уложена в один абзац:
люди открылись на IPO, и автоматический алгоритм на максимально возможной скорости торганул акциями по все меньшей и меньшей цене, чтобы на мониторах трейдеров как можно быстрее после открытия появилась мусорная цена и все вместо торговли фалломорфировали и тормознули торговать этими странными акциями. плюс там где-то в начале затесалась одна нормальная сделка, но она вообще ничего не значит.
все это изложено таким загадочным и интригующим тоном с многократым повторением одного и того же, что прямо уголок рен-тв на хабре.
спасибо, как телевизор посмотрел!
Тогда как в реальности — Terminal с ударением на первый слог, это когда пациент в терминальной стадии. Человек без шансов. И Переводчики прекрасно передали эту игру слов — «Конечная», если это про железнодорожную станцию, и «Конченая» если это про человека. Сложно придумать более близко передающие и игру слов и смысл слова. Причем благодаря наличию артиклей в английском языке можно скорее всего сказать что в оригинале это прилагательное. То есть это все же скорее «Конченая», чем «Конечная».
Ну то есть прекрасно перевели название, с отсылкой, с игрой слов, и передав смысл.
Ну и к чему это привело? К насмешкам по всему интернету от мамкиных переводчиков??? Были бы проще и ближе к людям и назвали «Вокзал» — и пипл бы воспринял ровно в меру своих знаний с распростертыми объятиями…