我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。迫于心慌,我好好思考了一阵来给自己打气,当时真正找坑和准备面试的过程大概分为这几个阶段:
定位这一步其实花了好几天时间,我先是梳理了自己的项目经历和工作内容的专长,把 Java + Golang,做过的面比较广(业务,中间件,基础架构都做过)以及对 k8s 云原生有专长和兴趣作为自己的”硬招牌”。
然后把学习能力强,喜欢沟通合作,渴望挑战作为我的”软招牌”,最后把自己定位成一个”在过往经历中展现出了过人学习能力和钻研能力,同时渴望挑战,不愿意呆在舒适区”的形象。
这个过程中,我的方法论是”换位思考”。自己过去也面试过不少人(所以平时公司让我去面试,虽然累点苦点,但也都是积累呀),并且也和 HR 以及放出 HC 的业务方聊过我们希望放什么样的人进来。因此全程都在以面试官的心态来考察自己:
假如我是面试官,我会招怎样的人进来做我的同事?
举几个例子,下面都是我在这个过程中考虑过的问题(当然只是我自己的喜好):
定位之后,我要找的下一个位置基本锁定在了 PaaS、云原生、中间件方向。那接下来就是找坑了,这段时间”寒冬论”炒的火热,好坑确实挺难找,最后兜兜转转找了PingCAP的内推。
简历投递出去之后,我着重把简历里”埋的几个坑”,也就是自己写了”理解并掌握”的语言与中间件以及专门用来勾引面试官问的项目好好复习了一遍。事后发现这一步还挺关键的,很多知识性的内容要是不复习一下真就全忘了,这也算临阵磨枪,不快也光了吧。
PingCAP 的简历响应是最快的,内推之后第二天 HR 小姐姐就联系了我。电话接通之后先是简单聊了一下人生,然后就是社招三问 [”为啥离职啊?”,”现在待遇咋样啊?”,”期望待遇咋样啊?”],之前还完全没有准备过类似的问题,只能稀里哗啦用[”现在自己的技术成长有点碰到瓶颈,加上一直对您公司钦慕有加”,”我现在待遇是xxx但我司除了base之外还有xxx以及我马上要提薪了”,”其实比起待遇我更看重平台和挑战,但是基本的薪资需求我还是希望能xxx”]这样和稀泥应付过去。内心稍稍平静之后小姐姐跟我讲了讲我意向部门的结构和主体业务,然后交代了一下接下来的面试流程,约了”一面”并且加了微信。
“一面”加了引号,这是因为”一面”其实是在微信上布置了一个小项目,然后约定好时间验收。
这里要特别感谢一下 PingCAP 的 HR 小姐姐,加了微信之后全程帮助我协调面试时间并不厌其烦地回答我各种奇奇怪怪的问题,最后谈 offer 的时候还给我准备了一个惊喜。面试体验直接满星<3!
早就听说 PingCAP 一面要写小项目,我自己心里其实是跃跃欲试的。面试官给的项目要求大体是这样:
K8S 容器化之后应用容器里几乎没有什么可用的调试工具,可以利用容器 Namespace 共享的思路,启动一个包含各种调试工具(比如 netstat, gdb)的容器,加入到 pod 的 pid、net 等 namespace 中, 实现对任意 pod 的 debug 功能。现在希望利用 kubectl plugin 机制实现一个插件,用于 debug 任意一个 pod 里的容器,达到 kubectl exec 的使用体验。
当时因为工作日抽不出时间,就隔了几天到周五晚上开始写,周六晚上写完并且把 项目地址 分享到了 Reddit 上。没想到运气不错收了 100 多个 star,这下我就觉得”哦豁,这轮应该稳了吧!”(结果后来发现这几乎是我唯一一把觉得自己”稳了的”面试…)
二面是一位 Cloud 方向的前辈面我,全程大概微信语音聊了50多分钟:
面完之后感觉答得一般,心里有点忐忑。结果第二天 HR 小姐姐就来安排三面了,长舒了一口气。
三面是和整个大部门的 Leader 聊,面试官很能聊,而且技术非常全面,全程大概微信语音聊了80多分钟:
简历里的”数据同步”这个项目我是好好复习过自己当年写的调研文档和架构文档的,也做了被问的准备(换位思考,是我我也问。这个其实就是我专门希望面试官来挖细节的项目)。最后确实被问最多的就是这个项目,运气真的不错。
四面到了现场面,有两位面试官一起跟我聊,大约聊了 40 多分钟:
四面是纯项目,里面的经验就不太通用了。但这里面有个细节,就是到中途的时候两个面试官互相对了一下”还有什么想问的吗?”我意识到面试官们想问的问题不多了,可时间大约才过了20分钟(面试时间过短是一个 bad smell)。于是之后几个监控的问题我都尽量说得很细,同时顺便提一下”还有一个方面我们当时也做了挺多工作”,暗示面试官往下挖的线索。不知道这招有没有奏效,反正这一面算是有惊无险过啦。
技术面到四面就结束了,五面是创始人面(有幸和崔秋大佬聊了20多分钟人生),面完之后就是 offer call 了。
一些主观评价:
这里真的想夸一下 PingCAP(因为面试体验超棒呀!)。投 PingCAP 的初衷是觉得这个团队的工程师文化非常浓,大牛云集,同时 TiDB 够牛逼,项目开源的模式我内心也很认可。只是挂羊头卖狗肉的公司也不少,好多 JD 上写着工程师文化浓郁,其实很多根本不是那么回事儿。
但是经过 PingCAP 的五轮面试之后,我实打实地感受到了工程师文化:面试里没有任何一个”刁难人的问题”,每一位面试官感兴趣的是我的工程思维、学习能力、技术见解,同时还非常热衷于与我讨论和深挖一些坑与技术决策。这种感觉就很爽:面试官是懂我的,我作为工程师的思维能力与技术见解得到了认可与尊重。这种氛围是口号喊不出来的,因为它的硬性指标就是这其中的每一个人要热爱技术并且工程经验丰富。
欢迎大家关注和转发文章,也欢迎大家关注我的公众号:程序员麦冬,每天都会分享java相关技术文章或行业资讯!