腾讯校招 web 后端开发面试杂记(二)

引子

2018/04/17 晴
我参加了腾讯校招面试 - 复试, 关于初试相关请看我的上一篇文章

整体感受

整体人数变少了, 整个场子诡异的安静
值得庆幸的是妹纸仍然占多数, 而且质量也提高了不少, 晃得我有点晕车 XD

面试

流程

基本流程和初试一样, 唯一不同的是面试环节, 过程大概用时 35 分钟, 比初试聊得久

技术细节

可能是面试官也很喜欢电子游戏的缘故吧, 我们是从游戏辅助脚本聊起的
从脚本原理, 游戏规则, 一直聊到一些具体的技术细节(找图 模拟 容错)
然后发生了一个小插曲, 面试官浏览我写在简历上的博客, 也就是本博客时
看到了我以前写的一些面试心得, 就问我小米武研面试结果怎样
我如实回答不乐观, 因为当时面试官出了一道算法题把我 ko 了
我对面对面的那种出题因为紧张都发挥不好, 如果让我在寝室一个人也许我也能做出来
面试官就笑笑说: 虽然我知道你的情况, 但是今天还是要给你出一道题
我连忙说: 没问题, 该走的流程肯定要走, 您说吧
其实是 leetcode 上面的一道 easy 题:
https://leetcode.com/problems/longest-palindrome/description/
当时我听完题目就想到了最近我做过的一道类似题目:
https://leetcode.com/problems/longest-valid-parentheses/description/
我就按照那道题目的解法对这道题进行解答, 快速写出代码提交给面试官
面试官疑惑的问我代码的思路是怎样的, 为什么要这样想
我回答说我最近做过类似的题目就是这个解法, 所以套用到今天这道题
面试官稍稍思索了一下给出了一个反例证明我的算法有错误的可能
并且给出了重要的思路提示
我一开始还坚持我自己的思路, 寻思着 fix 我的代码来解决这个反例的问题
后来发现越写越复杂了, 最后还是按照面试官的提示把这道题算是 pass 了
接着面试官问了一些应该算是口水题, 也就是常见的面试题:

  • http 协议中 get 和 post 的区别
    答: get 有 request parameter 长度限制而 post 没有
    当时只答上了这一个, 比较尴尬
  • php 的各种框架的区别, 你怎么选择这些框架
    答: 我从学习者的角度来说最看重一个框架的社区支持
    接着列举了 tp, yii2, laravel 这三个框架, 并粗略讲了一下 laravel 的框架思路与 rails 的异同
  • ……

最后面试官问: 你对 Python 这么熟悉为什么你还是想从事 php 方向
我回答: 因为 php 可以对公司产生直接效益, 而 Python 没有 php 这么直接方便
比如说写 web 方面就是 php 看门本领, Python 主要还是做一些协调的工作
面试官追问: Python 也可以写 web 呀
我回答: 我更熟悉 php 的这一套运维体系, 而 Python 就 web 这块, 我并不是很熟悉

面试官问: 你对未来专业方向的规划如何
我回答: 因为昨天面试官告诉我了腾讯内部是逐渐废弃 php 而逐渐转向一些新兴语言
我未来除了坚持 php 还要学习诸如 go, erlang, rust 等等这些新玩意

后记

就在本文写成之时收到了腾讯发来的 hr 面试邀请, 时间是今天 (18/04/19) 下午
在网上也查阅了各种说法, 也许对我而言稳如老狗就是最好的决战精神