Linux / Unix Опыт - PullRequest
       6

Linux / Unix Опыт

4 голосов
/ 14 сентября 2009

Когда я смотрю описания работ для Google, Amazon и т. Д., Все они требуют опыта работы с C ++ и Linux / Unix. Может ли кто-нибудь определить, что это обычно означает в контексте квалификации работы? Знаю ли я, как просматривать файловую систему в Linux? Я знаю, как выполнять команды? Является ли кодирование C ++ совершенно разным для Linux / Unix envs (компилятор должен быть разным, верно)? Спасибо.

Ответы [ 3 ]

7 голосов
/ 14 сентября 2009

Обычно это означает, что вы знаете инструменты разработчика, доступные в * nix системах, а также низкоуровневую архитектуру интерфейса c в os (системные вызовы). В частности, способ размещения библиотек / usr / включает, например, способ, которым работает make в системах * nix. Доступные оболочки и их различия (bash, ksh, sh), а также способы использования инструментов (команд) для создания сложных сценариев. Это также означает знание системных вызовов, чтобы вы могли использовать низкоуровневую семантику.

1 голос
/ 14 сентября 2009

Часть Linux / Unix - это то, что описал ennuikiller, зная систему, базовое использование, API, Makefiles и т. Д.

Вторая часть, C ++, имеет тенденцию делиться на две категории. Люди либо ищут базовое понимание указателей, использования памяти, STL, шаблонов и тому подобного, либо ищут опыт разработки с конкретными библиотеками, такими как Boost или Qt.

Я бы сказал, что большинство из того, что я видел / брал интервью - это первая часть, базовые знания языка, указатели, шаблоны. Время от времени я вижу работу, требующую опыта работы с Qt или Boost, но обычно это должности среднего и старшего уровня.

Чтобы обобщить, если вы установили дистрибутив Linux и попытались разработать с использованием * nix инструментов, вы должны знать достаточно для первого требования. Для C ++, если вы можете создать базовую реализацию класса шаблона связанного списка (функции добавления / удаления / печати / поиска / сортировки), вы знаете достаточно.

Это, конечно, основано только на этих двух требованиях и ничего не знать о должности. Вам может понадобиться знать сетевые функции Linux, файловый ввод / вывод, сортировку, обход дерева и множество других API и алгоритмов, в зависимости от того, что требует работа.

0 голосов
/ 14 сентября 2009

Имея опыт работы с C ++ и без опыта Linux, я смог стать старшим разработчиком: единолично отвечал за разработку, кодирование и тестирование независимой функции / компонента.

Однако мне нужен был помощник / руководитель группы, который был бы готов ответить на мои вопросы по Unix, о том, как:

  • Список файлов, атрибуты тестового файла и т. Д., Достаточно хорошо, чтобы использовать контроль исходного кода
  • Использовать редактор исходного кода (я редактировал в Windows, скомпилировал в Linux)
  • Создание make-файлов (или эквивалент)
  • Помогите с использованием gdb, скажите, что valgrind существует
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...