有同学在分布式系统&数据库论坛[1]问如何找到一个数据库实习。我感觉很多想做基础软件方向的在校同学可能都会有类似问题,所以开个小文简单聊聊。
最近两年我观察到一些风气:在简历上堆公开课项目。这一方面说明最近找工作确实很难很卷,但另一方面,感觉也有点卷到了奇怪的方向。
我在各个平台也鼓吹过刷题和公开课,当然,以后我也仍会继续鼓吹。但在继续之前我想借此机会澄清下,刷题和公开课虽好,但这只是一种手段而不是目的。
如果我们把刷题当成我们训练代码素养的一种手段,就不会去比完成数量、通过率等数字指标,而应该去提炼不同题背后的算法、去学习最佳答案组织代码的手法。
如果我们把公开课当做一种开阔视野、领域进阶的一种手段,就不会去比拼公开课的数量,抄代码来完成实验,而是去扎实听讲、研读论文,搞清楚该学科的研究主旨和知识脉络。
因为以我和周围同事数据库面试校招的经验来说,大家对于实习生和校招生等新人,还是比较看重基本功和软技能。
基本功
- 代码写的干净(没有冗余、格式整洁、命名清晰、可以运行,当然编程语言还要对口)
- 基础知识扎实(操作系统、计算机网络、数据结构与算法)
- 领域知识皮毛(比如 LSM-Tree 和 B-Tree 的简单对比)
软技能
- 沟通交流顺畅(能清晰简单的陈述自己的经历、能快速明白面试官的问题、说话一二三四有条理)
- 不卑不亢(懂的就简明扼要的说,不懂的就说不会,不要东扯西扯不懂装懂)
- 有编程思维(知道如何将一个实际问题用合适的数据结构来表达)
用人方对实习生的定义一般是:好带(沟通顺畅、相处舒服)、放心(基本功扎实、常识问题不犯错),而不是领域知识和相关经验。
因为对于大多数新人来说,无论是公司实习还是学校项目所积累的经验基本上都太浅了,很难在新公司复用,能复用的反而是背后的基本功和软技能。
最后小结下,对于公开课,在精而不在多;对于刷题,是手段而不是目的。
参考资料
[1]
分布式系统&数据库论坛: https://distsys.cn/
题图故事
内蒙古额尔古纳湿地,草原河流、远山白云,别具风味
我是青藤木鸟,一个喜欢摄影的分布式系统程序员,欢迎关注我的公众号:“木鸟杂记”。如果感觉还不错,就点个在看吧,这对我真的很重要。另外,我搭了一个专门讨论分布式系统和数据库的论坛,点阅读原文可以直达,如果你对上述观点有什么想法,欢迎留言讨论。