C ++面试准备

接下来我要和一家在金融软件行业工作的公司进行电话面试。 面试主要是用C ++来解决问题和逻辑。 请告诉我这次面试的准备方法。 我已经开始通过C ++思维进行浏览,并理解概念。 有没有其他办法可以准备? 请帮忙。

编辑:

谢谢大家的build议。 我只想补充一点,我目前刚刚gradle,没有以前的经验。 所以你能提出一些问题,将要求新的gradle生?

确保你知道你的基本数据结构和algorithm。 你更可能被问到这些东西,而不是食物链上的东西。 这些通常是为面试而保存的。

换句话说:坚实的基础和坚实的C + +语法。 另外,像STL和Boost这样的公共图书馆的知识也不会受到伤害,但是要确保你知道这些图书馆给你的东西! 在最后的电话屏幕上可以找出那些不能做基础的人。 certificate你可以,你应该继续下一步。 祝你好运!

以下是面试问题的一些链接:

  • C ++面试问题@ DevBistro
  • C ++面试问题@ Blogspot
  • C ++面试问题@ FYI中心
  • Steve Yegge的五个基本的手机屏幕问题 (这是为了回应你的编辑而添加的),这不是C ++ – 但是它适用于C ++,我认为在你的情况下是一个很好的阅读。

为了完成的目的,一些书籍:

  • Scott Meyers“Effective”系列( 有效的C ++ , 更有效的C ++ , 有效的STL )
  • 草药萨特的“例外”系列( 特殊的C + + , 更多特殊的C + + , 特殊的C + +风格 )
  • Josuttis 的C ++标准库
  • Lippman等人的C ++ Primer
  • Stroustrup的文本作为参考

我曾经采访过几位专门研究C ++知识的候选人,如果有一个问题能够很好的把人们对C ++的了解放在一个渐变上,那就是:

尽你所能修复这个内存泄漏:

 void doSomething()
 {
 Foo * pFoo = new Foo();
 [做一些东西]
 }
  • +1删除pFoo在最后
  • +2将pFoo放入std :: auto_ptr
  • +3知道RAII是什么 – 这个概念,如果不是首字母缩略词
  • +4提到auto_ptr的exception安全保证
  • +5将pFoo放入boost:shared_ptr
  • +6知道什么时候shared_ptr可能不会被释放。
  • +7讨论垃圾回收技术来修复循环引用

这总是表明有人用C ++工作了多长时间。 这是一个数据点,可以用来告诉你在C ++知识的规模。

编辑:我会build议有人在3级或以上雇用。

  • 在TopCoder上尝试一些练习题。

  • 查看Marshall Cline的C ++ FAQ 。 这是学习一些新东西的好方法,并且在你决定问你一些“知识”问题而不是“解决问题”的问题时已经知道你已经知道的东西。

即使他们正在面试C ++职位,并不是所有的问题都可能是C ++特有的。 例如,我在同一组C ++职位的访谈中遇到了与以下所有相关的问题:

  • 众所周知的sorting和searchalgorithm的algorithm复杂度
  • multithreading编程
  • 多进程编程
  • 套接字编程
  • 软件开发理念/方法
  • 软件testing和validation理念/方法
  • debugging
  • 标杆
  • 代码的dynamic和静态分析(例如运行时内存泄漏检测与编译时)

就我而言,电话面试是筛选过程的一部分,以确定我是否可以参加在线C / C ++知识testing(例如通过BrainBench)。 在线testing结果决定了是否可以现场采访,这也包括更多的“实际操作”的软件开发testing。

因人而异。 很大程度上取决于您在简历中声明的内容。

面试官经常试图通过给你提示来帮助你,以便他们能够看到你是否能够得到他们正在寻找的答案。 除了衡量你的知识,他们也想看看你的想法。 偶然地,你可能会得到一个没有帮助也不积极的面试官。 关键是要对自己的能力充满信心和诚实。

HTH,祝你好运!

除了语言的明​​显部分之外,我发现雇主会希望看看是否完全理解指针,引用,复制构造函数如何进入所有内容,可能是STL,当然还有类的基础知识。

抓住知识渊博的朋友,让他们问你一些可以在白板上解决的C ++编程问题。 很多面试都会让你在白板上解决问题,如果你不习惯的话,可以考虑一下,在别人面前写点东西。

我开始相信的一件事情是,把编程作为一种嗜好的候选人与那些认为只是“一天的工作”的候选人之间有时会有明显的分歧。

即使你不知道具体问题的答案,值得一提的是,通常你会在<你最喜欢的资源>(例如StackOverflow)上查找答案。

根据你的经验,我不认为面试官会期望你会得到正确的答案。 他们很可能试图决定你是否有“潜力”。

所以放松,尽量享受它!

阅读(或浏览,取决于您需要准备多less时间)John Lakos撰写的“ 大规模C ++软件devise ”。 机会是,你将需要它。