从 COBOL 过渡到 C++

发布于 2024-07-17 02:08:23 字数 291 浏览 3 评论 0原文

我是一名相当初级的程序员,我的任务是面试一位经验丰富的大型机 COBOL 程序员,以担任 Windows Mobile 的 C++ 开发职位。 我所说的“经验丰富”是指候选人的整个编程生涯都是 COBOL。

我对任何特定语言没有偏见,只是稍微担心我进行彻底采访的能力。

在面试过程中,没有 COBOL 经验的我如何才能很好地感受到面试者的能力?

我应该询问或寻找什么具体的事情吗?

我已经阅读了很多有关 SO 的一般面试资料,考虑到候选人背景的性质,我寻找的任何具体内容都会有所帮助。

I am a fairly junior programmer and have the task of interviewing an experienced mainframe COBOL programmer for a position doing C++ development for Windows Mobile. By experienced I mean that the candidate's entire programming career has been COBOL.

I am not biased against any particular language, just slightly concerned about my ability to do a thorough interview.

Inside of an interview how can I, with no COBOL experience, get a good feel for the abilities of this interviewee?

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

I have already read up on a lot of general interview stuff on SO, what would be helpful are any specific things I look for given the nature of the candidate's background.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一梦浮鱼 2024-07-24 02:08:23

最好的事情是,给他一项任务,类似于他在你的公司要做的事情。
告诉他他可以使用伪代码(因此不需要互联网)。

另外,Cobol 人们面临的主要问题是掌握 OO(因为 Cobol 主要是程序性的......我知道新的 OO 版本)。

Cobol 人们遇到的另一个陷阱是掌握范围概念,因为传统的 Cobol 每个变量从头到尾都存在于他所在的应用程序中。

The best thing is, give him a task, similar to what he will have to do at your company.
Tell him he can use pseudo code (So no Internet is needed).

Also, The main problem Cobol people have is to grasp OO (Since Cobol is mostly procedural...I am aware of new OO versions).

One more pitfall Cobol people have is grasping the scope concept, As traditional Cobol each variable live from start to bottom of the app he is in.

忘羡 2024-07-24 02:08:23

如果这个人是一名优秀的程序员,他/她就有使用其他语言的经验。 (以一个从 COBOL 甚至更糟糕的 RPG/II 开始的老家伙的身份来说。)即使这个人从未从事过其他任何工作。

您可能会问以下问题:

  • “您是如何开始使用计算机的?”
  • “你编程是为了好玩吗?”
  • “为什么要迁移到 C++ 环境?” (这是一个特别好的问题,因为现在优秀的 COBOL 程序员实际上很难找到。我敢打赌这个人想学习新的东西。)
  • “你做过汇编语言编程吗?” (如果他们对机器感到满意,那么他们很快掌握 C/C++ 的可能性就会大得多。)
  • “你能描述一下‘面向对象编程’的含义吗?” (关键:寻找对“对象”、“继承”和“多态性”的描述。如果可行,询问他们何时使用继承与聚合,即“是一个”关系与“有一个”关系关系。)
  • “您家里有一台 Windows 计算机还是有一台真正的计算机?”

如果他们声称有任何 C++ 知识,那么一组非常好的筛选问题是:

  • “C 中的声明定义有什么区别?”
  • “类中‘私有’、‘受保护’和‘公共’声明之间有什么区别?”
  • “什么是‘朋友’?” (如果他们知道说“在 C++ 中只有你的朋友可以访问你的私人部分,则额外加分。”)
  • “什么是虚拟成员函数?”
  • “什么是‘虚拟继承’?”

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

Here are some things you might ask:

  • "How did you get started with computers?"
  • "Do you do any programming for fun?"
  • "Why do you want to move to a C++ environment?" (This is an especially good question because good COBOL programmers are actually hard to find now. I'll bet this person wants to learn something new.)
  • "Have you done any assembly language programming?" (Odds are much better they'll take to C/C++ quickly if they are comfortable with the machine.)
  • "Can you describe what 'object oriented programming' means?" (Keys: look for a description of what "objects" are, "inheritance", and "polymorphism". If that works out, ask when they'd use inheritance vs aggregation, ie, "is a" relations vs "has a" relations.)
  • "Do you have a Windows computer at home or do you have a real computer?"

If they claim any C++ knowledge, a really good set of screening questions are:

  • "What is the difference between a declaration and a definition in C?"
  • "What are the differences among 'private', 'protected' and 'public' declarations in a class?"
  • "What is a 'friend'?" (Extra credit if they know to say that "In C++ only your friends can access your private parts.")
  • "What is a virtual member function?"
  • "What is 'virtual inheritance'?"
红尘作伴 2024-07-24 02:08:23

确保他们知道并理解结构/类、类型、多态性、模板、函数,以及最重要的指针。
确保他们理解语法。 例如,他们如何声明一个指向带有两个整数参数的 void 函数的指针? 他们将如何解决最令人烦恼的解析?
初始化列表如何优化代码? 他们熟悉标准模板库吗?
他们可以手工编写原始链表或向量数组吗?
这些是您想要的能够编写高效、简洁代码的程序员所具备的东西。

Make sure they know and understand structs/classes, types, polymorphism, templates, 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 would they solve the most vexing parse?
How can initialization lists optimize code? Are they familiar with the Standard Template Library?
Can they hand-code a primitive linked list or vector array by hand?
These things are what you want in a programmer capable of writing efficient and clean code.

暖风昔人 2024-07-24 02:08:23

如果面试者应该从事 C++ 方面的工作,那么了解他在 C++ 方面的水平不是更重要吗?

Isn't it more important to figure out how good the interviewee is in regards to C++, if that's what he is supposed to work on?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文