代码之家  ›  专栏  ›  技术社区  ›  Benj

在面试时C++推荐什么技巧?关闭]

c++
  •  14
  • Benj  · 技术社区  · 15 年前

    我有2/3年的C++经验,但我大部分时间都在做java。我将要去参加一个C++编程角色的面试,我一直在思考如何用我的C++来解决问题,以确保我不会被任何尴尬的问题弄得措手不及。你推荐什么?

    9 回复  |  直到 7 年前
        1
  •  5
  •   Dror Helper    15 年前

    如果你有足够的时间尝试用C++编写一个应用程序——去做基础知识,这样当你被要求显示编码技巧时,你就能流畅地编写代码。

    我注意到,在C++中心访谈中,经常问有关它如何工作的问题:

    • 虚拟方法是如何实现的?
    • 你打电话时会发生什么 new -内存是如何分配的?
    • 结构和类之间有什么区别?
    • 你为什么要把你的课程大纲标记为虚拟的?

    我想学习这些的好方法是读一本好的C++书——如果你有胃口,你可以阅读。 Stroustrup book -但肯定会有其他同样好的书(页数更少)。

    看一看这本书 C++ Style and Technique FAQ

        2
  •  9
  •   Thorsten79    15 年前
        3
  •  5
  •   anon anon    15 年前

    作为面试者,我依赖经验。作为面试官,我最喜欢的(通常也是)C++面试问题是“告诉我关于拷贝构造函数”。令人惊讶的是,这打开了多少途径,却很少有人知道——这可以让一个非常简短的面试变得轻松。如果面试者通过了,我会问“你最喜欢的C++书籍,为什么?”

        4
  •  5
  •   Stack Overflow is garbage    15 年前

    懂语言。你可以试着预测他们会问什么问题,但是C++可以根据你问的人而有很多不同的东西。对某些人来说,它是一个笨拙的Java,所有的问题都是关于动态内存分配、虚拟函数和继承的。对其他人来说,这都是关于RAII的,而且 避免 内存管理。

    有些人认为STL是最重要的问题,有些人可能想深入了解该语言的一些微妙方面(从Neil在回答中提到的复制构造函数到未定义行为的常见情况或异常安全性)

    这是一门庞大而复杂的语言,人们可以问很多不同的问题。除非你对他们可能关注的领域有所了解,否则你不可能在最后一分钟完成复习。

        5
  •  3
  •   Community paulsm4    7 年前
        7
  •  0
  •   Ed James    15 年前

    然而,如果你要扮演一个普通的桌面应用程序角色,你可能会被问及UI,或者如果你要扮演某种嵌入式计算角色,你可能会被问及优化和内存管理。

    在任何情况下,我都会重温一下您的BOOST,作为一个优秀库的示例,以及您的指针知识。

        8
  •  0
  •   RyanWilcox    15 年前

    我只想回顾一下该语言的基础知识:确保记住如何创建类,知道何时通过引用传递类,何时通过指针传递类,以及为什么要这样做。为什么你需要一个虚拟方法,当你需要一个拷贝构造函数时,使用C++样式转换和C样式转换的原因是什么?

    我可以想象,记住一两个关于C++的战争故事会有什么帮助:(“伙计,常量正确性很难!”所以我曾经和一个同事/老师打过一个关于这个C++的比较好的例子,我知道了。

    如果作业是一个入门级的C++作业(它应该与您有限的C++体验),我想这将是罚款,您将(希望)没有铸造太深没有桨/高级工程师指导你。

        9
  •  0
  •   matt    15 年前

    “编写一个计算字节中“开”位数的函数”

    永远不会变老。。。

    我曾经看到过一种很酷的按位方式,它可以在一个32位DWORD中计算所有的on位,比如4或5次操作!

    如果我是这个时代的面试官,我会问“你对无锁编码了解多少?”