Перейти к содержанию
    

Олимпиада программистов

Мда... Олимпиада - высшее спортивное состязание. Тут же этим словом прикрыт банальный и циничный поиск дешевой, но квалифицированной рабсилы.

Блин. Это я так перевел. А как бы Вы перевели "Coding Challenge"? Русскоговорящий (но не русскомыслящий) товарищ из Холы перевел это "вызов кодирования". Хорошо еще что он узнал что я скучаю на больничном и попросил прочитать, что он там написал. Если предложите перевод лучше - они могут и поправить. Оригинал - здесь http://hola.org/hola_5min_challenge.html

 

Они ищут квалифицированных программистов, это да. Про дешевизну речи не было. Мозгоклюи они еще те (работать с ними мало кто может), но в банальности их еще никто не упрекал. Или сейчас все работодатели премии за успешно решенные тесты дают?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если предложите перевод лучше - они могут и поправить.
А они заплатят за лучший перевод? Не имею никакого желания помогать капиталистам организовывать их набор сотрудников.

 

И вы и они тщательно убрали из заголовка цель всего мероприятия - набор сотрудников. Подменив ее в заголовке средством достижения этой цели - конкурсом. Банальный, простите, развод.

Возможно мне бы и было интересно соревнование ради соревнования, из спортивного интереса. А вот наниматься никуда не собираюсь и одолжения "может быть мы вам позвоним" мне тем более не нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а 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);
}

Задания с багами даже на "Олимпиаде":(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не известен его требуемый размер...
А чо™ — пробежаться по форматной строке в режиме dry-run :-), вычислить длину.

Потом по указателю на получатель уточнить у менеджера памяти реальный размер выделенного блока (он может отличаться от того, который запрашивали в тех str_cpy() и, возможно, перезапрашивали в str_cat()), например, потому, что менеджер памяти округляет размер блока до 16 или 32 байт. Ну и тогда уже решать, лезет в тот же блок или нет, перезапрашивать новый. Ну и потом уже реально печатать. Всё можно, было бы желание.

Кстати, в str_printf там еще может быть морока, в задании оно печатает в ту же строку, из которой берёт. В случае формата "!%s!" оно начнёт налазить само на себя, нужен какой-от промежуточный буфер либо совсем новый, указатель на который потом записывать в первый аргумент. Так что не зря пока сказано, что str_printf делать не надо :-)

Но и для str_cpy и str_cat подобная беда будет, там всего лишь проще считать необходимую длину.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чо™ — пробежаться по форматной строке в режиме dry-run :-), вычислить длину.
Ага учесть все возможные форматы *%+-0 u l d f s hu hhu .... и нигде не облажаться, ну-ну™....

Я пас!

Проще ещё раз реалоцировать буфер с офигенным запасом и использовать snprint. И это тоже буде та ещё кака, но зато рабочая в большинстве случаев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага учесть все возможные форматы *%+-0 u l d f s hu hhu
Ага, и %*.*s c правильной отработкой отрицательной ширины поля в аругменте.

Ну так ведь олимпиада™ и прочий контест™ с челленджем™

Дорога героев.

 

А буфер с запасом — удел слабаков. На 500 баксов не тянет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо создать поток с переопределенной ф-цией putc() чтобы следила за размером буфера и вызывала realloc() по мере необходимости. Только не хоцца actual_size и cur_pos в статик хранить... некошерно. А, нифига, нормально - в FILE это все есть.

При выходе - ужать буфер до итогового размера и передать ссылку

 

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

про str_printf:

А оно ИМХО и не реализуемо.

Таки реализуемо. Обратите внимание - в английском варианте challengа требование к участникам из Jungo - реализоавть эти функции тоже. И кода должно быть не много :05:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А потом этих гениев примут в штат и посадят очедную опердень писать.

Вот счастье-то.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

- есть тесты, которые он должен пройти, чтобы его приняли за идеальный.

Помнится в программистском детстве прибаливал получить сертификат программиста ответив на подборку вопросов на сайте. Глупости все это...

А проработав несколько лет программером и казалось бы все знавше в своей области, несмог ответить на вопросы анкеты одной конторки, у них наверно была какая-то своя специфика кодинга. Например, мне ясно дали понять, если буду писать имена классов C++ не с буквы "К", а с буквы "C" как привык, я им не подхожу. у них своя особая идеология.

Олимпиада, это все очень сомнительно. Не подпадаеш под шаблон, выбываешь...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Например, мне ясно дали понять, если буду писать имена классов C++ не с буквы "К", а с буквы "C" как привык, я им не подхожу. у них своя особая идеология

 

Это не имеет отношения к теме ветки совсем. Но раз уж мы все здесь собрались.... Code Convention - очень полезная вещь. Помогает читать код друг друга. На интервью (и на тестах) не важно как ты писал раньше, но если программист в _работе_ отказывается следовать правилам, принятым в фирме - это сильный аргумент за его увольнение.

 

А вообще, похоже что на этом форуме концентрация "волков-одиночек" выше, чем в среднем по больнице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще, похоже что на этом форуме концентрация "волков-одиночек" выше, чем в среднем по больнице.

Не ведутся на crappy papers? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На интервью (и на тестах) не важно как ты писал раньше, но если программист в _работе_ отказывается следовать правилам, принятым в фирме - это сильный аргумент за его увольнение.

Наверное по этой причине из 30 лет сознательной жизни у меня только 3 года официального трудового стажа.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное по этой причине из 30 лет сознательной жизни у меня только 3 года официального трудового стажа.

:beer: У меня из 43-х минус 18 = 25 сознательной :) также 3 года. Виват, новые цыгане!

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...