Здравствуйте, IID, Вы писали:
IID>Здравствуйте, Stanislav V. Zudin, Вы писали:
CAF>>>А что пишет то?
SVZ>>Иногда скромно присылает свое решение
IID>Охренеть там тараканы! IID>Особенно впечатлила "Изба-говорильня", где один-единственный сыроежка поражается путинскому режиму и прочим интересным вещам.
Мне тоже пришло письмо Странный товарищ.
Спасибо, что предупредили, не надо думать что это значит, можно просто удалить.
Re[10]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Мало того, что у тебя ограниченный кругозор что даже сишные фишки не знаешь (не говоря про математику), — ты ещё и гордишься этим.
Тема, ты в очередной раз показал, что ты классический moron. Впрочем, после твоих постов в авто я другого и не ожидал.
P.S. Специально для тебя на тему "трюков": https://github.com/Lexey/lzsav/blob/master/LZSAV.MAC. Это рабочая программа, если что. Ей "старшие товарищи" вполне успешно ужимали размеры своих "экзешников" на 30-50%. Во времена 360-килобайтных дискет это был очень приличный выигрыш.
D>Усложняем задачу: теперь даже без временных переменных!
Товарищ готов привести пример реального процессора с реальным ABI, где при вызове функции не будет предоставляться некоторое количество регистров для нужд работы этой функции и где имеет смысл экономить регистры? В любом ABI прописано, что внутри функции вот этот список регистров можно использовать, а вот эти тоже можно, но их содержимое предварительно нужно сохранить, чтобы при выходе восстановить. Так что пока единственный смысл не использовать временные переменные — это если в результате эта функция будет встроена по месту вызова.
Я это к тому, что если программист не полный теоретик, услышав такой вопрос он встанет в ступор, как если бы его попросили написать программу, которая будет выполняться вообще без компьютера. Временные переменные есть по умолчанию! От них не уйти!
Re[10]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Мало того, что у тебя ограниченный кругозор что даже сишные фишки не знаешь (не говоря про математику), — ты ещё и гордишься этим.
Уууу, включился классический Артёмка: дрочим на фишку, не понимая её смысла.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: Зачем просят перевернуть строку на интервью?
Здравствуйте, IID, Вы писали:
Тё>>Это тест на понимание битовых операций. Если у чела опыт C или C++ — должен понимать. Ибо говнокодеры нам не нужны.
IID>Это провал теста на понимание работы компилятора и процессора. IID>Т.к. "временная переменная" это не какая-то обязательная сущность, она будет оптимизирована в загрузку регистра. Так же, как и твои трюки с битами.
В условии не выделять память под временную переменную ничего не сказано про «работу компилятора и процессора». Попытка отписавшихся тут замаскировать собственную профнепригодность «компилятор за меня всё сделает», на собеседовани выглядит жалко.
Re[11]: Зачем просят перевернуть строку на интервью?
Здравствуйте, VVV, Вы писали:
VVV>>Пример: VVV>>https://ideone.com/Fw7ugX
VVV>>Где ошибка в индексах? сама функция не менялась .
VVV>Обоснуй свой минус — с чем не согласен? И "ГДЕ ОШИБКА В ИНДЕКСАХ"?
Ты условие задачи читал? Твоя имплементация выдала неправильный результат. Тё> IK>>Для массива 1 2 3 45 6 7 при сдвиге на 3 позиции должно получиться IK>>5 6 71 2 3 4. Тё>У тебя получится 4 5 6 7 1 2 3.
Re[12]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Здравствуйте, IID, Вы писали:
Тё>>>Это тест на понимание битовых операций. Если у чела опыт C или C++ — должен понимать. Ибо говнокодеры нам не нужны.
IID>>Это провал теста на понимание работы компилятора и процессора. IID>>Т.к. "временная переменная" это не какая-то обязательная сущность, она будет оптимизирована в загрузку регистра. Так же, как и твои трюки с битами.
Тё>В условии не выделять память под временную переменную ничего не сказано про «работу компилятора и процессора». Попытка отписавшихся тут замаскировать собственную профнепригодность «компилятор за меня всё сделает», на собеседовани выглядит жалко.
Да ты расскажи уж чье это собеседование было? Результат каков?
Re[11]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Nuzhny, Вы писали:
N>Поскипано, потому что без аргументов.
потому что ты слился.
Тё>>Похоже ты не имеешь представления, как устроена память и что такое структуры данных. N>Аргументов,как всегда, не будет. У меня будет: N>
N>Жду заявлений, что и эти разработчики "не имеешь представления, как устроена память и что такое структуры данных". Или что С++ отстой. Пофиг, главное не аргументировано.
Я тебе написал, что ты не имеешь представления, т.к. ты передал указатель на адрес в неизменяемой области памяти в функцию, которая reverse inplace. Ошибка не в том, что область защищена от рукожопых- а в том, что константную строку не надо изменять. Я исправил твой код и выложил ссылку- там всё работает. А ты зачем-то прикрываешься левым куском кода ни к месту.
Про строку с символами разной длины. Ты можешь сделать курсор для корректного прохода по этим символам. В C++ это называется iterator, я в курсе. Но если ты попытвешься с этим итератором скормить его в std:reverse с наивной имплементацией как в куске кода, что ты мне привёл, ты не получишь корректный результат. Потому что иногда полезно думать, а не мастурбировать на «крутизну» C++.
Re[4]: Зачем просят перевернуть строку на интервью?
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Да ты расскажи уж чье это собеседование было? Результат каков?
Я случайно попал Результат мне неизвестен- я лишь отчитался потом о заданных т.н. «алгоритмических» вопросах (до более интересных вопросов, к сожалению, не дошло).
Re[14]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>>Да ты расскажи уж чье это собеседование было? Результат каков?
Тё>Я случайно попал Результат мне неизвестен- я лишь отчитался потом о заданных т.н. «алгоритмических» вопросах (до более интересных вопросов, к сожалению, не дошло).
Ну хочу тебя расстраивать, но ты видимо не программист на С++ . Может для data science ты лучшу подходишь? Но в программирование лучше нее лезь.Не твое это. Ничего стращного.
Re[7]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Somescout, Вы писали:
S>Что-то смотрю я на этот код, и кажется мне что он будет работать только с null-terminated string. А на произвольной подстроке облажается.
Несогласные: на вход функция принимает итераторы, которые могут находиться в любом состоянии, у функции нет контракта чтобы левый итератор был строго в начале строки, а правый — в конце. Соответственно для null-terminated string, либо если BiDirectionalIterator инициализирован за концом обычной строки — всё отработает нормально. Но в произвольном случае будет ошибка. Если не прав — с интересом выслушаю вашу версию.
ARI ARI ARI... Arrivederci!
Re[8]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Somescout, Вы писали:
S>Несогласные: на вход функция принимает итераторы, которые могут находиться в любом состоянии, у функции нет контракта чтобы левый итератор был строго в начале строки, а правый — в конце.
Дадада, а ещё "у функции нет контракта" что оба итератора показывают в один и тот же сегмент, да и вообще процесс к той памяти может не иметь доступ на чтение/запись, страницы не обязательно подмаплены и т.п.
Всё что угодно можно довести до маразма.
Маразм же обсуждать не интересно.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[9]: Зачем просят перевернуть строку на интервью?
Здравствуйте, CreatorCray, Вы писали:
S>>Несогласные: на вход функция принимает итераторы, которые могут находиться в любом состоянии, у функции нет контракта чтобы левый итератор был строго в начале строки, а правый — в конце. CC>Дадада, а ещё "у функции нет контракта" что оба итератора показывают в один и тот же сегмент, да и вообще процесс к той памяти может не иметь доступ на чтение/запись, страницы не обязательно подмаплены и т.п. CC>Всё что угодно можно довести до маразма. CC>Маразм же обсуждать не интересно.
Ага, интересно потом читать про уязвимости, появившиеся за-за таких профессионалов С++.
Вот скажите, если функция предназначена именно для переворачивания строки, и требует вполне конкретных начальных параметров итераторов, нахрена выпендриваться и принимать в качестве аргументов итераторы, а не строку? А потом эти люди ещё и на C# с Java наезжают, хотя они спроектированы специально чтобы уменьшить вред от для таких специалистов.
Здравствуйте, Somescout, Вы писали:
S>Здравствуйте, koodeer, Вы писали:
K>> Понимание кодировок — плюс. Представление об умляутах и пр. — большой плюс (но не в каждой области нужно, поэтому незнание в минус не пойдет).
S>Но это ведь уже знания не о строках, а об Unicode. Если это изначально не выставлялось как требование для кандидата, то вставлять такое в задачу — странно.
Все зависит от должности, на которую собеседуется претендент.
Если он не способен перевернуть строку (и связный список) — значит вообще не может в программирование. Отметаем.
Джуниор должен быть способен написать такой код (и знать о готовых функциях, имеющихся в языке/платформе).
Миддл должен иметь представление о внутреннем устройстве строк (изменяемые/иммутабельные) и о кодировках (одно- и многобайтовые).
Знание о композиции юникодных символов и т. п. — это, конечно, нужно только в специфических случаях (фирма разрабатывает текстовый процессор наподобие Word или лингвистический софт).
Но в том-то и дело, что изначально в задании вообще не сказано, чего ждут от претендента, на кого он собеседуется. И меня сильно удивило, что многие кинулись обсуждать именно переворот байтов, оставив остальные проблемы побоку.
А я постарался привлечь внимание именно к этим вопросам.
Re[3]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Здравствуйте, a_g_99, Вы писали:
__>>Я приму такое решение через 15 мин без всяких проблем. Вообще время это что то малокритичное на собеседовании в пределах получаса. Тё>Т.е. то, что кандидат морозит чушь на доске и «справился» с подсказками «тянем за уши» на половине от изначальной проблемы за 15 минут- это засчитываем? Вообще-то мы не школьника собеседовали- а чела с весьма крутым резюме и с бакалавром + мастером в компьютерных науках, и с знанием нейросетей, тензорфло. Читая его резюме, сразу хочется взять такого крутого перца.
Вы сейчас звучите как — "к нам пришел крутой перец с образованием, опытом и скиллсетом в 100 раз лучше чем у меня! Ну я покажу ему какой он дурак и какой я дАртаньян!"
А цель то собеседования какая? Для меня нанять правильного человека. А для вас? Показать что вы не дурак?