Программирование на лету -- новый тренд ?

Ответить
Аватара пользователя
ALV00
Уже с Приветом
Сообщения: 1494
Зарегистрирован: Пт мар 08, 2002 4:01 am
Откуда: NJ

Re: Программирование на лету -- новый тренд ?

Сообщение ALV00 »

Это еще что. Меня однажды попросили продиктовать код по телефону. Не алгоритм, а именно конкретный код.
Аватара пользователя
Medium-rare
Уже с Приветом
Сообщения: 9195
Зарегистрирован: Чт мар 03, 2011 9:04 pm
Откуда: SFBA

Re: Программирование на лету -- новый тренд ?

Сообщение Medium-rare »

ALV00 писал(а): Пн янв 29, 2018 11:04 am Это еще что. Меня однажды попросили продиктовать код по телефону. Не алгоритм, а именно конкретный код.
:great:
Ну, то есть, собеседование на вакансию телефонного модема было.
... and even then it's rare that you'll be going there...
Аватара пользователя
Prosche
Уже с Приветом
Сообщения: 8090
Зарегистрирован: Пн ноя 08, 2004 6:24 am
Откуда: GA

Re: Программирование на лету -- новый тренд ?

Сообщение Prosche »

Ion Tichy писал(а): Вс янв 28, 2018 5:15 pm
adda_ писал(а): Вс янв 28, 2018 1:27 pm
Sergunka писал(а): Вс янв 28, 2018 12:59 pm Вот мне на медне давали тест типо на два часа напиши обмен между серверами платежами

https://github.com/SVyatkin/RippleJavaT ... lChallenge

Сделал по приколу очень хотелось посмотреть, что за контингент работает в одном из раскрученных стартапов по крипто-валюте.

К слову сказать более "унылых" людей в своей жизни не видел и самое прикольное они даже не сумели найти мой код :D
Код хороший, хотя я на яве никогда не писал. Если они тебя не взяли, то у них с головой не все в порядке.
Я б не взял. Чел, исползующий в Жабе "double" для $$$ однозначно чужд финансам. Можно быть снисходительным к разным фигням в стрессе дефицита времени, но некоторые фигни _должны_ вылетать с клавиатуры на автомате.
Впрочем это оффтоп, прошу не пинать и дискуссию про "Серый крут" не развивать.
+1
у нас за double/float в валютах интервью сразу заканчивалось, ну если не джуниор.
Аватара пользователя
Prosche
Уже с Приветом
Сообщения: 8090
Зарегистрирован: Пн ноя 08, 2004 6:24 am
Откуда: GA

Re: Программирование на лету -- новый тренд ?

Сообщение Prosche »

Ion Tichy писал(а): Вс янв 28, 2018 5:50 pm [Я не успел, завяз в граничных условиях рекурсии.
Эта задача решается не рекурсией. Вообще использование рекурсии моветон.
Аватара пользователя
Sergunka
Уже с Приветом
Сообщения: 34164
Зарегистрирован: Вс дек 03, 2000 4:01 am
Откуда: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Программирование на лету -- новый тренд ?

Сообщение Sergunka »

https://rosettacode.org/wiki/Count_the_coins

Здесь все возможные алгоритмы на разных языках.
"A patriot must always be ready to defend his country against his government." Edward Abbey
z80
Сообщения: 13
Зарегистрирован: Ср янв 24, 2018 8:43 pm

Re: Программирование на лету -- новый тренд ?

Сообщение z80 »

Sergunka писал(а): Вс янв 28, 2018 12:16 pm ...
Так же я с сыном старшим поиграл в олимипийские игры по програмированию где надо за 4 часа попытаться решить 3 задачи... мне это особо ничего не дало - сыну очень много дало для учебы в Беркли на CS. В Беркли все построенно на тайм меджменте дают очки за каждую задачу сделанную чуть раньше ну и тд.
...
А не могли бы Вы дать ссылку на какие-нибудь ресурсы по олимпийским задачкам? Хочу сына тоже начать учить.

Какого возраста был Ваш сын когда Вы эти задачки решали?
nyekimov
Уже с Приветом
Сообщения: 2761
Зарегистрирован: Сб июл 11, 2015 2:01 pm
Откуда: Chicago

Re: Программирование на лету -- новый тренд ?

Сообщение nyekimov »

z80 писал(а): Пн янв 29, 2018 2:31 pm
Sergunka писал(а): Вс янв 28, 2018 12:16 pm ...
Так же я с сыном старшим поиграл в олимипийские игры по програмированию где надо за 4 часа попытаться решить 3 задачи... мне это особо ничего не дало - сыну очень много дало для учебы в Беркли на CS. В Беркли все построенно на тайм меджменте дают очки за каждую задачу сделанную чуть раньше ну и тд.
...
А не могли бы Вы дать ссылку на какие-нибудь ресурсы по олимпийским задачкам? Хочу сына тоже начать учить.

Какого возраста был Ваш сын когда Вы эти задачки решали?
leetcode.com, hackerrank.com, codingame.com.
Аватара пользователя
Мальчик-Одуванчик
Уже с Приветом
Сообщения: 15526
Зарегистрирован: Чт сен 27, 2007 5:53 pm

Re: Программирование на лету -- новый тренд ?

Сообщение Мальчик-Одуванчик »

Prosche писал(а): Пн янв 29, 2018 12:09 pm Вообще использование рекурсии моветон.
Если рекурсия с хвостом - то как бы наоборот.
Аватара пользователя
Prosche
Уже с Приветом
Сообщения: 8090
Зарегистрирован: Пн ноя 08, 2004 6:24 am
Откуда: GA

Re: Программирование на лету -- новый тренд ?

Сообщение Prosche »

Мальчик-Одуванчик писал(а): Пн янв 29, 2018 3:50 pm Если рекурсия с хвостом - то как бы наоборот.
Что за рекурсия с хвостом? Вы про хвостовую рекурсию? И что там наоборот? Сидеть и молиться, что компилятор интерпретирует ее как набор последующих вызовов, почистит стек и не завалит аппу уже на 1000000 вызове? Вместо того чтобы вызвать цикл? Поясните плз.
Аватара пользователя
John Smith
Уже с Приветом
Сообщения: 1681
Зарегистрирован: Ср окт 04, 2006 6:30 pm
Откуда: Las Vegas

Re: Программирование на лету -- новый тренд ?

Сообщение John Smith »

а всякие tree traversal чем делать, чтоб не моветон?
Аватара пользователя
Serguei666
Уже с Приветом
Сообщения: 18917
Зарегистрирован: Чт июл 10, 2003 8:00 pm
Контактная информация:

Re: Программирование на лету -- новый тренд ?

Сообщение Serguei666 »

Prosche писал(а): Пн янв 29, 2018 12:09 pm
Ion Tichy писал(а): Вс янв 28, 2018 5:50 pm [Я не успел, завяз в граничных условиях рекурсии.
Эта задача решается не рекурсией. Вообще использование рекурсии моветон.
А вы предлагаете обойти дерево, если не рекурсивно?
Аватара пользователя
Sergunka
Уже с Приветом
Сообщения: 34164
Зарегистрирован: Вс дек 03, 2000 4:01 am
Откуда: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Программирование на лету -- новый тренд ?

Сообщение Sergunka »

z80 писал(а): Пн янв 29, 2018 2:31 pm
Sergunka писал(а): Вс янв 28, 2018 12:16 pm ...
Так же я с сыном старшим поиграл в олимипийские игры по програмированию где надо за 4 часа попытаться решить 3 задачи... мне это особо ничего не дало - сыну очень много дало для учебы в Беркли на CS. В Беркли все построенно на тайм меджменте дают очки за каждую задачу сделанную чуть раньше ну и тд.
...
А не могли бы Вы дать ссылку на какие-нибудь ресурсы по олимпийским задачкам? Хочу сына тоже начать учить.

Какого возраста был Ваш сын когда Вы эти задачки решали?
http://usaco.org/index.php?page=resources

 Начали мы с программизма довольно серьезно уже с 14 лет написали игрушку для Android

https://habrahabr.ru/post/264117/

В 10 классе попробовали Гугл Джем - не пошел... потом олимпиаду usaco.org там проще с уровнем вхождения там разные дивизионы начинаешь с бронзы. Мы выбрались до золотого. Играли пару лет, но после золотого это просто вынос мозга... в общем завязали.
"A patriot must always be ready to defend his country against his government." Edward Abbey
Аватара пользователя
Prosche
Уже с Приветом
Сообщения: 8090
Зарегистрирован: Пн ноя 08, 2004 6:24 am
Откуда: GA

Re: Программирование на лету -- новый тренд ?

Сообщение Prosche »

Serguei666 писал(а): Пн янв 29, 2018 4:56 pm
Prosche писал(а): Пн янв 29, 2018 12:09 pm
Ion Tichy писал(а): Вс янв 28, 2018 5:50 pm [Я не успел, завяз в граничных условиях рекурсии.
Эта задача решается не рекурсией. Вообще использование рекурсии моветон.
А вы предлагаете обойти дерево, если не рекурсивно?
Я предлагаю выяснить для начала как вы будете его обходить, если в глубину то примените стек, если в ширину то очередь.
Larsonsager
Уже с Приветом
Сообщения: 1860
Зарегистрирован: Пт сен 02, 2016 3:26 pm

Re: Программирование на лету -- новый тренд ?

Сообщение Larsonsager »

OtherSide писал(а): Пн янв 29, 2018 7:43 am
lxf писал(а): Вс янв 28, 2018 5:40 pm
Falcon писал(а): Вс янв 28, 2018 4:40 pm Большинство работы в современном программировании сводится к достаточно стандартным вещам.
Ну вот вам пример. Индус просит написать код на любоя языке (я выбрал C#), который сливает и сортирует 2 линкованных листа в один.
Я пишу код из 1 строчки. Индус недоволен, говорит, что надо на низкому уровне.

Код: Выделить всё

var resultList = list1.Concat(list2).OrderBy(e => e).ToList();
Вопрос. Как часто на работе нам приходится изобретать колесо ? И нужны ли такие изобретатели ?
По моему вы придуриваетесь. Из условия задачи (любой язык) ясно, что от вас просят алгоритм. Выбрать библиотеку, в котором алгоритм уже реализован, это читерство.
А писать велосипед, чуствительный к памяти и быстродействию приходится очень часто.
Скорее всего, задачу сформулировали здесь не так, как на собеседовании. На собеседовании, вероятно, была осмысленная задача слить два сортированных списка в один опять же сортированный. То есть реализовать один из шагов сортировки слияния, который действительно может понадобиться и в других приложениях.

Между прочим, в шарпе ToList() возвращает вовсе не "линкованный лист", а массив.
Larsonsager
Уже с Приветом
Сообщения: 1860
Зарегистрирован: Пт сен 02, 2016 3:26 pm

Re: Программирование на лету -- новый тренд ?

Сообщение Larsonsager »

lxf писал(а): Вс янв 28, 2018 6:13 pm
Ion Tichy писал(а): Вс янв 28, 2018 5:50 pm Последняя моя задача: у Вас есть бездонный кошелек с монетами из конечного множества целых номиналов (напр. пени, дайм, никель, квотер или копейка, двушка, алтын, пятак). Вам дается (а) массив номиналов и (б) целое положительное число Д. Ваша программа должна напечатать кол-во способов набора Д Вашими монетами. Час времени. Я не успел, завяз в граничных условиях рекурсии.
У меня уже 2 индуса подобное спрашивали. Одному я решил, но из дома. На лету у доски не вышло. Но туда и не захотел поступать. А второму индусу переслал решение после интервью. Ну я просто не помнил наизусть, что я там написал 2 месяца тому назад.

Моя идея решения было проста. Каждому номиналу приписываем двоичный вес, а потом крутим цикл по количеству номиналов, по всем двоичным единицам цепляем соответсвующий номинал и прибавляем к сумме. Как бы двоичные веса маппируются на номиналы. Если количество номиналов укладывается в стандартную разрядную сетку (32 или 64), то можно обойтись родными целыми числами. Иначе придётся имитировать двоичную разрядную сетку массивом из bool, например.
Это классическая задача на динамику. Если знать, что она на динамику, то придумать алгоритм можно за минуту, еще минут 5-40 на реализацию и отладку, по обстоятельствам.
Ответить

Вернуться в «Работа и Карьера в IT»