新智元|谷歌面试官亲授,抓住「金九银十」的尾巴!技术面试如何准备
文章图片
【新智元导读】有位外国小哥在自己的博客上通过解答一道面试题 , 发布了自己在谷歌担任工程师和面试官的经验 , 分享了对于科技公司面试者的一些建议 。
「金九银十」的求职季也只剩下了一个尾巴 , 不知道正在求职的你结果如何呢?
如果你是一名学生或者正在申请技术类的工作 , 希望你在读完这篇文章之后能够更好地应对即将到来的面试 。
面试「脑筋急转弯」 , 你怎么答?
想象一个电话拨号盘 , 从某个位置开始只能以大写字母「L」的形状移动:水平移动两步 , 垂直移动一步 , 或水平移动一步 , 垂直移动两步:
文章图片
假设您在键盘上只能使用这种方式来拨号 , 拨下一个键并进行下一跳 。 起始位置计算为正在拨号的键 。
那么 , 从一个特定的起始位置开始 , 能以N跳的方式拨多少个不同的号码?
回答的套路:由浅至深的讨论
面试基本上分为两部分:首先找到一个该问题的算法解决方案 , 然后面试者用代码来实现它 。
在面试的整个过程中 , 面试官通常不是一个沉默的旁观者:在松弛的环境中花45分钟设计和实现任何东西时间都不充足 , 更不用说在有压力的情况下了 。
面试官通常会让面试者在讨论中发挥带头作用 , 产生想法 , 提出解决问题的实例等 , 但作者有时也非常乐意在正确的方向上给予对方推动 。
面试者的水平越高 , 他倾向于给出的暗示就越少 , 但是作者还没有看到过一个候选人完全不需要他的参与 。
作为一个面试官 , 通常不会坐视别人失败 , 「我想写尽可能多的积极的反馈 , 我会尽量给你机会让我写关于你的好东西 , 提示是我说:好吧 , 我给你一点提示」 , 只有这样才能让一些面试者继续前进 , 看看他们对问题的其他部分有什么看法 。
话虽如此 , 作者希望面试者听到这个问题后的第一个行动应该是走到白板前 , 手工解决这个问题的一些小实例 。
「永远不要一头扎进代码里!解决小的实例可以让你发现模式 , 观察和边缘情况 , 也有助于在你的头脑中明确解决方案」 。
举个例子 , 假设起始位置从6开始 , 你有两跳的机会 。 则序列将会是:
文章图片
以上总共有六个序列 。 如果试着用铅笔和纸来推导这些 , 总比只是盯着它静静地思考 , 会带来更好的结果 。
黄铜答案:初级面试者通常给出的方案
Level1:到达下一跳
作者作为面试官经常会感到惊讶的是 , 求职者经常会陷入计算键值的困境 , 其实恰恰可以从一个给定的位置跳到这个键值 , 也就是我们所说的邻居(neighbors) 。
作者的建议是:当有疑问的时候 , 可以写一个空的占位符 , 然后问面试官是否可以稍后实现它 。
这个问题的复杂性不在于邻居的计算 , 而是如何很好地计算完整的数字 , 任何花费在邻居计算上的时间都被浪费掉了 。
通常可以假设有一个函数会传给邻居值 , 如下图所示:
文章图片
当然 , 这个空函数功能最终也是需要被实现的 , 但前提是面试剩余的时间还足够 。
而且 , 如果问题的复杂性在其他地方的话 , 面试者通常不会因为要求使用空函数而被留下坏印象 , 面试官通常都会同意这种做法 。
如果没有别的复杂问题 , 面试官还会要求面试者实际执行它 。
至于这里的邻居函数 , 考虑到它从不改变 , 可以简单地创建一个map并返回相应的值:
- “女面试官:我背后拉链开了,你要如何提醒我?”:当场被录取!
- 程序员面试攻略:技术面到HR面,通关小技巧
- 《令人心动的offer》中有哪些面试小技巧?
- 曦说职场|顺利获得工作很简单,面试奇葩问题到底考求职者什么?摸清HR目的
- 见小曰明|找个工作要用这种下三滥手段吗?,“跟面试官说竞争者是女朋友”
- 两面真相|面试话题:什么样的面试官最可贵?什么样的求职者最难得?
- 老王职场录|却从没有真正的来过?小伙机智回答,面试官:什么东西经常会来
- 格式化孤单|2021银行面试|速来查看银行面试自我介绍范文篇集锦
- 苑燕儿|情商高又加分,面试官:3个月没上班你都在干啥?聪明人这么回答
- 微微米米儿|拿什么击败对手?,公务员面试