igorle 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Мда... Олимпиада - высшее спортивное состязание. Тут же этим словом прикрыт банальный и циничный поиск дешевой, но квалифицированной рабсилы. Блин. Это я так перевел. А как бы Вы перевели "Coding Challenge"? Русскоговорящий (но не русскомыслящий) товарищ из Холы перевел это "вызов кодирования". Хорошо еще что он узнал что я скучаю на больничном и попросил прочитать, что он там написал. Если предложите перевод лучше - они могут и поправить. Оригинал - здесь http://hola.org/hola_5min_challenge.html Они ищут квалифицированных программистов, это да. Про дешевизну речи не было. Мозгоклюи они еще те (работать с ними мало кто может), но в банальности их еще никто не упрекал. Или сейчас все работодатели премии за успешно решенные тесты дают? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Если предложите перевод лучше - они могут и поправить.А они заплатят за лучший перевод? Не имею никакого желания помогать капиталистам организовывать их набор сотрудников. И вы и они тщательно убрали из заголовка цель всего мероприятия - набор сотрудников. Подменив ее в заголовке средством достижения этой цели - конкурсом. Банальный, простите, развод. Возможно мне бы и было интересно соревнование ради соревнования, из спортивного интереса. А вот наниматься никуда не собираюсь и одолжения "может быть мы вам позвоним" мне тем более не нужны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Ну а str_printf() как-то сам должен " Mundo" на " World" менять, но реализация его пока не требуется. А оно ИМХО и не реализуемо. Я было попробовал, но неизбежно переполнение буфера, т.к. нам не известен его требуемый размер... int str_printf(char** pdst, char* format, ...) { va_list arg_ptr; va_start(arg_ptr, format); int x = vsprintf(*pdst, format, arg_ptr); va_end(arg_ptr); return (x); } Задания с багами даже на "Олимпиаде":( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба не известен его требуемый размер...А чо™ — пробежаться по форматной строке в режиме dry-run :-), вычислить длину. Потом по указателю на получатель уточнить у менеджера памяти реальный размер выделенного блока (он может отличаться от того, который запрашивали в тех str_cpy() и, возможно, перезапрашивали в str_cat()), например, потому, что менеджер памяти округляет размер блока до 16 или 32 байт. Ну и тогда уже решать, лезет в тот же блок или нет, перезапрашивать новый. Ну и потом уже реально печатать. Всё можно, было бы желание. Кстати, в str_printf там еще может быть морока, в задании оно печатает в ту же строку, из которой берёт. В случае формата "!%s!" оно начнёт налазить само на себя, нужен какой-от промежуточный буфер либо совсем новый, указатель на который потом записывать в первый аргумент. Так что не зря пока сказано, что str_printf делать не надо :-) Но и для str_cpy и str_cat подобная беда будет, там всего лишь проще считать необходимую длину. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба А чо™ — пробежаться по форматной строке в режиме dry-run :-), вычислить длину.Ага учесть все возможные форматы *%+-0 u l d f s hu hhu .... и нигде не облажаться, ну-ну™.... Я пас! Проще ещё раз реалоцировать буфер с офигенным запасом и использовать snprint. И это тоже буде та ещё кака, но зато рабочая в большинстве случаев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Ага учесть все возможные форматы *%+-0 u l d f s hu hhuАга, и %*.*s c правильной отработкой отрицательной ширины поля в аругменте. Ну так ведь олимпиада™ и прочий контест™ с челленджем™ Дорога героев. А буфер с запасом — удел слабаков. На 500 баксов не тянет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 (изменено) · Жалоба Надо создать поток с переопределенной ф-цией putc() чтобы следила за размером буфера и вызывала realloc() по мере необходимости. Только не хоцца actual_size и cur_pos в статик хранить... некошерно. А, нифига, нормально - в FILE это все есть. При выходе - ужать буфер до итогового размера и передать ссылку Изменено 26 февраля, 2013 пользователем _Pasha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorle 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба про str_printf: А оно ИМХО и не реализуемо. Таки реализуемо. Обратите внимание - в английском варианте challengа требование к участникам из Jungo - реализоавть эти функции тоже. И кода должно быть не много :05: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SSerge 4 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба А потом этих гениев примут в штат и посадят очедную опердень писать. Вот счастье-то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба Вот счастье-то. Счастье есть... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Слесарь 9 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба - есть тесты, которые он должен пройти, чтобы его приняли за идеальный. Помнится в программистском детстве прибаливал получить сертификат программиста ответив на подборку вопросов на сайте. Глупости все это... А проработав несколько лет программером и казалось бы все знавше в своей области, несмог ответить на вопросы анкеты одной конторки, у них наверно была какая-то своя специфика кодинга. Например, мне ясно дали понять, если буду писать имена классов C++ не с буквы "К", а с буквы "C" как привык, я им не подхожу. у них своя особая идеология. Олимпиада, это все очень сомнительно. Не подпадаеш под шаблон, выбываешь... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorle 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба ... Например, мне ясно дали понять, если буду писать имена классов C++ не с буквы "К", а с буквы "C" как привык, я им не подхожу. у них своя особая идеология Это не имеет отношения к теме ветки совсем. Но раз уж мы все здесь собрались.... Code Convention - очень полезная вещь. Помогает читать код друг друга. На интервью (и на тестах) не важно как ты писал раньше, но если программист в _работе_ отказывается следовать правилам, принятым в фирме - это сильный аргумент за его увольнение. А вообще, похоже что на этом форуме концентрация "волков-одиночек" выше, чем в среднем по больнице. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба А вообще, похоже что на этом форуме концентрация "волков-одиночек" выше, чем в среднем по больнице. Не ведутся на crappy papers? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Слесарь 9 26 февраля, 2013 Опубликовано 26 февраля, 2013 · Жалоба На интервью (и на тестах) не важно как ты писал раньше, но если программист в _работе_ отказывается следовать правилам, принятым в фирме - это сильный аргумент за его увольнение. Наверное по этой причине из 30 лет сознательной жизни у меня только 3 года официального трудового стажа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 26 февраля, 2013 Опубликовано 26 февраля, 2013 (изменено) · Жалоба Наверное по этой причине из 30 лет сознательной жизни у меня только 3 года официального трудового стажа. :beer: У меня из 43-х минус 18 = 25 сознательной :) также 3 года. Виват, новые цыгане! Изменено 26 февраля, 2013 пользователем _Pasha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться