Переход с COBOL на C ++ - PullRequest
       8

Переход с COBOL на C ++

3 голосов
/ 11 апреля 2009

Я довольно младший программист, и у меня есть задача взять интервью у опытного программиста COBOL для мэйнфреймов, чтобы получить должность на C ++ для Windows Mobile. Под опытом я подразумеваю, что всю карьеру кандидата занимался программированием на COBOL.

Я не пристрастен к какому-либо конкретному языку, просто немного обеспокоен своей способностью проводить тщательное собеседование.

Внутри собеседования, как мне, не имея опыта работы с COBOL, лучше понять способности этого собеседника?

Есть ли какие-то конкретные вещи, которые я должен спросить или найти?

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

Ответы [ 4 ]

5 голосов
/ 11 апреля 2009

Лучше всего, дать ему задание, похожее на то, что ему придется делать в вашей компании. Скажите ему, что он может использовать псевдокод (поэтому Интернет не нужен).

Кроме того, главная проблема, с которой сталкиваются люди, работающие с Cobol, заключается в том, чтобы понять OO (поскольку Cobol в основном процедурный ... Я знаю о новых версиях OO).

Еще один подводный камень, который есть у людей, Кобол, понимает концепцию контекста, так как традиционные переменные Кобола живут от начала до конца приложения, в котором он находится.

5 голосов
/ 11 апреля 2009

Если этот человек вообще хороший программист, у него / нее был опыт работы с другими языками. (Говоря как старый пердун, который начал с COBOL и даже хуже RPG / II.) Даже если этот человек никогда не работал ни с чем другим.

Вот некоторые вещи, которые вы можете спросить:

  • «Как вы начали работать с компьютерами?»
  • "Ты занимаешься программированием для удовольствия?"
  • "Почему вы хотите перейти в среду C ++?" (Это особенно хороший вопрос, потому что хороших программистов на COBOL сейчас трудно найти. Держу пари, этот человек хочет научиться чему-то новому.)
  • "Вы занимались программированием на ассемблере?" (Шансы намного выше, они быстро перейдут на C / C ++, если им комфортно с машиной.)
  • "Можете ли вы описать, что означает" объектно-ориентированное программирование "?" (Ключи: ищите описание того, что такое «объекты», «наследование» и «полиморфизм». Если это сработает, спросите, когда они будут использовать наследование против агрегации, т. Е. "Это" отношения против отношения.)
  • "У вас есть компьютер с Windows дома или у вас есть реальный компьютер ?"

Если они утверждают, что обладают знаниями C ++, действительно хороший набор проверочных вопросов:

  • "В чем разница между декларацией и определением в C?"
  • "Каковы различия между" частными "," защищенными "и" публичными "объявлениями в классе?"
  • "Что такое" друг "?" (Дополнительный кредит, если они знают, что «В C ++ только ваши друзья могут получить доступ к вашим личным частям».)
  • «Что такое функция виртуального члена?»
  • «Что такое« виртуальное наследование »?»
2 голосов
/ 25 января 2012

Убедитесь, что они знают и понимают структуры / классы, типы, полиморфизм, шаблоны, функции и, что наиболее важно, указатели. Убедитесь, что они понимают синтаксис. Как они объявят указатель на функцию void, которая принимает два целочисленных аргумента, например? Как они решат самый неприятный анализ? Как списки инициализации могут оптимизировать код? Они знакомы со стандартной библиотекой шаблонов? Могут ли они вручную кодировать примитивный связанный список или векторный массив? Это то, что вы хотите от программиста, способного писать эффективный и чистый код.

1 голос
/ 11 апреля 2009

Разве не важнее выяснить, насколько хорошо собеседник в отношении C ++, если над этим он должен работать?

...