×

Loading...
Ad by
  • 技多不压身,工到自然成:安省技工证书特训班,点击咨询报名!
Ad by
  • 技多不压身,工到自然成:安省技工证书特训班,点击咨询报名!

My 2 cents.

1, Ask questions without a stardard answer. Instead, observe how they answer the questions.

I used to ask this question: How often do you use Linux command line? Each of them answered "everyday". Then I said, tell me 5 commands that you usually used. Believe it or not, some of them struggled a lot to get 5 commands out of their brains!

2, Ask the interviewees to bring 5 pages of source code from their previous projects. Review the coding style, ask them questions from what you see.

3, Present a snippet of code. Ask the interviewee to a) explain what it does; b) comment on its quality.

Report

Replies, comments and Discussions:

  • 工作学习 / 事业工作 / 最近要面试几个c++senior software engineer, 我知道这里c++高手如云,不知道有没有有意思的问题可以提供?多谢!
    • 这里会C++不超过3个
      • 关键不是语言和工具本身。而是程序的任务。
        • 关键是长发哥不知肉联深浅 +1
    • My 2 cents. +2

      1, Ask questions without a stardard answer. Instead, observe how they answer the questions.

      I used to ask this question: How often do you use Linux command line? Each of them answered "everyday". Then I said, tell me 5 commands that you usually used. Believe it or not, some of them struggled a lot to get 5 commands out of their brains!

      2, Ask the interviewees to bring 5 pages of source code from their previous projects. Review the coding style, ask them questions from what you see.

      3, Present a snippet of code. Ask the interviewee to a) explain what it does; b) comment on its quality.

      • ls cd sudo , 我常用的就这三个 +2
      • thanks. That looks interesting.
      • rsync, scp, tar, source, setenv, export,printenv,echo, pwd,grep,awk,
    • 挑一段组里最近fixed的有bug的code, 让面试者读,写结果,挑问题,任何方面的问题都可以。
    • "Do you speak Chinese?" If the answer is "Yes", pass. +4
      • 突然有个疑问,这里的 pass,是通过考核了的意思,还是大家常说的 pass 掉的意思? +2
        • "You passed (the exam).": Good. "You are passed (by others).": Bad. +1
        • 当然是通过考核,想啥哩。 +1
          • how about "do you know the tankman?"
      • 种族歧视 +1
        • 哪有这么简单,俺这边都是4到5关,一人负责一面,然后一起评分讨论,都俺固定的流程走,出的题目也都是公开的。对所有人都是过五关斩六将。俺到一个公司,特别喜欢看每个部门面试的题目,看看自己会多少。 +1
          • 受打击了没?:)
            • 玻璃心碎了一地啊!每次看,都感觉自己肯定面试不过得,都不知道自己咋混进来得。有时候甚至觉得自己面试自己都通不过。 +2
              • 你现在如果好好准备一把,结论或许就不一样喽
      • 象你这种非常不讲道理的人,实际上对华人的伤害最大。还自鸣得意的以为对华人好。
        • 俺一个社会底层,臭写代码的,有啥好自鸣得意的呢🙂 +2
          • 因为你伤害了世界民族感情!😄 +1
            • 这个俺必须得替自己辩护一下,到目前为止,俺和绝大多数世界民族都相处融洽。 +1
              • 那必须的, 谁叫我们以解放全世界, 共产主义接班人而自居呢! 不跟世界各民族关系融洽, 毛主席他老人家都不答应! ^_^
      • 这个要根据中文水平, 动态调整题目难易程度! :)
    • 20年前用过 +3
    • 给你一台电脑,让你直接写程序。无需回答问题。
    • 挑一些 legacy code,refactoring完,是骡子是马基本上清清楚楚,挑一个对眼的 +1
      • 挺好。我从前都是不断地问问题,结果被面试的估计在那边拼命GOOGLE都来不及。缺点是,这样一些真正的牛人也可能考不好。如果问一下她、他贴别熟悉的技术,也可以。 +1
        • 现在还在一线干C++的,都有对付几十年前老代码的独门心得/秘籍,面试时候相互学习一下也不错 +1
      • 面试的时候, 让refactoring 代码? 你想多了 .... 😄 +2
        • 是有意选一些legacy,不是真的和盘托出,主要是看看对方先出哪里下手,接下来的步骤
          • 我感觉不从整个code的架构方面来观看, 如何能正确的refactoring? 或者不仔细了解Business 的需求, 很难正确的重构。
            • 面试就那么点时间,不浓缩范围是不行的,只能管中窥豹
              • 你这个面试问题, 太难了 :( 别人不知道, 要是我 , 肯定会挂掉的 (灬ꈍ ꈍ灬)
                • 铁蛋兄过谦了,愉快的面试是相互挖掘长处,像我们这么谈得拢的,企不一拍即合 :)
      • 二郎不是一直在做c++的吗?很多年了。
        • 是的,发现混起来还真不错 :)
    • 简单阐述下 virtual function 背后实现的机制 基本就可以了。

      再狠一点的问下, 如何用 C 实现 C++ 的继承 跟多态的 OO 特性。
      再再狠一点的, 问如何修改 Object 里面的private 的变量 在不提供给你的public 的接口的情况下。 C++ 里面刁钻古怪的问题多了去了。
      • 看得出你是好手! 接受你的建议。
        • 如下

          55. **What is the Rule of Five in C++?**

          56. **Explain the purpose of `std::forward` in C++ and when is it typically used?**

          57. **What are the benefits of using the `const` member function specifier in C++?**

          58. **Explain the purpose of the `std::move` and `std::forward` functions in C++.**

          59. **What is the purpose of the `std::bind` function in C++?**

          • 需要这么变态吗?我建议还是转Java吧
      • 修改 Object 里面的private member?friend function?
        • 那不是还用到一个 public 的接口去修改吗? :)
          • 你是不是想问对方,在知道用什么编译器的前提下,是不是真正了解class instance在内存里的 layout?
            • 是的 :)其实面试的时候, 问这些刁钻古怪的问题,本人看来没有啥意义.面试的最终目的是看,被面试者可否给用人单位带来什么效益,而不是以把对方问倒来彰显面试人的牛. 
              • 说实话,这种问题有点孔乙己那种回字有几种写法的感觉,纯粹为了难为人。如果真是高手的话,很可能就因为这种问题而失之交臂 +1
                • 同意!
              • 哈哈哈,
                温村这里游戏公司为主,面试第一关99%都是笔试,各种刁钻技术问题,现时完成,代码需要手写在卷子上,第一关通过了,第二关是上机考,上机考对于运行速度性能(比如排序到毫秒)和代码量(不准冗长超过规定行数),有严格要求,差一点点都不行,然后才是面试环节,东欧程序员,各种刁钻问题。。。
              • 我反思了一下:会不会一开始由于好奇,想揭开C++神奇的面纱一探究竟,于是就渐渐变成爱好?有了爱好,会下意识地看看有没有相同爱好的其他人。
            • 那就和Compiler有关了,读bytes那还是用到了c的技术了。这种问题根本没意义。
              • 严重同意! 纯粹为了搞人而已 ... 跟能不能找个合适的干活儿的人, 没有啥关系.
              • 对呀,像你和铁蛋属于火眼金睛,没本事的人是不敢谦虚的
      • 了解编译器如何生成virtual function,virtual inheritance 之后,如何用 C 实现 C++ 的继承 跟多态的 OO 特性就是小菜。记得有一次问,用OO的原理讨论一下普通的 function,结果很多OO的缺点神秘消失了 :)
        • 你说的对,了解了virtual function 用C实现 OO,就没有啥难度。 或者说不了解VF的话,知道OO的概念其实也足够了。 OO的原理背后核心就是封装,其实用functional programming就已经把OO的很多缺点给避免了.
      • 你们的问题都太很了, 这样招不到人。
        • 是的, 谁冷不丁问个从来没有考虑到的, 犄角旮旯的问题 都会立马懵圈. 除非就是不想招人进来. :(
    • c++ 的话是不是先得看做哪方面的?比如做嵌入式硬件和服务器高并发的多半技能树很不相同... +1
    • c++不难,难的能写好c,还有那些 system call, 比如是 posix 4 里的 ipc。
      • 对于聪明的人来说,C++比C和系统调用难多了。C+ +语言设计相当差,-个变量的初始化就有十几种写法。蠢货最爱的语言 +1
        • 愚蠢的我以为,只要搞清楚 polymorphism,encapsulation, inheritance,data abstraction, 像c++这样的OOP就是小儿科。但你要会写 kernel,或像telecom switch,trading system那样的realtime系统,就不是每个人能写好的。
    • 如果对方是一位年纪大的C++开发人员,还对新加的特性(C++ 11, 14, 17,20)很熟悉的话,至少对方有经验而且很上进 +3
      • 同意! +1
        • 正是如此,聪明人对C + +相当地厌恶 +1
    • 其实作为 dev,最基本也是最重要的是不 copy/paste (无冗余),作为 sr dev,code 要有 taste。但这很难在面试里一下看出来。给 10 分钟让他/她做个 code review 可能可以了解个大概。 +1