2009-04-11 2 views
4

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

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

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

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

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

ответ

5

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

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

еще один ловушкой Cobol человек схватывает понятие области видимости, как и традиционный Cobol каждого переменные живут от начала до нижней части приложения он находится.

+0

Спасибо, я слышал об ограничениях OO более старых версий COBOL, но не рассматривал вещи. –

1

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

+0

Кандидат скорее всего будет лучшим программистом, чем его способность с C++ предложит, так как C++ уже очень сложный и незнакомый. Вопрос задает вопрос о том, как ощущать способность кандидата к программированию, а не опыт C++. – SingleNegationElimination

+0

Правда, но чтобы решить, может ли он эффективно работать над проектом C++, я попросил бы его начать изучать C++, вернуться позже и проверить его (или ее) прогресс. – lothar

+0

Мы набираем несколько человек для краткосрочного контракта с возможностью проката после этого. Ограниченный срок не дает нам роскоши попросить его вернуться позже. –

5

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

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

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

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

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

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