Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 10.10.18 06:54
Оценка: +1 :))) :)
и сколько времени можно на это потратить у доски?

Условие было такое: строка «один два три». Написать функцию на доске, чтобы поменять порядок символов внутри этой строки, не выделяя новой памяти (кроме временных переменных). Принимается ли решение через 15 минут?
Отредактировано 10.10.2018 8:38 Артём . Предыдущая версия .
Re: Зачем просят перевернуть строку на интервью?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.10.18 07:14
Оценка: 10 (1) +3
Здравствуйте, Тёмчик, Вы писали:

Тё>и сколько времени можно на это потратить у доски?


Просто проверить, что человек может писать код. Кажется, что тест неплохой. Сколько потратить времени? Думаю, что это должно ограничиваться не обдумыванием задачи, а умением писать на доске. Пишешь быстро — времени тратишь мало.
Re: Зачем просят перевернуть строку на интервью?
От: De-Bill  
Дата: 10.10.18 07:46
Оценка: :)
Тё>и сколько времени можно на это потратить у доски?

Секунд 10 должно хватить:
s[::-1]

Не благодари.
Re[2]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 10.10.18 08:04
Оценка:
Здравствуйте, De-Bill, Вы писали:

Тё>>и сколько времени можно на это потратить у доски?


DB>Секунд 10 должно хватить:

DB>
DB>s[::-1]
DB>

DB>Не благодари.

без выделения новой строки
Re[2]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 10.10.18 08:06
Оценка: :)
Здравствуйте, Nuzhny, Вы писали:

N>Просто проверить, что человек может писать код. Кажется, что тест неплохой. Сколько потратить времени? Думаю, что это должно ограничиваться не обдумыванием задачи, а умением писать на доске. Пишешь быстро — времени тратишь мало.


А если очень давно учился, и забыл? Может быть такое?
Re: Зачем просят перевернуть строку на интервью?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 10.10.18 08:09
Оценка: +2
Здравствуйте, Тёмчик, Вы писали:

Тё>и сколько времени можно на это потратить у доски?


Не надо её переворачивать, всегда можно взять rend().
Re[3]: Зачем просят перевернуть строку на интервью?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.10.18 08:11
Оценка: 1 (1) +6
Здравствуйте, Тёмчик, Вы писали:

Тё>А если очень давно учился, и забыл? Может быть такое?


Казалось бы, что ты мог забыть? Как итерироваться по строке? Как узнать её длину? Сам алгоритм-то помнить не надо, он разве не очевиден?
Re[2]: Зачем просят перевернуть строку на интервью?
От: Transformerrr  
Дата: 10.10.18 08:16
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, Тёмчик, Вы писали:


Тё>>и сколько времени можно на это потратить у доски?


N>Просто проверить, что человек может писать код. Кажется, что тест неплохой. Сколько потратить времени? Думаю, что это должно ограничиваться не обдумыванием задачи, а умением писать на доске. Пишешь быстро — времени тратишь мало.


Бывает так,что человек может писать код, но не у доски. Со всякими collaborate тулзами то же самое.
Re: Зачем просят перевернуть строку на интервью?
От: kov_serg Россия  
Дата: 10.10.18 08:17
Оценка: 2 (1) +1 :))) :))) :))) :))) :)
Здравствуйте, Тёмчик, Вы писали:

Тё>и сколько времени можно на это потратить у доски?

Видимо есть причины.
https://www.yaplakal.com/forum7/topic1825236.html

— Здравствуйте!
— Да, привет. Заходи.
— Я на собеседование…
— Подними правую руку.
— Что?
— Руку правую подними.

Я замялся и неуверенно поднял правую руку вверх.
— Отлично! — сказал мужчина.

Я опустил руку.

— Садись.
— Я сел на один из двух стульев напротив стола.
— Ничего, что я так говорю?
— Как?
— Ну «садись»? А то перед тобой тут был один. Рассказывал мне, чем отличается сесть от присесть. Я его на хуй послал. А по телефону говорил, что не долбоёб. Или это ты говорил?
— Может, и я. Почему-то часто спрашивают.
— Угу! — мужчина продолжил читать бумагу. — Скажи мне, какое, на твой взгляд, главное профессиональное качество автослесаря?
Нужно было что-то ответить, я терялся.
— Я думаю, главное качество автослесаря — разбираться в машинах.
— Да, но нет. Я думаю, одним из главных качеств или даже умений для автослесаря является способность отличать право от лева!
Я внимательно слушал.

— Вот сейчас передо мной лежит претензия от клиента. Хорошего клиента, денежного. Он жаловался на гул во время езды. Мы нашли причину, заказали подшипник, четыре дня этот подшипник к нам ехал-ехал, и вот когда его поменяли — гул не пропал. Знаешь, почему?
— Почему?
— Потому что слесарь, который эту машину делал, почему-то поменял правый подшипник вместо левого. В бумаге было написано «ЛЕВЫЙ». Читать он умеет, я проверял. А вот разницу между правой стороной и левой не знал. Двадцать четыре года долбоёбу! На двадцать пятом году слесарь Иванов сделал открытие.

Re[4]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 10.10.18 08:31
Оценка: :)
Здравствуйте, Nuzhny, Вы писали:

N>Казалось бы, что ты мог забыть? Как итерироваться по строке? Как узнать её длину? Сам алгоритм-то помнить не надо, он разве не очевиден?


У меня порвало все шаблоны.
Re: Зачем просят перевернуть строку на интервью?
От: Amygdala Россия  
Дата: 10.10.18 08:39
Оценка: +1 :)))
Здравствуйте, Тёмчик, Вы писали:

А что надо просить? Отжаться 50 раз?
Re: Зачем просят перевернуть строку на интервью?
От: De-Bill  
Дата: 10.10.18 08:42
Оценка: -4
Тё>и сколько времени можно на это потратить у доски?

Надо сказать, вопрос вообще говно, если привязываться к языку программирования.
Для некоторых языков он не проверяет ничего (Питон, например). Для некоторых языков написать на доске нормальное решение практически невозможно. Например C#:
public static string Reverse( string s )
{
    char[] charArray = s.ToCharArray();
    Array.Reverse( charArray );
    return new string( charArray );
}

Я, блин, ToCharArray и Array.Reverse использую раз в 10 лет. Для некоторых языков может начаться мрак из-за кодировок. В-общем, если собеседующий захочет докапаться, то он сможет это сделать.
Re: Зачем просят перевернуть строку на интервью?
От: LaptevVV Россия  
Дата: 10.10.18 08:44
Оценка:
В книге Бентли "Жемчужины программирования" в разделе 2.3 Мощь элементарного на странице 32-33
рассматривается этот алгоритм.
И приводится удивительно элегантное рекурсивное решение.
Кен Томпсон использовал этот вариант в 1971 году, и говорил, что уже тогда эта функция была легендарной.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Зачем просят перевернуть строку на интервью?
От: reversecode google
Дата: 10.10.18 08:44
Оценка: 6 (1) +1 :))
чудовищно точно подмечено! все именно так же и в ИТ
главное уметь проходить собеседования! а программировать потом научитесь
Re[5]: Зачем просят перевернуть строку на интервью?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.10.18 08:45
Оценка: +2
Здравствуйте, Тёмчик, Вы писали:

N>>Казалось бы, что ты мог забыть? Как итерироваться по строке? Как узнать её длину? Сам алгоритм-то помнить не надо, он разве не очевиден?

Тё>У меня порвало все шаблоны.

Блин, как же ты работаешь, если от такого простого вопроса у тебя рвёт шаблоны?
Re[2]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 10.10.18 08:46
Оценка:
Здравствуйте, De-Bill, Вы писали:

Тё>>и сколько времени можно на это потратить у доски?


DB>Надо сказать, вопрос вообще говно, если привязываться к языку программирования.

DB>Для некоторых языков он не проверяет ничего (Питон, например). Для некоторых языков написать на доске нормальное решение практически невозможно. Например C#:
DB>
DB>public static string Reverse( string s )
DB>{
DB>    char[] charArray = s.ToCharArray();
DB>    Array.Reverse( charArray );
DB>    return new string( charArray );
DB>}
DB>

DB>Я, блин, ToCharArray и Array.Reverse использую раз в 10 лет. Для некоторых языков может начаться мрак из-за кодировок. В-общем, если собеседующий захочет докапаться, то он сможет это сделать.

Сколько времени нужно, чтобы написать реализацию Array.reverse() из этого примера?
Re[3]: Зачем просят перевернуть строку на интервью?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.10.18 08:49
Оценка: +1
Здравствуйте, Transformerrr, Вы писали:

T>Бывает так,что человек может писать код, но не у доски. Со всякими collaborate тулзами то же самое.


Ну, для меня это звучит странно. На досках и листочках пишу код постоянно, когда что-то обсуждаю с коллегами: схематично, не весь синтаксис расписываю, но всё равно пишем. И схемы, и графы всякие. что тут такого? У доски в школе учат отвечать и писать на ней, в вузе тоже. Неужели эти вещи вдруг стали какими-то заоблачными? Мы же говорим не о каком-то сложном коде, а о маленькой функции по инверсии строки. Понятно, что код в реальных проектах сложнее, больше и с кучей зависимостей, для этого тулзы и делают. Но тут!
Re[2]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 10.10.18 08:53
Оценка: +1 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>В книге Бентли "Жемчужины программирования" в разделе 2.3 Мощь элементарного на странице 32-33

LVV>рассматривается этот алгоритм.
LVV>И приводится удивительно элегантное рекурсивное решение.

Зачем там рекурсия?
Re[3]: Зачем просят перевернуть строку на интервью?
От: De-Bill  
Дата: 10.10.18 09:04
Оценка:
Тё>Сколько времени нужно, чтобы написать реализацию Array.reverse() из этого примера?

Пару минут должно хватить. Но это уже другая задача. В отличие от строк практически во всех языках нам: 1) известна его длина в элементах, 2) по индексу есть доступ к каждому элементу, 3) массив изменяемый.
Re[3]: Зачем просят перевернуть строку на интервью?
От: Vlad_SP  
Дата: 10.10.18 09:07
Оценка: +1
Здравствуйте, Тёмчик,

Тё>Зачем там рекурсия?


Для элегантности же!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.