新的开始
因为一些原因,打算出来看看。
公司选择
这次只投了两家公司:PingCAP
和头条,PingCAP
是仰慕已久,头条是钱多,加班又没有拼多多那么变态。
两家公司都是在年前一周找人内推,PingCAP
方面很快就联系了,很幸运地收到了 offer
,后来头条 hr
再联系时就直接拒绝了。
基础知识?领域知识?经验?
PingCAP
的招聘流程比较特殊,会先布置作业,限时一周,然后再开始面试。这种方式对应聘者来说麻烦点,但也能节省双方时间,
因为作业都做不出来的话基本也没必要面试了。我是年前投的,当时还在上班只有晚上有时间写,但放假回家了还没写完,
回家了也一堆琐事,导致那几天每天写到凌晨2点,就连拜年的路上也在写,最后总算搞定了。
面试之前我就简单过了遍博客和之前看的一些论文,大概花了一天时间,也没刷题。PingCAP
总共面了4轮技术,
我准备的几乎都没被问到,因为毕竟是社招,所以我准备的都是领域知识,也就是数据库、分布式相关的,但是除了一面以外,后面几轮面试考察的重点还是基础知识,和预想的不太一样。
面试的内容让我思考了下对于像我这种工作1、2年的人来说,公司会更看重什么?我觉得还是学习能力,考察学习能力的一种方式就是看基础扎不扎实,关于领域知识方面,有相关经验最好,没有 也无所谓,因为毕竟工作时间短,可塑性强,只要基础知识扎实学起来也很快。领域知识和基础知识是相互促进的,领域知识会让你知道什么基础知识重要,什么不重要, 当遇到问题时,也会发现某些地方的基础知识深度不够,就会去补上,而基础知识的提升又会加快领域知识的学习,也不容易掉坑里。 从事的领域不同,涉及到的基础知识就不同,相应的深度就会更深,就拿我这方面来说,可能更看重的是操作系统和体系结构,但要求候选者对于其他方面至少也要有了解。 打好基础最好的时间还是在大学里,工作以后空闲时间变少,人也会浮躁,喜欢搞些见效快的东西,还好我一开始就知道了基础的重要性,看了很多经典的书。
算法这东西要特殊对待,我个人不喜欢刷题,只有接触一门新语言时才会去 LeetCode
练练手,但算法又必须要考察,我这次面试也手撕了几个算法题,很简单的那种。不同的公司面试风格也不同,听说头条面试
很看重算法,如果我当面试官的话,只会出些简单的算法题,主要看看候选人的代码风格和思维。其实像 LeetCode
那种题目在工作中几乎没用,但的确能锻炼人的思维,更多的体现在代码的逻辑上,而
工作中遇到的算法或数据结构是需要查资料、看论文的。
经验这东西不好说,见过拿一年经验干好几年的,也见过年龄很小很厉害的,除了在一个领域做到专家外,经验的价值还体现在排查问题方面,这是我很欠缺的,需要补上。
大公司?小公司?
我个人是偏向小而美的公司,尤其在体验过大公司之后。PingCAP
我一直很向往,不仅仅是因为做分布式数据库,更吸引我的是他的文化。2 年前我才知道这家公司,当时也投过简历,因为那时候还菜的抠脚,
简历被刷了也是意料之中,工作后也一直在关注这家公司,虽说没有去看代码、为社区做贡献之类的,但也衷心希望这家公司能发展很好,因为在中国搞开源、纯技术的公司太少了。
就职业发展而言谁都说不清楚,但我喜欢开源,而且对 PingCAP
搞的东西感兴趣,这就足够了。因为年轻,还没有经济压力,现阶段也不太看重钱和职业发展,更看重的是个人偏好、兴趣、对技术的帮助,
这也是我拒了头条面试的原因,虽说去头条一年可能多个一二十万,但和这些相比都不算什么。
PingCAP 的挑战
去 PingCAP
对我来说挑战还蛮大的,一是技术栈不匹配,不只是编程语言,我之前的工作经验也基本没用,面试的时候基本没问 Redis
,我也没打算靠 Redis
来打动面试官;二是英语,工作基本是纯英文的,组里还有
几个外国人,英语我听和读没啥问题,写和说有点勉强,也要加强;三是工作方式的转变,组内的人分散在世界各地,沟通、工作的方式都要变化,之前工作还蛮安逸的,到这里压力可能会变大,还
要偶尔去客户那里技术支持,但为了成长肯定要逃离舒适区。
最后
能把兴趣当工作是很幸运的事,写代码这么有趣的事情竟然还有钱赚真是太好了。
留下评论