纪念第一次电面

时间:2021-07-08 16:41:09

      BD真够效率,昨天早上内推发的简历,下午就通知今天面试。

      First Blood,华丽丽地。。。唉,中间问到了有木有写技术博,更新频率多少。。。哭了。。。今天被虐了,也一定要在这里,补上今天这一笔。

      一定程度上是准备策略的问题,昨天下午5点接到的面试通知,今天上午10点的电面。除去睡觉,10个小时的准备时间。规划的时候,想到是两部分:网上面经+做过的项目。但是,实际准备的时候,差不多只把面经的东西准备完,项目的话,最近的基本都还比较熟,而且是一些开发类的,不用怎么看;之前做的一些研发的,略深,一时半会儿也不那么容易拿得起来,一句话说,项目方面没准备。也是略存侥幸吧,看网上说,一面大部分是看基础,二面问项目比较多。结果今天就悲剧了。

      哥们灰常nice,前半段问些非技术的东西,谈经历,谈愿景,谈对研发的认识。后半段,开始聊技术,挑了本科时做的一个研发的项目,玩命的问。

      挑干货说:问了项目中解析SQL语句的实现,这个我还是记得比较清楚的,差不多说明白了。问了主从数据库的数据一致性保持,这个我说给我1分钟思考下行么,哥们说不会就说不会,没事,我就pass了。问了分布式数据库的调优,pass。剩下,我说,要不我讲下我会什么,由您看下是不是感兴趣,他说ok,我就继续。因为我在项目里主要负责存储,我就讲了Log文件的存储方式,如何解决物理文件的顺序读取与日志文件的倒序读取。接下来讲了两种索引:哈希与B+树的实现。哈希的冲突用附加链表,B+树刚开始,哥们就打断了,问我在处理SQL语句的时候,如果where语句中的列与索引字段相符的话,如何在处理查询的时候,利用索引来提高效率,我说不会,pass了。接下来,哥们又问了索引的问题,我们在项目中,是索引是怎么创建的。刚好前段数据库助教,还记得三种索引的类型,罗列了下,我们在实现的时候,用的是第二种,即用主键字段来索引整条数据,然后讲了下原因:项目中有查询计划,在做查询计划的时候,会对几种查询计划做一个评价,评价的算法比较简单,只看在做叉积的时候,哪种计划扫描记录的总数少,不考虑记录的长度。这时候,就用索引来完成:只用扫描索引中的主键, 然后计算做评价。感觉这个回答,貌似不那么naive。。。额,中间还有问,对数据库网络传输了解么,也pass了。。。

     后来,哥们问我有什么想问的,就问了下他们部门的职责,他讲他们是为其他所有的应用,提供数据访问API的,需要了解数据库底层实现,网络数据传输底层实现的东西。还问了我用过哪些别的存储类的工具。我讲了用SQLite自己做的一个文件系统索引,感觉不是很感兴趣。。。我又说Nosql的看过一些技术博,但是不深入,哥们说Nosql可以多看一些。。。

     Over。。。

     总结下:1、还不是那么蠢。。。学到的有些东西确实被看重。2、离不蠢还很远。。。对新兴的一些技术,木有跟进,离实践差距太多。。。

     最后,bless。。。

     PS:对面试我的哥们表示感谢以及膜拜:) 

     PSS:以后不能懒了。。。多写多积累。。。