我今天正在参加技术工作面试,是时候给我一些编程练习了。 我终于来到了最后一个问题:
给出数字:
116 104 105 115 32 105 115 32 99 111 114 114 101 99 ?
下一个数字是多少?
为了真正理解我的心态,我鼓励您停止阅读,并真正尝试找出下一个数字是什么。花几分钟,如果您仍然无法弄清楚,请继续阅读
我首先花了 5 分钟寻找模式,但没有找到任何模式。 我开始觉得自己很愚蠢。请注意,那家伙一直盯着我,等待答案。我感觉自己有点傻。
所以我得到了线索。 这不是一个数学问题
我又花了 5 分钟,他说顺序很重要
。
然后又过了 5 分钟,他说他相信只有程序员才能理解这一点
又过了 5 分钟,我还没明白最后一个数字是什么。 他给出了最后的线索,让我能够解决这个问题,那就是将数字视为某种字母的替代品
。
现在我鼓励你想出答案,但我也想从人们那里知道,他为什么会问这样的问题?这和编程有什么关系?看到我用 20 分钟绝望地痛苦思考,他得到了什么?
请您参考如下方法:
首先是答案:116 - 这是 ASCII 字母“this is correc”的十进制形式,因此接下来是字母“t”。
但是,当我弄清楚(根据你的线索)该模式时,我会发表一些评论:
- 大概他是想看看你是如何解决一个困难的、甚至是模糊的问题的。
- 如果他真的一次沉默地坐着 5 分钟,那么他需要改进自己的采访风格,哪怕只是为了鼓励您说话。
也就是说:
- 您是否大声思考并讨论了您使用的各种方法?
- 您是否提出了有关问题领域的探索性问题?
顺便说一句,我把“a”记错了,是 96 而不是 97,所以我就错过了这个问题。 但我会一直在说话。
你必须传达你的思维过程,而不仅仅是给出答案。我曾两次让面试官向我提出他们不希望我解决的问题,目的都是为了了解我解决这些问题的方法。
(顺便说一句,我两次面试都收到了录用通知,因为我通过自己的方式解决了问题 - 尽管我无法完成解决它们。)