编雪花算法圆谎
现在想起来还心跳加速!面试时为了显得自己懂分布式,硬吹了个牛,被面试官追问到差点翻车,最后靠临场瞎编居然圆回来了,堪称我秋招最极限的 “圆谎现场”!
当时为了让简历好看点,把之前跟着学长做的项目写成了 “分布式系统”—— 其实就是个简单的 Web 项目,数据存储全靠 MySQL 自增 ID。但我知道分布式系统绕不开分布式 ID,就特意背了雪花算法的八股文,简历上直接写 “采用雪花算法生成分布式 ID,保障数据唯一性”,想着面试时背一背流程,面试官应该不会深究。
结果面试那家公司的技术面,面试官一眼就盯上了这个点。我按准备好的八股文,从时间戳、机器 ID、序列号巴拉巴拉背得贼溜,还暗自庆幸 “这波稳了”。没想到面试官突然打断我:“你们项目的订单量我看简历上写的日均几千,不算很大啊,为什么非要用雪花 ID?用 MySQL 自增 ID 完全够了,还不用处理时钟回拨这些问题。”
我当时人都傻了!大脑瞬间一片空白,脸唰地就憋得通红,手心全是汗 —— 总不能说我是为了简历好看瞎写的吧?情急之下我脱口而出:“这个设计主要是学长定的,我当时负责的是业务逻辑实现,具体为啥选雪花算法,我没细问……” 说完我自己都觉得离谱,心里直呼 “寄了”,这回答跟没说一样,肯定要被看穿了。
没想到面试官没接着追问这个,反而话锋一转:“那我再问你,你们系统有主库和冷备库,冷备库存的是历史数据,如果查询的日期数据跨越了主库和冷备库,怎么处理?” 这问题又把我问懵了,我们项目根本没做冷备库,纯纯是我简历上吹的!
就在面试官盯着我等回答的几秒钟里,我脑子飞速旋转,突然灵机一动,把两个问题绑在一起圆:“其实选雪花算法也和跨库查询有关!我们冷备库存储的是上一次数据迁移前的所有数据,迁移时会记录当时最大的雪花 ID—— 因为雪花 ID 里包含时间戳,查询的时候先根据查询日期判断对应的雪花 ID 范围,就能知道数据在主库还是冷备库。如果跨越了两个库,就分别查询主库和冷备库的数据,最后合并返回,这样效率比全量扫描高很多。”
我说得语速飞快,眼睛都不敢直视面试官,心里祈祷 “千万别拆穿我”。结果面试官听完居然默默点头,还若有所思地说 “哦,这样考虑确实合理”,然后就接着问下一个问题了!我当时心里的石头瞬间落地,后背都被冷汗浸湿了,强装镇定往下答,结束后走出面试间,腿都有点软。
现在回想起来,真的是极限操作!那套说辞完全是我临场瞎编的,连我自己都不知道逻辑通不通,居然真的蒙混过关了。后来拿到 offer 的时候,还特意去补了雪花算法和跨库查询的知识,生怕入职后露馅。只能说面试吹牛皮有风险,下次再也不敢瞎写简历了,就算吹也要提前把逻辑圆好,不然真的会翻车!
#你面试时吹过最大的牛#
当时为了让简历好看点,把之前跟着学长做的项目写成了 “分布式系统”—— 其实就是个简单的 Web 项目,数据存储全靠 MySQL 自增 ID。但我知道分布式系统绕不开分布式 ID,就特意背了雪花算法的八股文,简历上直接写 “采用雪花算法生成分布式 ID,保障数据唯一性”,想着面试时背一背流程,面试官应该不会深究。
结果面试那家公司的技术面,面试官一眼就盯上了这个点。我按准备好的八股文,从时间戳、机器 ID、序列号巴拉巴拉背得贼溜,还暗自庆幸 “这波稳了”。没想到面试官突然打断我:“你们项目的订单量我看简历上写的日均几千,不算很大啊,为什么非要用雪花 ID?用 MySQL 自增 ID 完全够了,还不用处理时钟回拨这些问题。”
我当时人都傻了!大脑瞬间一片空白,脸唰地就憋得通红,手心全是汗 —— 总不能说我是为了简历好看瞎写的吧?情急之下我脱口而出:“这个设计主要是学长定的,我当时负责的是业务逻辑实现,具体为啥选雪花算法,我没细问……” 说完我自己都觉得离谱,心里直呼 “寄了”,这回答跟没说一样,肯定要被看穿了。
没想到面试官没接着追问这个,反而话锋一转:“那我再问你,你们系统有主库和冷备库,冷备库存的是历史数据,如果查询的日期数据跨越了主库和冷备库,怎么处理?” 这问题又把我问懵了,我们项目根本没做冷备库,纯纯是我简历上吹的!
就在面试官盯着我等回答的几秒钟里,我脑子飞速旋转,突然灵机一动,把两个问题绑在一起圆:“其实选雪花算法也和跨库查询有关!我们冷备库存储的是上一次数据迁移前的所有数据,迁移时会记录当时最大的雪花 ID—— 因为雪花 ID 里包含时间戳,查询的时候先根据查询日期判断对应的雪花 ID 范围,就能知道数据在主库还是冷备库。如果跨越了两个库,就分别查询主库和冷备库的数据,最后合并返回,这样效率比全量扫描高很多。”
我说得语速飞快,眼睛都不敢直视面试官,心里祈祷 “千万别拆穿我”。结果面试官听完居然默默点头,还若有所思地说 “哦,这样考虑确实合理”,然后就接着问下一个问题了!我当时心里的石头瞬间落地,后背都被冷汗浸湿了,强装镇定往下答,结束后走出面试间,腿都有点软。
现在回想起来,真的是极限操作!那套说辞完全是我临场瞎编的,连我自己都不知道逻辑通不通,居然真的蒙混过关了。后来拿到 offer 的时候,还特意去补了雪花算法和跨库查询的知识,生怕入职后露馅。只能说面试吹牛皮有风险,下次再也不敢瞎写简历了,就算吹也要提前把逻辑圆好,不然真的会翻车!
#你面试时吹过最大的牛#
全部评论
相关推荐
11-27 13:39
西北工业大学 C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-18 15:12
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享