理想汽车后端开发一面(8.31)
理想汽车后端开发一面(44 min)
- 自我介绍
场景题 & 智力题
- 用户表是怎么建的
- 假如我想查出来姓名是张开头的、包含张的、以张结尾的所有用户并分页展示, 写SQL语句, 三个SQL语句
- 假如挂号平台用户量越来越大, 比如说达到了1亿个用户, 一张表放不下了, 这时候怎么办呢
- 如果根据id来分表, 如果使用UUID的话, 如何确定它是分到了哪个表里边呢
- 讨论一下如何设计合理的函数来对UUID进行分表
- 对每一位求和再取余是一种方式, 但是不够随机, 能不能再优化下方法, 让它再随机一些
- 假如使用位运算来设计, 你会选择使用哪种运算方式, 异或、与 还是 或 还是 非还是别的
- 假如现在你把表分开了, 把用户均匀的分到了8张表里, 现在我想对所有用户按照身高进行排序, 获取出身高排序在21~30的用户, 怎么做
- 假设每张用户表1亿条数据, 怎么查出身高排前30的数据
- 这8张表每张表查出了前30的用户, 你怎么找出排在21~30的这十个人
- 如果这8张表的数据很分散, 又该怎么去查
- 有没有不需要把这240条数据都遍历一遍的情况下去解决这个问题
- 讲一下归并排序
- 有两个集合M和N, M和N里都是存的身份证号, M集合里存的有好人有坏人, N集合里全是坏人且M集合里的坏人全在N里边, 现在我想把集合M里的坏人全筛选出来, 怎么实现, 复杂度越低越好
- 还是上一个问题, 假如说数据量很大, 存在文件里, M有1亿个身份证号, N有1千万个身份证号, 但是内存一次最多加载1百万个身份证号, 又该怎么查, 文件里存放是无序的
- 如果只是判断存在不存在, 并不需要对M集合拆分文件并排序, 我只需要对M集合里的数据进行归类, 按好人坏人身份证号的某些特性进行归类, 也是分文件分块, 符合某种规则就ok