python后端面试第三部分:数据储存与缓存相关--长期维护
1. 列举常见的关系型数据库和非关系型都有哪些?
2. MySQL常见数据库引擎及比较?
3. 简述数据三大范式?
4. 什么是事务?MySQL如何支持事务?
5. 简述数据库设计中一对多和多对多的应用场景?
6. 如何基于数据库实现商城商品计数器?
7. 常见SQL(必备)
8. 简述触发器、函数、视图、存储过程?
9. MySQL索引种类
10. 索引在什么情况下遵循最左前缀的规则?
11. 主键和外键的区别?
12. MySQL常见的函数?
13. 列举 创建索引但是无法命中索引的8种情况。
14. 如何开启慢日志查询?
15. 数据库导入导出命令(结构+数据)?
16. 数据库优化方案?
17. char和varchar的区别?
18. 简述MySQL的执行计划?
19. 在对name做了唯一索引前提下,简述limit 1 作用
20. 1000w条数据,使用limit offset 分页时,为什么越往后翻越慢?如何解决?
21. 什么是索引合并?
22. 什么是覆盖索引?
23. 简述数据库读写分离?
24. 简述数据库分库分表?(水平、垂直)
25. redis和memcached比较?
26. redis中数据库默认是多少个db 及作用?
27. python操作redis的模块?
28. 如果redis中的某个列表中的数据量非常大,如果实现循环显示每一个值?
29. redis如何实现主从复制?以及数据同步机制?
30. redis中的sentinel的作用?
31. 如何实现redis集群?
32. redis中默认有多少个哈希槽?
33. 简述redis的有哪几种持久化策略及比较?
34. 列举redis支持的过期策略(数据淘汰策略)。
35. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中都是热点数据?
36. 写代码,基于redis的列表实现 先进先出、后进先出队列、优先级队列。
37. 如何基于redis实现消息队列?
38. 如何基于redis实现发布和订阅?以及发布订阅和消息队列的区别?
39. 什么是codis及作用?
40. 什么是twemproxy及作用?
41. 写代码实现redis事务操作。
42. redis中的watch的命令的作用?
43. 基于redis如何实现商城商品数量计数器?
44. 简述redis分布式锁和redlock的实现机制。
45. 什么是一致性哈希?Python中是否有相应模块?
46. 如何高效的找到redis中所有以aaa开头的key?