Migrating from COBOL to C ++

I am a fairly young programmer and have the task of interviewing an experienced MBB programmer for a position in developing C ++ for Windows Mobile. From experience, I mean that the candidate for the entire programming career was COBOL.

I am not biased towards any particular language, I am just a little concerned about my ability to conduct a thorough interview.

Inside the interview, how am I, without the COBOL experience, well versed in the abilities of this interlocutor?

Are there any specific things I should ask or look for?

I already read a lot of general interview materials about what would be useful if there were any specific things I was looking for, given the nature of the background of the candidate.

+4
source share
4 answers

It is best to give him a task similar to what he will have to do in your company. Tell him that he can use pseudocode (so the internet is not needed).

In addition, the main problem that Cobol people face is understanding OO (since Cobol is mostly procedural ... I know about new versions of OO).

Another mistake that Cobol people face is understanding the concept of the realm, since traditional Cobol each variable lives from the beginning to the end of the application in which it is located.

+5
source

If this person is a good programmer, he / she has experience working with other languages. (Speaking like an old fart who started with COBOL and even worse RPG / II.) Even if this person never had work with anything else.

Here are some questions you can ask:

  • "How did you get started with computers?"
  • "Do you do programming for fun?"
  • "Why do you want to switch to a C ++ environment?" (This is a particularly good question, because good COBOL programmers are actually hard to find right now. I bet this person wants to learn something new.)
  • "Have you done any assembly language programming?" (Odds are much better; they will quickly switch to C / C ++ if they are comfortable with the machine.)
  • "Can you describe what" object-oriented programming "means?" (Keys: find a description of what “objects”, “inheritance”, and “polymorphism” are. If this works, ask when they will use inheritance versus aggregation, that is, “There are relationships versus relationships.)
  • "Do you have a Windows computer at home or do you have a real computer ?"

If they require any knowledge of C ++, a really good set of questions to check is:

  • "What is the difference between a declaration and a definition in C?"
  • "What are the differences between the 'private', 'protected' and 'public' declarations in the class?"
  • “What is a“ friend? ”(Extra credit if they know that“ in C ++ only your friends can access your private parts. ”)
  • "What is a virtual member function?"
  • "What is virtual inheritance?"
+5
source

Make sure they know and understand structures / classes, types, polymorphism, patterns, functions, and most importantly, pointers. Make sure they understand the syntax. How would they declare a pointer to a void function that takes two integer arguments, for example? How do they solve the most annoying parsing? How does list initialization optimize code? Are they familiar with the standard template library? Can they manually pass a primitive linked list or vector array manually? This is what you want the programmer to write efficient and clean code.

+2
source

Isn’t it important to find out how well the person is talking to C ++, if that’s what he should be working on?

+1
source

All Articles