2009-10-15 41 views
35

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

编辑:

谢谢大家的建议。我只想补充一点,我目前刚毕业并没有以前的经历。所以你可以提出一些问题,将被问及新毕业生?

+33

如果你要电话面试过程中使用谷歌,得到一个安静的键盘;-) ...我的人上周筛查是针对珍闻的原因。 – 2009-10-15 01:02:10

+1

确保你坐在安静的房间里,并通知你的朋友在iw期间不要打扰你。 – Duleb 2009-10-15 12:18:49

+1

那么你是否得到这份工作? – 2009-11-19 21:29:07

回答

51

确保您知道您的基本数据结构和算法。你更有可能被问到这个问题,而不是食物链上更高的东西。这些通常是为了亲自面试而保存的。

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

这里的面试问题一些链接看看:

,完成的缘故,有些书:

+1

测试还检查了这个博客帖子在保持C++声明伸直,以防万一,他们尝试和行程您那些:http://binglongx.spaces.live.com/blog/cns!142CBF6D49079DE8!273.entry – 2009-10-15 01:16:12

+0

一对夫妇,你有联系,这只是完全错误的信息和/或代码的网站。我不确定为什么这是被接受的或者被投票最多的答案。 – codetaku 2014-03-13 01:54:40

+0

@codetaku那么,自己连接的问题就是价值。通过回答他们的做法将给予最大的好处。也就是说,如果您不介意指出攻击性内容,我们可以更新答案,以免其他人不会误入歧途。 – 2014-03-25 05:21:05

2

除了语言的明​​显的部位,我发现,雇主会想看看你是否完全了解指针,引用,复制构造函数是如何接触到的一切,也许STL ,当然还有班级的基础知识。

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

  • 退房Marshall Cline's C++ FAQ。在决定问你一些“知识”问题而不是“解决问题”问题时,这是一种学习一些新东西的好方法,并且可以帮助你理解你已经知道的事情。

+1

+1。在面试前阅读Def值得一秒(或者首先,如果这是你的情况)阅读! – 2009-10-15 01:15:16

43

我采访了几位面试者特别注重自己的C++知识,如果有运作良好把人民的C++知识之一坡度的问题,它是这一个:

修复此内存泄漏的稳健,你可以:

 
void doSomething() 
{ 
Foo* pFoo = new Foo(); 
[do some stuff] 
} 
  • +1将在年底
  • +2删除PFOO为把PFOO在ST d :: auto_ptr的
  • +3知道什么RAII是 - 这个概念,如果不是缩写
  • +4提auto_ptr的
  • +5的异常安全保证的投入PFOO在boost:shared_ptr
  • +6了解何时shared_ptr可能不会被释放。
  • +7的谈论垃圾收集技术来解决循环引用

这总是努力了多久有人一直与C++。这是一个数据点,可以用来告诉你C++知识的规模。

编辑:我会建议有人出租在3级或以上。

+6

+1,因为我学到了一些东西。谢谢! – John 2009-10-15 01:39:02

+4

只是出于好奇......为什么你会比'std :: auto_ptr'更喜欢'boost :: shared_ptr'而没有更多的信息呢?我会更乐意接受一个以“这取决于[自己做什么]”的回应的候选人。 – 2009-10-15 03:03:47

+3

确实。如果'auto_ptr'会做,但你想避免它的陷阱,可以使用'boost :: scoped_ptr'(或'std :: tr1 :: unique_ptr')。 – UncleBens 2009-10-15 09:12:42

2

抓住知识渊博的朋友,让他们问你一些可以在白板上解决的C++编程问题。大量的采访会让你在白板上解决问题,它可以是令人不安想你的脚,如果你不使用它前面有人写的东西出来。

3

即使他们正在面试C++职位,并不是所有的问题都可能是针对C++的。例如,我被击中了与涉及到以下所有在同一组面试一个C++位置的问题:众所周知的排序和搜索算法

  • 算法复杂
  • 多线程编程
  • 多进程编程
  • socket编程
  • 软件开发理念/办法
  • 软件测试和验证的理念/办法
  • 调试
  • 基准测试
  • 代码的动态和静态分析(例如,运行时内存泄漏检测VS编译时)

对我来说,电话面试是一个筛选过程的一部分,以确定如果我能采取的网上的C/C++知识测试(例如,通过BrainBench)。在线测试结果决定了我是否会被派往现场采访,其中还包括更多“实际操作”的软件开发测试。

YMMV。很大程度上取决于您在简历中声明的内容。

面试官常常试图通过给你提示,以帮助你,使他们可以看到,如果你可以在他们正在寻找的答案到达。除了衡量你的知识,他们也想看看你的想法。有时候你可能会遇到一位既没有帮助也不积极的面试官。关键是要对自己的能力充满信心并保持诚实。

HTH和祝你好运!

2

一些东西,我开始相信的是,有时是喜欢编程作为一种爱好与那些谁认为这“只是一天的工作”候选人之间有明显的差距。

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

我不认为面试官会想到你会得到每一个问题的权利。他们很可能试图决定你是否有“潜力”。

所以放松一下,尽量享受它!