对于嵌入式工程师来说,这是一个很好的测试

Pat*_*ryk 5 c bit-manipulation

我在质疑嵌入式软件工程师的候选人(在我们公司,我们主要使用C,有时候是C++).我经常给候选人一点麻烦的问题.我没有提到,当它不明显时,它可以通过一点点琐事来解决.我也接受解决方案而不使用位操作,但随后我将候选引导到位(例如,通过说:"如果你不能使用模运算符怎么办").示例问题可能是:

  • 检查一个数字是否可被2整除,不能被4整除
  • 将数字向上舍入到下一个2的幂
  • 计算一个字中的设置位
  • 找到单词中设置的最旧位
  • 等等

在我看来,任何体面的软件工程师(甚至是新毕业生)都应该在一分钟之内轻松解决这些问题,无论他在哪个软件领域工作.然而,我的老板最近抱怨这些问题对于那些在GUI中工作的人来说太低级了.情况来看,我的提问毫无用处,因为我的老板聘请了一位在这个话题上完全失败的候选人,但他声称自己在Qt方面经验丰富(我无法检查这一点,因为我从未使用过Qt,而且有些原因我是唯一可以在此刻采访他的人.

所以我的问题是:对于任何(嵌入式)软件工程师来说,这是一个很好的问题,或者我的老板是对的,我应该放弃向所有候选人提问?

Sjo*_*erd 1

如果你用 C 语言编程,我会说是的。摆摆手不是你每天都会做的事情,而是表明你了解计算机如何处理你的数据的事情。

如果您使用高级语言进行编程,我认为它就不那么重要了。