从 8 月 23 日开始第一轮面试到 9 月 18 日收到录用意向书, 再和大家谈谈面试经历和一些感想.
我找同学内推了腾讯等公司, 不过实际面的只有腾讯, 其他公司直接放弃掉了, 所以不会有别的面经了.
去年面试阿里之后写的面经供大家参考.
一轮面试. 一轮面试的内容已经忘得差不多了... 这一轮的算法题我做的极差, 原本是一个很简单的十进制转二进制的算法, 但是我完全不记得上算法课的时候有学过多次取余的方法 (好像真的没学过), 傻傻地从高位往低位算... 剩下的问题有关于前端三大框架, 比如 Vue 的响应式实现原理等等.
二轮面试. 上来就抛了三道算法题, 这次全部都解决了. 三道题目如下:
从一个数组中找出最长升序子串.
找字符串的规律并转换成数字, 其实就是道简单的进制转换问题.
有序二叉树求第 k 大数字. (逆中序遍历的同时计数就可以了)
然后是一些比较常规的前端的问题.
下面就是微信面试委员会的两轮面试. 面试官的提问主要围绕我在实习期间做的比较大的项目, 我是按照项目背景, 意义, 技术方案和技术难点这四个主要的方面进行介绍的. 因为做的项目中有一个语言服务 (language service), 于是就给两位面试官分别讲解了半个小时的代码解析器... (如何解耦, 优化尾递归, 设计语法规范 DSL 等等, 这个跟传统前端的领域没有什么大关联, 估计不够作为大家的参考)
面试官还问了一些比较有趣的问题, 这里和大家分享一下:
如果让你开发一个俄罗斯方块游戏你会如何进行代码设计, 有什么边界条件需要考虑.
从输入 URL 到看到页面内容发生了什么.
介绍一下 Angular 的 directive 有何用处. (这里我对比 React 的高阶组件来谈)
离题: 面委二面面试官是小游戏跳一跳的作者 / 负责人, 当时完全惊喜到: “哇塞!”.
最后是 HR 面试. 其实 HR 面试主要就是问职业选择 (特别是像我这种转专业的一定会被问到), 在面试公司工作的意愿 (比如选择 offer 时你重视哪些方面), 以及一些软技能 (比如如何应对工作中的压力). 沟通还是比较愉快的, 面试的最后面试官直接“欢迎你来广州”了.
中秋节回来等了三天收到了录用意向 (说好三天果然发了, 给腾讯校招团队点赞).
下面是感想.
深入学习原理很重要, 特别是对于用的比较多的库和框架, API caller 大概是面试官们不喜欢的.
算法也很重要 (感觉二轮如果算法题要是没做出来直接翻车, 后面也没机会介绍自己做过的项目了). 我现在已经翻出老算法书和 leetcode 来练习了, 另外也在尝试看看实际开发里能不能用到这些算法 (目前为止只用过 DFS..., 不过算法本身也蛮好玩的).
总结反思也很重要, 特别是对于自己做过的项目.
归结起来就是: 面试是平时积淀的自然呈现.
㊗️ 大家都能在这个校招季收到满意的 offer.
更新:ssp