示例C ++测试

时间:2009-02-27 08:09:37

标签: c++ testing

我即将参加C ++考试。但我只得到一个裂缝,超过85%。如果我不推翻那个,那我就没有得到这份工作。

这些测试的问题在于它们通常针对通用C ++,,并且根据您使用的库,您的泛型定义可能会有所不同。 STL和Boost对某些人来说似乎是合乎逻辑的(并且应该是大多数人的一部分)但是我在使用模板之前已经与MFC合作多年。为什么要使用> vector>当你有权访问CArray? (修辞问题)

如果您使用过对话框,则表示您未使用stdio。如果您使用过Borland产品,那么您就没有使用过MFC。如果您使用过Palm,那么您还没有使用过文件系统,而且您肯定没有使用CFile

好的,这就是问题......

鉴于我想通过85%,我正在进行“通用”C ++的在线测试。那么...... 我有没有可以找到测试的地方?越多越好。在测试期间或之后,正确的答案也是好的。只要我能从错误中吸取教训。

编辑:如果你的答案没有测试的链接,一些C ++问题,或者一些面试问题......你错过了是否有我可以去寻找测试的地方?

很好的例子..我刚刚发现了这个问题 以下代码片段打印什么? cout << setw(6) << setfill('#') << "Hello";
我已经编码了9年。并且从未使用coutsetwsetfill一次。不是大学毕业。

9 个答案:

答案 0 :(得分:10)

暂时擦除脑中的所有MFC。去拿一本像The C++ Programming Language这样的书,并尝试从前到后学习这些概念。你应该没事。如果他们要求的不止于此,我不想知道他们对“通用”的定义是什么。

答案 1 :(得分:6)

我曾几次“测试”(以及“采访”),人们更关注以下问题:

  • 什么是面向对象编程? OOA(分析)? OOD(设计)? UML?
  • 你什么时候应该从班级继承?什么时候应该聚集一个类?
  • 什么是虚拟方法?什么是纯虚拟方法?什么是vtable?
  • 兄弟姐妹施放问题。 C类:公众A,公共B; C c; B * b =&amp; C;如何将对象b(类型B *)转换为A *?
  • 当一个简单的程序执行时,堆栈是什么样的?
  • 堆/堆栈之间的区别?
  • new()与malloc()有何区别?

在StackOverflow和其他地方,有很多关于C ++采访问题的讨论:

https://stackoverflow.com/questions/240212/ what-is-the-difference-between-newdelete-and-mallocfree

https://stackoverflow.com/questions/347793/ c-areas-you-look-for-during-interview

https://stackoverflow.com/questions/365823/ what-kinds-of-interview-questions-are-appropriate-for-a-c-phone-screen

http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html

在这里加上我的两分钱:如果他们正在寻找图形细节...看看你是否记住了整个C ++规范......我知道经济现在很臭但它正在改善,还有其他工作,你需要找到其中一个。访谈是一条双向的街道。如果他们在挑选细节,那么就是你想要工作的地方。

答案 2 :(得分:5)

你可以试试Herb Sutter的书Exceptional C++;它包含像问题组织的项目,在我看来,非常清晰,写得很好。我不知道它是否对面试有直接用处,但它会让你思考以前从未考虑过的语言方面。

自从我上次访问它以来已经很长时间了,但您也可以尝试使用面试问题来访问此网站:geekinterview.com - 请特别注意the C++ section

面试的最佳选择:)

答案 3 :(得分:4)

以下代码片段打印的是什么? cout&lt;&lt; setw(6)&lt;&lt; setfill('#')&lt;&lt; “你好”;

它将以下句子打印到标准输出:

  

请不要为我们工作。我们不清楚它是什么意思   优秀的软件开发人员。

答案 4 :(得分:2)

答案 5 :(得分:1)

FAQ's中的一些问题可能会作为测试。

答案 6 :(得分:1)

如果您要为工作进行测试,那么脑瘫测试可能有所帮助。 我想C ++测试是免费的,你可以知道你可以得到什么样的问题。

祝你好运!

答案 7 :(得分:0)

在采访中,我很担心候选人能够告诉我他/她了解他/她正在做什么以及他/她是否倾向于“现代”C ++(即模板密集型)。

他/她还需要了解语言的一些细微差别,但不是最神秘的。我不会问基于语言奇怪的棘手问题。为什么呢?

STL掌握是先决条件。我看到对Boost一无所知是一个坏兆头。

如果我要编写一个测试,我会很容易过滤那些不能掌握C ++语法和逻辑的非常糟糕的程序员。然而,我更喜欢一小时的一对一访谈来过滤候选人。

如果你发现自己正在与一个非常难写的C ++测试作斗争:逃跑。

我希望这会有所帮助。

编辑:如果确实想要测试和问题,请查看:http://www.gotw.ca/gotw/

答案 8 :(得分:0)

有一些免费测试here,他们在youtube上有几个问题的解释视频。