新的开始

因为一些原因,打算出来看看。

公司选择

这次只投了两家公司:PingCAP 和头条,PingCAP 是仰慕已久,头条是钱多,加班又没有拼多多那么变态。 两家公司都是在年前一周找人内推,PingCAP 方面很快就联系了,很幸运地收到了 offer,后来头条 hr 再联系时就直接拒绝了。

基础知识?领域知识?经验?

PingCAP 的招聘流程比较特殊,会先布置作业,限时一周,然后再开始面试。这种方式对应聘者来说麻烦点,但也能节省双方时间, 因为作业都做不出来的话基本也没必要面试了。我是年前投的,当时还在上班只有晚上有时间写,但放假回家了还没写完, 回家了也一堆琐事,导致那几天每天写到凌晨2点,就连拜年的路上也在写,最后总算搞定了。

面试之前我就简单过了遍博客和之前看的一些论文,大概花了一天时间,也没刷题。PingCAP 总共面了4轮技术, 我准备的几乎都没被问到,因为毕竟是社招,所以我准备的都是领域知识,也就是数据库、分布式相关的,但是除了一面以外,后面几轮面试考察的重点还是基础知识,和预想的不太一样。

面试的内容让我思考了下对于像我这种工作1、2年的人来说,公司会更看重什么?我觉得还是学习能力,考察学习能力的一种方式就是看基础扎不扎实,关于领域知识方面,有相关经验最好,没有 也无所谓,因为毕竟工作时间短,可塑性强,只要基础知识扎实学起来也很快。领域知识和基础知识是相互促进的,领域知识会让你知道什么基础知识重要,什么不重要, 当遇到问题时,也会发现某些地方的基础知识深度不够,就会去补上,而基础知识的提升又会加快领域知识的学习,也不容易掉坑里。 从事的领域不同,涉及到的基础知识就不同,相应的深度就会更深,就拿我这方面来说,可能更看重的是操作系统和体系结构,但要求候选者对于其他方面至少也要有了解。 打好基础最好的时间还是在大学里,工作以后空闲时间变少,人也会浮躁,喜欢搞些见效快的东西,还好我一开始就知道了基础的重要性,看了很多经典的书。

算法这东西要特殊对待,我个人不喜欢刷题,只有接触一门新语言时才会去 LeetCode 练练手,但算法又必须要考察,我这次面试也手撕了几个算法题,很简单的那种。不同的公司面试风格也不同,听说头条面试 很看重算法,如果我当面试官的话,只会出些简单的算法题,主要看看候选人的代码风格和思维。其实像 LeetCode 那种题目在工作中几乎没用,但的确能锻炼人的思维,更多的体现在代码的逻辑上,而 工作中遇到的算法或数据结构是需要查资料、看论文的。

经验这东西不好说,见过拿一年经验干好几年的,也见过年龄很小很厉害的,除了在一个领域做到专家外,经验的价值还体现在排查问题方面,这是我很欠缺的,需要补上。

大公司?小公司?

我个人是偏向小而美的公司,尤其在体验过大公司之后。PingCAP 我一直很向往,不仅仅是因为做分布式数据库,更吸引我的是他的文化。2 年前我才知道这家公司,当时也投过简历,因为那时候还菜的抠脚, 简历被刷了也是意料之中,工作后也一直在关注这家公司,虽说没有去看代码、为社区做贡献之类的,但也衷心希望这家公司能发展很好,因为在中国搞开源、纯技术的公司太少了。

就职业发展而言谁都说不清楚,但我喜欢开源,而且对 PingCAP 搞的东西感兴趣,这就足够了。因为年轻,还没有经济压力,现阶段也不太看重钱和职业发展,更看重的是个人偏好、兴趣、对技术的帮助, 这也是我拒了头条面试的原因,虽说去头条一年可能多个一二十万,但和这些相比都不算什么。

PingCAP 的挑战

PingCAP 对我来说挑战还蛮大的,一是技术栈不匹配,不只是编程语言,我之前的工作经验也基本没用,面试的时候基本没问 Redis,我也没打算靠 Redis 来打动面试官;二是英语,工作基本是纯英文的,组里还有 几个外国人,英语我听和读没啥问题,写和说有点勉强,也要加强;三是工作方式的转变,组内的人分散在世界各地,沟通、工作的方式都要变化,之前工作还蛮安逸的,到这里压力可能会变大,还 要偶尔去客户那里技术支持,但为了成长肯定要逃离舒适区。

最后

能把兴趣当工作是很幸运的事,写代码这么有趣的事情竟然还有钱赚真是太好了。

分类:

更新时间: