Контакты

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (47)

Лучшие ответы пользователя

Все ответы (88)
  • За что программист получает деньги?

    kloppspb
    @kloppspb
    Насчёт поддержки здесь вот какая штука. Вот сдал исполнитель вам заказ. И тут же загрузил себя другими. Или наоборот - слинял на пляже валяться. А тут вам вдруг приспичило. Вот вам два варианта развития событий:
    1. ваши хотелки будут задвинуты в самый конец очереди/отпуска, если вообще не сразу выкинуты из головы
    2. всё остальное будет отодвинуто/заморожено, а вами займутся немедленно, с наивысшим приоритетом

    Почему-то мне кажется, что при "поддержке" программиста в течении какого-то срока после сдачи заказа вероятность второго варианта будет намного выше :) Хотя, конечно, все эти вещи надо оговаривать явно. Вам же их не навязывают?
    Ответ написан
  • Что положить в портфолио программиста на Си?

    kloppspb
    @kloppspb
    Работодатели не очень-то и разглядывают ваши исходники. А вопросы всякие задавать будут. Про плюсы не скажу, а вот для C важно не только знание языка. Что могут спросить:
    • Что такое volatile и на что влияет
    • Примеры использования спецификатора static
    • Знание препроцессора - написать парочку макросов типа max(), min(), max3() и т.д. (есть тут подводные камни)
    • Правильное использование sizeof(), union, generic-типов (char c = fgetc() это EPIC FAIL), что такое endianness
    • Что-нибудь про стандартную библиотеку (чем плоха gets(), форматы printf/scanf, правильное использование realloc() и т.д.)
    • ...

    Могут попросить найти ошибки в простеньких примерах, или сказать что делает код, или объяснить почему он падает или работает некоррекно (в последнем случае дело, скорее всего, окажется или в переполнении, или в приоритете операций, или в какой-то фигне типа попытки вернуть из функции адрес локальной переменной...).

    Отдельным пунктом вопросы по алгоритмам и данным, сишнику без этого никак. Может самая база (что такое O-нотация, как в общих чертах устроены хэш-таблицы), а может и вопросы похитрей (почему на больших объёмах разнородных данных какая-то реализация qsort() работает быстро, а если дать ей такой же объём одинаковых данных - замирает; самой реализации не показывают, да этого и не нужно для ответа).

    Тестовые задания, да. Классика - написать вычислятор строки с арифметическим выражением ("10 * 21 + 64 / 8 - 12").

    Ещё стоит учитывать, что сишники нынче больше используются в проектах, где обязательно знание GCC, систем сборки на make, cmake и т.д. Умения собрать какие-то чужие библиотеки/утилиты из исходников, поправить Makefile, набросать какую-то обёртку на bash - тоже нужны. В ту же коробочку положить знание инструментов типа Valgring, GProf, GCov.

    Ну и, как уже верно сказали, смотреть на требования к конкретным вакансиям.
    Ответ написан
  • Зачем gcc просит подключить stdlib.h?

    kloppspb
    @kloppspb
    Такое уж время пришло, что компиляторы стали умней программистов.

    Программисты нынче не знают, как в C выглядит прототип функции по умолчанию. Зачем нужны прототипы вообще.

    Даже если компиляторы орут им громко и явным текстом... Хоть "note", хоть "warning" - нет, нынешний программист выше этого. Читать сообщения компилятора? Тьху. Читать учебники по языку? Трижды тьху. Задам-ка я лучше другой вопрос. Например, "какой язык поучить, чтобы денег вагон, и знать ничего не надо".
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (3)