Здравствуйте, De-Bill, Вы писали:
CAF>>А вообще не надо выдумавать проблем, там где их нет. Никто на собесе никого не хочет завалить, нет смысла придираться.
DB>При собеседовании у Тёмки, возможно. Но я знаю вполне конкретные конторы (так как там мои знакомые собеседуют), где за решение задачи без уточнения условий (вопросов со стороны соискателя) будет серьёзный минус.
Именно этой задачи или вообще?
Я имел ввиду, что в задаче обычно не ожидается ничего более сложнее индексации. И что чаще всего это простой тест для отсева полных нулей,
без всяких подвохов. В этом был КМК вопрос Темы. Конечно в данном случае можно уточнить какой язык/что используешь, но без фанатизма.
Я кстати давным давно проверял десятки кандидатов решающих и переворот строки и списка. К сожалению не все способны перевернуть и строку. А список вообще швах
Если человек использует функции — можно спросить что внутри должно быть по его мнению. Если рекурсию — пусть про стек расскажет, чем плохо в днном случае. Кодировки меня признаюсь не волновали. Если вопрос а как же на джаве, то предлагался голый массив или буфер. Да пусть хоть в нотации пишет.
Я кстати еще и на тестирование смотрел, когда проверял. (Конечно его почти никогда не было)
Re[7]: Зачем просят перевернуть строку на интервью?
В том числе и именно этой.
CAF>Я имел ввиду, что в задаче обычно не ожидается ничего более сложнее индексации. И что чаще всего это простой тест для отсева полных нулей, CAF>без всяких подвохов. В этом был КМК вопрос Темы. Конечно в данном случае можно уточнить какой язык/что используешь, но без фанатизма.
Даже если взять эту конкретную задачу на этом конкретном форуме. Изначально у Тёмы не было условия in-place (можно посмотреть историю правок его начального сообщения). Потом in-place появилось. И это полностью изменило задачу, а для некоторых языков программирования делало решение невозможным нормальным способом. А маленькое дополнительное требование (но вполне реальное в бизнесе) переворачивать строки типа "приве́т" (с ударением на e), может вообще поменять всё.
А так да, у многих собеседующих в голове прошито решение задачи. В их голове — это задача на индексацию. Но в реальности задачей на индексацию она является только при куче дополнительных условий и ограничений.
Здравствуйте, De-Bill, Вы писали:
CC>>По условиям задачи на собеседованиях надо как раз in-place. DB>Начнём с того, что условие in-place Артёмка приписал уже после моего ответа.
Начнём с того что это настолько бородатая задача что условия эти давно известны.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Зачем просят перевернуть строку на интервью?
CC>Начнём с того что это настолько бородатая задача что условия эти давно известны.
А с чего ты взял, что это именно та бородатая задача? Без условия на in-place это может быть вполне задачей на отсев любителей заморочится на пустом месте.
Re[8]: Зачем просят перевернуть строку на интервью?
Здравствуйте, De-Bill, Вы писали:
CAF>>Именно этой задачи или вообще?
DB>В том числе и именно этой.
CAF>>Я имел ввиду, что в задаче обычно не ожидается ничего более сложнее индексации. И что чаще всего это простой тест для отсева полных нулей, CAF>>без всяких подвохов. В этом был КМК вопрос Темы. Конечно в данном случае можно уточнить какой язык/что используешь, но без фанатизма.
DB>Даже если взять эту конкретную задачу на этом конкретном форуме. Изначально у Тёмы не было условия in-place (можно посмотреть историю правок его начального сообщения). Потом in-place появилось. И это полностью изменило задачу, а для некоторых языков программирования делало решение невозможным нормальным способом. А маленькое дополнительное требование (но вполне реальное в бизнесе) переворачивать строки типа "приве́т" (с ударением на e), может вообще поменять всё.
Про память — да существенное условие. А всяких ударений не предусмотреть. Можно всего понапридумать, и ударение, и строки длиной больше предела в языке. И кстати в бизнесе тоже, но задумывать о трубованиях бизнеса это перебор.
DB>А так да, у многих собеседующих в голове прошито решение задачи. В их голове — это задача на индексацию. Но в реальности задачей на индексацию она является только при куче дополнительных условий и ограничений.
В реальности это зависит только от собеседующего. Я написал, то что мне кажется наиболее типичным.
Re[9]: Зачем просят перевернуть строку на интервью?
CAF>Про память — да существенное условие.
Это то, что делает из одной задачи другую. CAF>А всяких ударений не предусмотреть.
Не предусмотреть. Поэтому и важно примерно отметить ограничения, при которых решение будет работать. CAF>В реальности это зависит только от собеседующего. Я написал, то что мне кажется наиболее типичным.
Согласен. Некоторые собеседующие могут считать: "Это же бородатая задача, значит in-place по умолчанию, зачем обговаривать дополнительно?". Другие будут считать, что задача намного глубже, чем кажется. И если соискатель начинает накидывать решение даже без малейших уточнений, то это минус.
Re[11]: Зачем просят перевернуть строку на интервью?
Здравствуйте, De-Bill, Вы писали:
CAF>>Про память — да существенное условие. DB>Это то, что делает из одной задачи другую. CAF>>А всяких ударений не предусмотреть. DB>Не предусмотреть. Поэтому и важно примерно отметить ограничения, при которых решение будет работать. CAF>>В реальности это зависит только от собеседующего. Я написал, то что мне кажется наиболее типичным. DB>Согласен. Некоторые собеседующие могут считать: "Это же бородатая задача, значит in-place по умолчанию, зачем обговаривать дополнительно?". Другие будут считать, что задача намного глубже, чем кажется. И если соискатель начинает накидывать решение даже без малейших уточнений, то это минус.
Я уже сказал, я написал о том чего ждет большинство с моей точки зрения. Особенно для вполне среднего уровня. Да — если ты идешь в супер R&D, то при виде такой задачи — должно в голове щелкнуть, что что-то не так. Что цель не продемонстрировать навыки итерации и индексации. (Может самому придется догадаться и делать строки оптимизированные для разворота). Да-да, меня такое про бинарный поиск спрашивали. Но в общем как мне кажется, мы друг друга поняли. По крайней мере я думаю, что тебя понял.
Кстати, вспомнил. Достаточно часто эта задача — начало длинной беседы. А что если так, а так, а так. (Но тут есть свой минус) Но простой переворот — маст хев.
Re[12]: Зачем просят перевернуть строку на интервью?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Тёмчик, Вы писали:
Тё>>Ну зачем итераторы C++ пихать? CC>А почему нет? Итератор это всего то абстракция. Если девелопер не способен её понять — у меня для него плохие новости.
Тё>>Но блин, в моей вселенной никому не нужен C++. CC>Restrictions надо оговаривать отдельно а главное заранее.
Тё>> Так почему бы не выпендриваться и не сделать с массивом и индексами. CC>Лично я увидев в этой задаче индексы даже на С засчитал бы как небольшой минус и попросил бы переписать решение так, чтобы от индексов избавиться.
Вот кстати:
А какое решение быстрее (я слабо знаком с оптимизациями компиляторов, поэтому любые комменты от опытных тов приветствуются)
индекс
— вычитать потом надо
+ loop unrolling
+ четкий икнремент по индексу может оптимизироваться
пара итераторов
+ параллельно икремент/декремент в конвейре
Можно конечно на асм посмотреть, но я все равно не пойму кто быстрее. Так что смтотреть без толку. Писать бенчмарки есс-но лень. Есть идеи?
Ну и конечно на десерт, можно ли еще быстрее ?
Здравствуйте, Vlad_SP, Вы писали:
V_S>Здравствуйте, mgu,
mgu>> Потому что в реальном проекте нужно будет переставлять кровати.
V_S>Бинго! Только в реальном проекте менеджер требует переставлять кровати, а заказчику-то нужно совсем другое....
Да, и поэтому не надо уметь программировать Так вам с мгу дорога в менеджмент, в этом вы разбираетесь лучше всех.
Re[2]: Зачем просят перевернуть строку на интервью?
Здравствуйте, mgu, Вы писали:
mgu>А если серьёзно, то это первое, что нашлось в интернетах с готовым ответом. Как-то ни разу не сталкивался с вариациями, например, поменять левую часть строки с правой.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, kaa.python, Вы писали:
KP>>Не надо её переворачивать, всегда можно взять rend(). CC>Нельзя. По условиям задачи надо именно изменить данные.
Здравствуйте, AlexGin, Вы писали:
AG>Здравствуйте, CreatorCray, Вы писали:
CC>>Здравствуйте, kaa.python, Вы писали:
KP>>>Не надо её переворачивать, всегда можно взять rend(). CC>>Нельзя. По условиям задачи надо именно изменить данные.
AG>Считать данные из строки через: AG>https://en.cppreference.com/w/cpp/iterator/reverse_iterator
AG>сохранить в новой (временной) строке, AG>затем заменить имеющуюся на новую.
AG>Что НЕ так ?
Нельзя память выделять. (Кроме переменных)
Re[3]: Зачем просят перевернуть строку на интервью?