Тё>Спрашивать "напиши разворот массива inplace на любом языке" я считаю правильно, чтоб отсеять таких, кто квадрат влепит.
Не понял, Темыч, что нужно сделать, получить элементы массива в противоположном порядке? Тут ведь просто swap элементов по индексу от 0 до size/2? Как тут можно сделать квадратичную сложность?
Здравствуйте, PM, Вы писали:
PM>Согласен, но сборка, зависимости — это прикладные знания, которые в каждой компании свои, и со временем меняются.
Прикладные, но без них теоритеческие знания в значительной степени бесполезны. Толку-то уметь собирать "Hello World" в IDE, когда в реальном проекте множество внешних зависимостей, несколько поддерживаемых компиляторов, кодогенирация и сборка под разные архитектуры. И для того, чтобы все это вместе работало нужны монстры типа CMake, у которых нюансов не меньше, чем у std::vector.
Поэтому даже в теории ни то что "10", даже "8" вряд ли достижимо. Так что когда человек заявляет я знаю на "9", это
PM>Кто сейчас вспомнит про scons, или как в MSBuild добавить флаг компилятора для одного файла в Release конфигурации.
+1
PM>Хотя, как предмет разговора, ответ вопрос "что вы использовали на предыдущем месте работы для сборки и управления зависимостями" вполне может продемонстрировать кругозор и опыт работы кандидата (и интервьюера, если у него тоже спросить "а вы что используете?")
Я когда хожу на собеседования всегда это спрашиваю и даже прошу показать по возможности. Хорошо показывает уровень бардака/велосипедостроения. 10 из 10 никогда не видел.
S>в реальном проекте множество внешних зависимостей, несколько поддерживаемых компиляторов, кодогенирация и сборка под разные архитектуры. И для того, чтобы все это вместе работало нужны монстры типа CMake, у которых нюансов не меньше, чем у std::vector.
Ага, в плюсах, зачастую, это неменьшая боль чем простыни темплейтов Может быть победит в итоге какая-нибудь связка типа Cmake+Conan и хоть тут будет порядок. Ну и все-таки великое благо, когда подобные вещи идут из коробки, по типу как у Раста и Го.
Здравствуйте, Максим, Вы писали:
М>Ага, в плюсах, зачастую, это неменьшая боль чем простыни темплейтов Может быть победит в итоге какая-нибудь связка типа Cmake+Conan и хоть тут будет порядок.
Вроде побеждает, но это все равно боль из-за необходимости и/или желания поддерживать обратную совместимость, изначально кривой архитектуры и языка в CMake и кривой организации самих плюсовых проектов, которую уже быстро и легко не изменить.
М>Ну и все-таки великое благо, когда подобные вещи идут из коробки, по типу как у Раста и Го.
И это огромное преимущество.
Здравствуйте, PM, Вы писали:
PM>>>Восстановил поскипаное. Скромность — это хорошо, но хотелось бы увидеть код от знатока C++ с уровнем 9/10 Тё>>Ещё раз, для особо одаренных, 9/10 было в мою бытность C++ -м. В последний раз я прошёл тест на C++ IKM 99/100 в сентябре 2011г. Что ты докопался?
PM>То есть написать простейший динамический массив не можешь? "В динамическом массиве ничего нет сложного."
Могу, на нескольких языках. Но ведь это ты ударился в отговорки "написать вектор очень слоооожно, в векторе много граааабель". Ну так напиши свой вектор- прототип, который демонстрирует концепт.
PM>Так ты из беспомощных программистов которые для собеседования выучили только разворот строки. Ясно-понятно.
Я вообще не готов проходить технические собеседования .
Здравствуйте, RonWilson, Вы писали:
RW>Здравствуйте, CreatorCray, Вы писали:
CC>>Оформление конечно мог и конвертор попортить, потому как в свойствах документа видно его оригинальное название (дада, с фамилией) и там docx.
RW>вот интересно, а кто это superuser?
Тё>Поговорить о memory barrier всегда полезно. Это фича (машинная инструкция) мульти-процовых систем: пометить область памяти, что изменения в ней должны быть из кеша одного исполнительного блока спроецированы на другие исполнительные блоки.
Здравствуйте, Тёмчик, Вы писали:
PM>>>>Восстановил поскипаное. Скромность — это хорошо, но хотелось бы увидеть код от знатока C++ с уровнем 9/10 Тё>>>Ещё раз, для особо одаренных, 9/10 было в мою бытность C++ -м. В последний раз я прошёл тест на C++ IKM 99/100 в сентябре 2011г. Что ты докопался?
PM>>То есть написать простейший динамический массив не можешь? "В динамическом массиве ничего нет сложного." Тё>Могу, на нескольких языках. Но ведь это ты ударился в отговорки "написать вектор очень слоооожно, в векторе много граааабель". Ну так напиши свой вектор- прототип, который демонстрирует концепт.
Слушай, ну ведь любой может подняться по ветке выше и увидеть, что ты себя объявил экспертом и написал
В чём запинка? Если не вдаваться в move semantics, которую я уже не застал- вызвать копирующие конструкторы (через оператор "=". Возможно, какой-нить std::move нагуглить. Важно же найти сообразительность, а не зазубренность API
Так и в чем запинка? "Talk is cheap. Show me the code.” Покажите реализацию класса my_vector, проходящего тест выше.
PM>>Так ты из беспомощных программистов которые для собеседования выучили только разворот строки. Ясно-понятно. Тё>Я вообще не готов проходить технические собеседования .
Здравствуйте, gardener, Вы писали:
Тё>>Поговорить о memory barrier всегда полезно. Это фича (машинная инструкция) мульти-процовых систем: пометить область памяти, что изменения в ней должны быть из кеша одного исполнительного блока спроецированы на другие исполнительные блоки.
G>Вот например ARM, вот например в нем инструкции https://developer.arm.com/documentation/dui0489/c/arm-and-thumb-instructions/miscellaneous-instructions/dmb--dsb--and-isb G>Где ты там видишь пометку области памяти?
G>Барьеры это одно, когерентность кешей это другой.
Вообще атомарные операции на x86 расслабили программистов. Мне попадались такие, кто до сих пор думает что какой-нибудь `volatile int` это норма для счетчика в многопоточной среде. Нуачо, работает же (вроде бы, на Visual С++ и однопроцессорной системе).
VF>Год назад мой агент настойчиво рекомендовал сократить опыт до ~10 лет; я сократил до 15 (было >30). VF>Советовал так же подчистить и LinkedIn. И убрать год из Education VF>Все это помогает только на этапе screening, т.к. при встрече это все становится очевидным... VF>Несколько лет назад я хвастался, что начал программировать не перфокартах. Теперь перестал.
Если всё это мешает — то ИМХО ну их нафиг такие конторы. У нас в коллективе работает человек, который помнит всякие там миникомпьютеры, VAX, PDP и т.д. Я так полагаю, вряд ли в американском подлиннике поздних 70-х, а скорее советские клоны, запоздавшие на десятилетие. Несколько человек писали под 286. Нубов типа меня, начавших с Pentium MMX, вообще считают щенками
UVV>А чо в смысле? Все в faang'ах должны поработать што ле?
Зачем обязательно в ФААНГ'ах? Даже среди мелочёвки есть, так сказать, "широко известные в узких кругах", а иногда даже и культовые, конторы.
Здравствуйте, PM, Вы писали:
PM>Так и в чем запинка? "Talk is cheap. Show me the code.” Покажите реализацию класса my_vector, проходящего тест выше.
Ещё раз. Я не пишу с 2011 на C++. В 2011 было 9/10 знание. Сейчас мне нахрен не упало что-то там открывать стандарт (который изменился) и доказывать анонимусу в интернете
PM>>>Так ты из беспомощных программистов которые для собеседования выучили только разворот строки. Ясно-понятно. Тё>>Я вообще не готов проходить технические собеседования .
PM>Ну вот, а разговоров то было на 9/10.
Если ты утратил контекст- последние годы я провожу технические собеседования.
Видно опытного человека, но при этом нифига не умеющего писать резюме. Выкинуть нужно буквально всё.
Может продемонстрировать Вам собственный, более-менее работающий, стиль написания? При том, что никаких попсовых книжек по составлению резюме я в жизни не читал и не собираюсь, к агентам тоже не обращался, красотами и модными сервисами пренебрегаю – оформление невзрачное монохромное одношрифтовое. А в плане, собственно, C++ — пожалуй чутка послабее Вас буду.
PS. Проблемка только в одном. Даже если я вычеркну все имена собственные — некоторые нюансы всё равно меня выдадут и деанонимизируют. Поэтому придётся подождать — переделка "боевого заряда" в "учебный" займёт некоторое время.
Здравствуйте, CreatorCray, Вы писали:
Тё>>Это очень круто! Я не разбираюсь настолько глубоко, но поговорить о таких вещах всегда полезно.
CC>А щёки то как надувал про "9/10"
В том тесте C++ ничего не было про когерентность кэшей ARM. Поэтому да, 99/100 в IKM и 5/5 в брайнбенчах до того- вполне дают мне право заявлять 9/10 на момент профессионального использования. А вот когда чувак профессионально использует C++ сейчас и заявляет, что написать вектор на доске (явно же что proof of concept) и мотивирует это "слоожно". Ну что, слабаки нам не нужны.
Здравствуйте, Тёмчик, Вы писали:
Тё>В том тесте C++ ничего не было про когерентность кэшей ARM.
Вот потому подобные тесты в общем то говно бесполезное.
Тё> Поэтому да, 99/100 в IKM и 5/5 в брайнбенчах до того- вполне дают мне право заявлять 9/10 на момент профессионального использования.
Заявлять про 9/10 в тесте — да. Но не в С++.
Тё> А вот когда чувак профессионально использует C++ сейчас и заявляет, что написать вектор на доске (явно же что proof of concept) и мотивирует это "слоожно".
Тебе тут уже показали сколько надо учесть чтоб написать нормальный вектор, чтоб не глючил на сценариях современного C++.
Ну и досок чтоб вмещали хотя бы полтыщи строк я не встречал.
Тё> Ну что, слабаки нам не нужны.