面试了一个实习生,他说我的问题没问到他的心趴上
引言
上周五下午,刚结束了一天忙碌的工作,准备摸会鱼下班
没想到老板递来一份简历,小杨,你面试一下这个实习生,合适的话,招进来实习
“我勒个去,正准备快乐摸鱼了,怎么还要面试实习生,看我不给他上一课”
面试中
打开视频会议
“你好,你先做个自我介绍吧”
“面试官,你好,我叫狂少,我是门头沟大学大三学生,拥有高并发,大数据量经验,正在寻找一份架构方面的实习工作”
我看着这小子的简历,陷入了沉思,我出道两年半,还在 CRUD,你小子想要找架构的工作,今天高低不得问得你支支吾吾,枉费我这坤拳👊的练习
我冷笑一声后说,“行,那你先说一下什么情况下使用分库分表”
狂少:“阿里巴巴开发手册有推荐的思路:单表行数超过500 万行或者单表容量超过2GB,推荐进行分表,实际的业务流程中,在我们业务上线的时候就可以考虑未来的业务数据量,是否有必要进行分库分表,如果未来的数据增长有可能达到预期,那么就可以提前进行设计”
看来,这小子有两把刷子,理论知识还是准备过了,于是我准备开始上难度
“那你说说,分库分表常见的数据倾斜这种问题,如何解决?”
没想到这小子,直接拍了一下桌子“倾斜咋能算问题,只是一种现象,你们现在数据量多少了,要解决倾斜这种现象”
这一招,反客为主,差点把我唬住,幸好我及时冷静下来,我是面试官,跟谁两呢,谁面试谁
“你否管我数据量多少,数据倾斜就是问题,就算没问题,我也要未雨绸缪的去解决一下”
狂少:“数据倾斜不是问题,数据库的性能出现了瓶颈才是问题,你是查询慢了,还是新增慢了,要是查询不慢,新增不慢,我解决个球。非得我给你讲八股,扩分片数量,迁移历史表,二次打散嘛”
面对这个实习生的疯狂输出,我竟一时有些语塞
我继续追问,“现在就是查询慢了,你说说怎么解决吧”
狂少:“数据查询慢,你真的能确定是数据量的原因吗,你有做过 explain 的语句分析么,是索引引起的么?还是你单次查询量过大啊?还是你业务代码诉求联合多表查询导致的慢啊?”
这一招三连问,我竟有些招架不住,只好说出“这三种情况在我司,都发生过,你说说怎么解决”
狂少:“我首先会使用 explain 分析语句,看下语句是否有走上索引,如果没有走上索引的话,我会根据业务情况判断是否需要设计索引,还是和业务沟通需求;如果走上了索引依旧查询效率很低,我会看是不是因为单次查询数据量过多,或者查询了根本不需要的字段,亦或是深分页带来的效率问题。如果以上都不是的话,我会看这个sql语句是否恰当,有没有关联多表查询,或者使用了一堆子查询”
狂少:“礼貌问一句,贵司,数据量多大,有这么多查询问题”
我默默伸出了五根手指头,“五万多的数据量吧”,话音刚落,屏幕上显示 狂少 已经退出了会议室
(顺便吆喝一句,技术大厂,前后端测试捞人机会,感兴趣看看,待遇还不错)
结尾
三天后,老板叫我去办公室
小杨啊,上次你面试的那个实习生投诉你了啊
为什么啊,我和他聊的还挺愉快的
他说你水平太低,没有问到他的心趴上.......
——转载自:isysc1