技术问题集

技术问题集


数据结构和算法(67) #

  1. 复杂度分析:如何分析算法的执行效率和资源消耗? 【答案】
  2. 复杂度分析:浅析最好、最坏、平均、平摊时间复杂度 【答案】
  3. 数组:为什么很多编程语言中数组都从0开始编号?
  4. 链表:原理、应用场景、优缺点、如何实现?
  5. 链表:如何实现LRU缓存淘汰算法?
  6. 栈:原理、应用场景、优缺点、如何实现?
  7. 栈:如何实现浏览器的前进和后退功能?
  8. 队列:原理、应用场景、优缺点、如何实现?
  9. 队列:如何实现线程池等有限资源池等请求排队功能?
  10. 递归:原理、应用场景、优缺点、如何实现?
  11. 递归:如何用三行代码找到“最终推荐人”?
  12. 排序:插入排序,原理、应用场景、优缺点、如何实现?
  13. 排序:为什么插入排序比冒泡排序更受欢迎?
  14. 排序:快速排序,原理、应用场景、优缺点、如何实现?
  15. 排序:如何用快排思想在O(n)内查找第K大元素?
  16. 排序:线性排序,如何根据年龄给100万用户数据排序?
  17. 排序:排序优化,如何实现一个通用的、高性能的排序函数?
  18. 二分查找:如何用最省内存的方式实现快速查找功能?
  19. 二分查找:如何快速定位IP对应的省份地址?
  20. 跳表:原理、应用场景、优缺点、如何实现?
  21. 跳表:为什么Redis一定要用跳表实现有序集合?
  22. 散列表:原理、应用场景、优缺点、如何实现?
  23. 散列表:Word文档的单词拼写检查功能是如何实现的?
  24. 散列表:如何打造一个工业级水平的散列表?
  25. 散列表:为什么经常把散列表和链表放在一起使用?
  26. 哈希算法:原理、应用场景、优缺点、如何实现?
  27. 哈希算法:如何防止数据库中的用户信息被脱库?
  28. 哈希算法:哈希算法在分布式系统中有哪些应用?
  29. 二叉树:原理、应用场景、优缺点、如何实现?
  30. 二叉树:什么样的二叉树适合用数组来存储?
  31. 二叉树:有了高效的散列表,为什么还用二叉树?
  32. 红黑树:原理、应用场景、优缺点、如何实现?
  33. 红黑树:为什么工程中都喜欢用红黑树这种平衡二叉树?
  34. 递归树:如何借助递归树来分析递归算法的时间复杂度?
  35. 堆和堆排序:为什么说堆排序没有快速排序快?
  36. 堆和堆排序:如何寻找TOP10热门搜索关键词?
  37. 堆和堆排序:最大堆,原理、应用场景、优缺点、如何实现?
  38. 堆和堆排序:斐波那契堆,原理、应用场景、优缺点、如何实现?
  39. B+树:原理、应用场景、优缺点、如何实现?
  40. B+树:MySQL数据库索引是如何实现的?
  41. 图:原理、应用场景、优缺点、如何实现?
  42. 图:如何存储微博、微信等社交网络中的好友关系?
  43. 图算法:拓扑排序,原理、应用场景、优缺点、如何实现?
  44. 图算法:拓扑排序,如何确定代码源文件的编译依赖关系?
  45. 图算法:广度优先搜索,原理、应用场景、优缺点、如何实现?
  46. 图算法:深度优先搜索,原理、应用场景、优缺点、如何实现?
  47. 深度和广度优先搜索:原理、应用场景、优缺点、如何实现?
  48. 深度和广度优先搜索:如何找出社交网络中的三度好友关系?
  49. 前缀树(Trie):原理、应用场景、优缺点、如何实现?
  50. 前缀树(Trie):如何实现搜索引擎的搜索关键词提示功能?
  51. AC自动机:如何用多模式串匹配实现敏感词过滤功能?
  52. 贪心算法:原理、应用场景、优缺点、如何实现?
  53. 贪心算法:如何用贪心算法实现Huffman压缩编码?
  54. 分治算法:谈一谈大规模计算框架MapReduce中的分治思想
  55. 回溯算法:原理、应用场景、优缺点、如何实现?
  56. 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
  57. 动态规划:原理、应用场景、优缺点、如何实现?
  58. 动态规划:如何巧妙解决“双十一”购物时的凑单问题?
  59. 动态规划:最优子结构、无后效性和重复子问题
  60. 动态规划:如何实现搜索引擎中的拼写纠错功能?
  61. 最短路径:地图软件是如何计算出最优出行路径的?
  62. 位图:如何实现网页爬虫中的URL去重功能?
  63. 统计问题:如何利用朴素贝叶斯算法过滤垃圾短信?
  64. 向量空间:如何实现一个简单的音乐推荐系统?
  65. 搜索:如何用A*搜索算法实现游戏中的寻路功能?
  66. 并行算法:如何利用并行处理提高算法的执行效率?
  67. Kruskal算法和Prim算法,原理、应用场景、优缺点、如何实现?

编程语言:Python(28) #

  1. 基础:Python2和Python3的区别?
  2. 基础:什么是Python的命名空间?
  3. 基础:Python数组和列表有什么区别?
  4. 基础:Python中Lambda函数是什么,举例说明的它的应用场景。
  5. 基础:为什么Python中的lambda形式没有语句?
  6. 基础:Python中迭代器和生成器
  7. 基础:Python中为什么没有函数重载?
  8. 基础:Python中的self是什么?
  9. 基础:__init__和__new__方法有什么区别?
  10. 基础:函数参数*arg和**kwargs分别代表什么?
  11. 基础:什么是鸭子类型(duck typing)?
  12. 基础:Python中变量的作用域
  13. 基础:Python中局部变量和全局变量的规则是什么?
  14. 基础:range和xrange有什么区别?
  15. 基础:namedtuple的用法和作用
  16. 基础:remove()函数和del语句有什么区别?
  17. 基础:Python装饰器是什么?
  18. 基础:闭包
  19. 基础:Python中模块和包的理解
  20. 基础:“猴子补丁”(monkey patching)
  21. 基础:Python中的多线程和多进程的应用场景和优缺点
  22. 基础:线程池的工作原理
  23. 内存:Python中的浅拷贝和深拷贝
  24. 内存:Python是如何实现内存管理的?
  25. 异常:Python的异常处理机制
  26. 性能:如何剖析Python代码的执行性能?
  27. 性能:关于Python程序的运行方面,有什么手段能提升性能?
  28. 工具:静态代码分析

编程语言:Golang(54) #

  1. 基础:Golang中make和new的区别?
  2. 基础:数组和切片的区别?
  3. 基础:for range的时候它的地址会发生变化么?for循环遍历slice有什么问题?
  4. 基础:go defer,多个defer的顺序,defer在什么时机会修改返回值?
  5. 基础:uint类型溢出
  6. 基础:介绍rune类型
  7. 基础:golang中解析tag是怎么实现的?反射原理是什么?
  8. 基础:调用函数传入结构体时,应该传值还是指针?
  9. 基础:silce遇到过哪些坑?
  10. 基础:go struct能不能比较?
  11. 基础:Go闭包
  12. Context:context结构是什么样的?
  13. Context:context使用场景和用途?
  14. Channel:channel是否线程安全?锁用在什么地方?
  15. Channel:go channel 的底层实现原理(数据结构)
  16. Channel:nil、关闭的channel、有数据的channel,再进行读、写、关闭会怎么样?(各类变种题型)例如:go channel close 后读的问题,向为 nil 的 channel 发送数据会怎么样?
  17. Channel:向channel发送数据和从channel读数据的流程是什么样的?
  18. Map:map使用注意的点,并发安全?
  19. Map:map循环是有序的还是无序的?
  20. Map:map中删除一个key,它的内存会释放么?
  21. Map:怎么处理对map进行并发访问?有没有其他方案? 区别是什么?
  22. Map:nil map和空map有何不同?
  23. Map:map的数据结构是什么?是怎么实现扩容?
  24. Map:map取一个key,然后修改这个值,原map数据的值会不会变化
  25. GMP:什么是GMP?调度过程是什么样的?
  26. GMP:进程、线程、协程有什么区别?
  27. GMP:Goroutine调度策略
  28. GMP:抢占式调度是如何抢占的?
  29. GMP:M和P的数量问题?
  30. GMP:协程怎么退出?
  31. GMP:map如何顺序读取?
  32. 锁:除了mutex以外还有那些方式安全读写共享变量?
  33. 锁:golang如何实现原子操作?
  34. 锁:Mutex是悲观锁还是乐观锁?悲观锁、乐观锁是什么?
  35. 锁:Mutex有几种模式?
  36. 锁:goroutine的自旋占用资源如何解决
  37. 锁:读写锁底层是怎么实现的?
  38. 同步原语:知道哪些sync同步原语?各有什么作用?
  39. 同步原语:sync.WaitGroup
  40. 并发:怎么控制并发数?
  41. 并发:多个goroutine对同一个map写会panic,异常是否可以用defer捕获?
  42. 并发:如何优雅的实现一个goroutine池?
  43. 并发:select 可以用于什么?
  44. 并发:主协程如何等其余协程完再操作?
  45. GC:golang gc时会发生什么?
  46. GC:golang的gc算法是怎么实现的?
  47. GC:gc中stw时机,各个阶段是如何解决的?
  48. GC:gc的触发时机?
  49. 内存:谈谈内存泄露,什么情况下内存会泄露?怎么定位排查内存泄漏问题?
  50. 内存:golang的内存逃逸是什么?什么情况下会发生内存逃逸?
  51. 内存:简述golang是如何分配内存的?Channel分配在栈上还是堆上?哪些对象分配在堆上,哪些对象分配在栈上?
  52. 内存:介绍一下大对象小对象,为什么小对象多了会造成gc压力?
  53. 内存:堆和栈的区别?golang栈空间管理是怎么样的?
  54. 内存:当golang服务部署到线上了,发现有内存泄露,该怎么处理?

面向对象与设计模式(74) #

  1. 面向对象:当我们再谈论面向对象的时候,我们到底在谈论什么?
  2. 面向对象:封装、继承、多态分别能解决哪些编程问题?
  3. 面向对象:面向对象相比面向过程有哪些优势?面向过程真的过时了吗?
  4. 面向对象:有哪些代码设计看似是面向对象,实际上是面向过程风格?
  5. 面向对象:接口vs抽象类的区别?如何用普通类语法模拟接口和抽象类?
  6. 面向对象:为何要基于接口而非实现编程?有必要为每个类都定义接口吗?
  7. 面向对象:为何说要多用组合少用继承?如何决定该用组合还是继承?
  8. 设计原则:设计模式有哪些原则?
  9. 设计原则:对于单一职责原则,如何判定一个类的职责是否够“单一”?
  10. 设计原则:如果做到“对扩展开放、修改关闭”?如何设计可扩展代码?
  11. 设计原则:里氏替换(LSP)跟多态有何区别?哪些代码违背了LSP?
  12. 设计原则:接口隔离原则有哪三种应用?原则中的“接口”该如何理解?
  13. 设计原则:控制反转、依赖反转、依赖注入,这三者有何区别和联系?
  14. 设计原则:为何说KISS、YAGNI原则看似简单,却经常被用错?
  15. 设计原则:重复代码就一定违背DRY吗?如何提高代码的复用性?
  16. 设计原则:如何利用迪米特法则(LOD)实现“高内聚、松耦合”?
  17. 重构:什么情况下要重构?到底重构什么?又该如何重构?
  18. 重构:为了保证重构不出错,有哪些非常能落地的技术手段?
  19. 重构:什么是代码可测试性?如何写出可测试性好的代码?
  20. 重构:如何通过封装、抽象、模块化、中间层等解耦代码?
  21. 设计模式:设计模式的分类?
  22. 设计模式:创建型模式-单例模式(Singleton Pattern)原理、核心思想、应用场景、如何实现?
  23. 设计模式:创建型模式-单例模式,为什么说支持懒加载的双重检测不比饿汉式更优?
  24. 设计模式:创建型模式-单例模式,为什么不推荐使用单例模式?又有何替代方案?
  25. 设计模式:创建型模式-单例模式,如何实现多例模式和集群下的分布式单例模式?
  26. 设计模式:创建型模式-抽象工厂模式(Abstract Factory Pattern)原理、核心思想、应用场景、如何实现?
  27. 设计模式:创建型模式-工厂方法模式(Factory Method Pattern)原理、核心思想、应用场景、如何实现?
  28. 设计模式:创建型模式-工厂模式,为什么说没事不要随便使用工厂模式创建对象?
  29. 设计模式:创建型模式-工厂模式,如何设计一个 Dependency Injection 框架?
  30. 设计模式:创建型模式-生成器模式(Builder Pattern)原理、核心思想、应用场景、如何实现?
  31. 设计模式:创建型模式-生成器模式,如何设计实现一个简洁易用的SQL语句生成框架?
  32. 设计模式:创建型模式-原型模式(Prototype Pattern)原理、核心思想、应用场景、如何实现?
  33. 设计模式:创建型模式-原型模式,如何最快速地深度clone一个HashMap散列表?
  34. 设计模式:结构型模式-代理模式(Proxy Pattern)原理、核心思想、应用场景、如何实现?
  35. 设计模式:结构型模式-代理模式,代理模式在RPC、缓存、监控等场景中的应用
  36. 设计模式:结构型模式-桥接模式(Bridge Pattern)原理、核心思想、应用场景、如何实现?
  37. 设计模式:结构型模式-桥接模式,如何实现不同格式和渠道的消息推送系统?
  38. 设计模式:结构型模式-装饰器模式(Decorator Pattern)原理、核心思想、应用场景、如何实现?
  39. 设计模式:结构型模式-适配器模式(Adapter Pattern)原理、核心思想、应用场景、如何实现?
  40. 设计模式:结构型模式-适配器模式,代理、适配器、桥接、装饰,这四个模式有何区别?
  41. 设计模式:结构型模式-外观模式(Facade Pattern)原理、核心思想、应用场景、如何实现?
  42. 设计模式:结构型模式-外观模式,如何设计合理的借口粒度以兼顾接口的易用性和通用性?
  43. 设计模式:结构型模式-组合模式(Composite Pattern)原理、核心思想、应用场景、如何实现?
  44. 设计模式:结构型模式-组合模式,如何设计实现支持递归遍历的文件系统目录树结构?
  45. 设计模式:结构型模式-享元模式(Flyweight Pattern)原理、核心思想、应用场景、如何实现?
  46. 设计模式:结构型模式-享元模式,如何利用享元模式优化文本编辑器的内存占用?
  47. 设计模式:行为型模式-观察者模式(Observer Pattern)原理、核心思想、应用场景、如何实现?
  48. 设计模式:行为型模式-观察者模式,详解各种应用场景下观察者模式的不同实现方式
  49. 设计模式:行为型模式-观察者模式,如何实现一个异步非阻塞的EventBus框架?
  50. 设计模式:行为型模式-模版方法模式(Template Method Pattern)原理、核心思想、应用场景、如何实现?
  51. 设计模式:行为型模式-模版模式,模版模式与callback回调函数有何区别和联系?
  52. 设计模式:行为型模式-策略模式(Strategy Pattern)原理、核心思想、应用场景、如何实现?
  53. 设计模式:行为型模式-策略模式,如何避免冗长的if-else/switch分支判断代码?
  54. 设计模式:行为型模式-策略模式,如何实现一个可以给不同大小文件排序的小程序?
  55. 设计模式:行为型模式-责任链模式(Chain of Responsibility)原理、核心思想、应用场景、如何实现?
  56. 设计模式:行为型模式-责任链模式,如何实现可灵活扩展算法的敏感信息过滤框架?
  57. 设计模式:行为型模式-责任链模式,框架中常用的过滤器、拦截器是如何实现的?
  58. 设计模式:行为型模式-状态模式(State Pattern)原理、核心思想、应用场景、如何实现?
  59. 设计模式:行为型模式-状态模式,游戏、工作流引擎中常用的状态机是如何实现的?
  60. 设计模式:行为型模式-迭代器模式(Iterator Pattern)原理、核心思想、应用场景、如何实现?
  61. 设计模式:行为型模式-迭代器模式,相比直接遍历集合数据,使用迭代器有哪些优势?
  62. 设计模式:行为型模式-迭代器模式,在遍历集合的同时为什么不能增删集合元素?
  63. 设计模式:行为型模式-迭代器模式,如何设计实现一个支持“快照”功能的iterator?
  64. 设计模式:行为型模式-访问者模式(Visitor Pattern)原理、核心思想、应用场景、如何实现?
  65. 设计模式:行为型模式-访问者模式,访问者模式诞生的思维过程
  66. 设计模式:行为型模式-访问者模式,为什么支持双分派的语言就不需要访问者模式?
  67. 设计模式:行为型模式-备忘录模式(Memento Pattern)原理、核心思想、应用场景、如何实现?
  68. 设计模式:行为型模式-备忘录模式,对于大对象的备份和恢复,如何优化内存和时间的消耗?
  69. 设计模式:行为型模式-命令模式(Command Pattern)原理、核心思想、应用场景、如何实现?
  70. 设计模式:行为型模式-命令模式,如何利用命令模式加轮训机制搭建手游后端架构?
  71. 设计模式:行为型模式-解释器模式(Interpreter Pattern)原理、核心思想、应用场景、如何实现?
  72. 设计模式:行为型模式-解释器模式,如何设计实现一个自定义接口告警规则功能?
  73. 设计模式:行为型模式-中介模式(Mediator Pattern)原理、核心思想、应用场景、如何实现?
  74. 设计模式:行为型模式-中介模式,什么时候用中介模式?什么时候用观察者模式?

操作系统(47) #

  1. 基础:什么是操作系统?
  2. 基础:操作系统主要有哪些功能?
  3. 基础:什么是用户态和内核态?
  4. 基础:为什么要有用户态和内核态?只有一个内核态不行么?
  5. 基础:用户态和内核态是如何切换的?
  6. 基础:什么是系统调用?
  7. 基础:系统调用的过程是怎么样的?
  8. 进程与线程:什么是进程和线程?
  9. 进程与线程:进程和线程的区别是什么?
  10. 进程与线程:有了进程为什么还需要线程?
  11. 进程与线程:为什么要使用多线程?
  12. 进程与线程:线程间的同步的方式有哪些?
  13. 进程与线程:PCB 是什么?包含哪些信息?
  14. 进程与线程:进程有哪几种状态?
  15. 进程与线程:进程间的通信方式有哪些?
  16. 进程与线程:进程的调度算法有哪些?
  17. 进程与线程:什么是僵尸进程和孤儿进程?
  18. 进程与线程:如何查看是否有僵尸进程?
  19. 死锁:什么是死锁?
  20. 死锁:列举一个操作系统发生死锁的例子?
  21. 死锁:产生死锁的四个必要条件是什么?
  22. 死锁:写一个模拟产生死锁的代码?
  23. 死锁:解决死锁的方法
  24. 内存管理:内存管理主要做了什么?
  25. 内存管理:什么是内存碎片?
  26. 内存管理:常见的内存管理方式有哪些?
  27. 内存管理-虚拟内存:什么是虚拟内存?有什么用?
  28. 内存管理-虚拟内存:没有虚拟内存有什么问题?
  29. 内存管理-虚拟内存:什么是虚拟地址和物理地址?
  30. 内存管理-虚拟内存:什么是虚拟地址空间和物理地址空间?
  31. 内存管理-虚拟内存:虚拟地址与物理内存地址是如何映射的?
  32. 内存管理-分段机制:段表有什么用?地址翻译过程是怎样的?
  33. 内存管理-分段机制:分段机制为什么会导致内存外部碎片?
  34. 内存管理-分页机制:页表有什么用?地址翻译过程是怎样的?
  35. 内存管理-分页机制:单级页表有什么问题?为什么需要多级页表?
  36. 内存管理-分页机制:TLB 有什么用?使用 TLB 之后的地址翻译流程是怎样的?
  37. 内存管理-分页机制:换页机制有什么用
  38. 内存管理-分页机制:什么是页缺失?
  39. 内存管理-分页机制:常见的页面置换算法有哪些?
  40. 内存管理:分页机制和分段机制有哪些共同点和区别?
  41. 内存管理:段页机制
  42. 内存管理:局部性原理
  43. 文件系统:文件系统主要做了什么?
  44. 文件系统:硬链接和软链接有什么区别?
  45. 文件系统:硬链接为什么不能跨文件系统?
  46. 文件系统:提高文件系统性能的方式有哪些?
  47. 文件系统:常见的磁盘调度算法有哪些?

网络(62) #

  1. 基础:计算机网络体系结构
  2. 基础:计算机网络体系结构每一层对应的网络协议有哪些?
  3. 基础:数据在各层之间是怎么传输的?
  4. 基础:从浏览器地址栏输入URL到显示主页的过程?
  5. 基础:DNS的解析过程?
  6. 基础:WebSocket与Socket的区别?
  7. HTTP:HTTP常用的状态码及其含义?
  8. HTTP:HTTP有哪些请求方式?
  9. HTTP:GET和POST的区别?
  10. HTTP:GET的长度限制是多少?
  11. HTTP:HTTP请求的过程与原理?
  12. HTTP:HTTP的报文结构?
  13. HTTP:URI和URL有什么区别?
  14. HTTP:HTTP 1.0,1.1,2.0的区别?
  15. HTTP:HTTP/3
  16. HTTP:HTTP如何实现长连接?在什么时候会超时?
  17. HTTP:HTTP与HTTPS有哪些区别?
  18. HTTP:为什么要用HTTPS?解决了哪些问题?
  19. HTTP:HTTPS工作流程是怎样的?
  20. HTTP:客户端怎么去校验证书的合法性?
  21. HTTP:如何理解HTTP协议是无状态的?
  22. HTTP:Session和Cookie有什么联系和区别?
  23. TCP:TCP的三次握手机制
  24. TCP:TCP握手为什么是三次,为什么不能是两次?不能是四次?
  25. TCP:三次握手中每一次没收到报文会发生什么情况?
  26. TCP:第二次握手传回了ACK,为什么还要传回SYN?
  27. TCP:第3次握手可以携带数据吗?
  28. TCP:半连接队列和SYN Flood攻击的关系?
  29. TCP:TCP四次挥手的过程?
  30. TCP:TCP挥手为什么需要四次呢?
  31. TCP:TCP四次挥手过程中,为什么需要等待 2MSL, 才进入CLOSED关闭状态?
  32. TCP:保活计时器有什么用?
  33. TCP:CLOSE-WAIT和TIME-WAIT的状态和意义?
  34. TCP:TIME_WAIT状态过多会导致什么问题?怎么解决?
  35. TCP:TCP报文头部的格式?
  36. TCP:TCP是如何保证可靠性的?
  37. TCP:TCP的流量控制
  38. TCP:TCP的滑动窗口
  39. TCP:Nagle算法和延迟确认
  40. TCP:TCP的拥塞控制
  41. TCP:TCP的重传机制
  42. TCP:TCP的粘包和拆包
  43. TCP:一个TCP连接可以发送多少次HTTP请求?
  44. UDP:TCP和UDP的区别?
  45. UDP:为什么QQ采用UDP协议?
  46. UDP:UDP协议为什么不可靠?
  47. UDP:DNS为什么要用UDP?
  48. IP:IP协议的定义和作用?
  49. IP:IP地址有哪些分类?
  50. IP:域名和IP的关系?一个IP可以对应多个域名吗?
  51. IP:IPV4地址不够如何解决?
  52. IP:ARP协议的工作过程?
  53. IP:为什么既有IP地址,又有MAC地址?
  54. IP:ICMP协议的功能?
  55. IP:Ping的原理?
  56. 网络安全:有哪些安全攻击?
  57. 网络安全:DNS劫持
  58. 网络安全:什么是CSRF攻击?如何避免?
  59. 网络安全:什么是DoS、DDoS、DRDoS攻击?
  60. 网络安全:什么是XSS攻击,如何避免?
  61. 网络安全:对称加密与非对称加密有什么区别?
  62. 网络安全:RSA和AES算法有什么区别?

数据库(73) #

  1. 范式:三大范式
  2. 范式:为什么会有三大范式?
  3. 范式:什么场景下不用遵循三大范式?举例
  4. 概念:什么是最左前缀原则?
  5. 概念:WAL 是什么?有什么好处?
  6. 概念:什么是幻读,脏读,不可重复读呢?
  7. 概念:什么是内连接、外连接、交叉连接、笛卡尔积?
  8. 概念:MySQL的内连接、左连接、右连接有什么区别?
  9. 类型:MySQL中varchar与char的区别?
  10. 类型:MySQL中blob和tex的区别?
  11. 类型:MySQL中DATETIME和TIMESTAMP的异同?
  12. 类型:MySQL中in和exists的区别?
  13. 类型:MySQL中drop、delete与truncate的区别?
  14. 类型:MySQL中UNION与UNION ALL的区别?
  15. 类型:SQL的隐式数据类型转换?
  16. 存储:MyISAM与InnoDB的区别是什么?
  17. 索引:什么是索引?
  18. 索引:索引失效的场景有哪些?
  19. 索引:什么是回表?
  20. 索引:什么是索引下推?
  21. 索引:什么是覆盖索引?
  22. 索引:聚集索引与非聚集索引的区别
  23. 索引:MySQL索引使用有哪些注意事项呢?
  24. 视图:为什么要使用视图?什么是视图?
  25. 视图:视图有哪些特点?哪些使用场景?
  26. 视图:视图的优点、缺点
  27. 事务:什么是事务?其特性是什么?
  28. 事务:事务的隔离级别有哪些?MySQL的默认隔离级别是什么?
  29. 事务:MySQL事务的四大特性以及实现原理
  30. 存储过程:什么是存储过程?有哪些优缺点?
  31. 日志:MySQL中binlog是做什么的?
  32. 日志:MySQL中undolog是做什么的?
  33. 日志:MySQL中relaylog是做什么的?
  34. 日志:MySQL中redolog是做什么的?
  35. 日志:MySQL中redolog是怎么记录日志的?
  36. 日志:MySQL中redolog和binlog的区别是什么?
  37. 锁:MySQL中有哪些锁?
  38. 锁:数据库的乐观锁和悲观锁
  39. 锁:MySQL遇到过死锁问题吗,你是如何解决的?
  40. 原理:为什么VarChar建议不要超过255?
  41. 原理:MySQL中MVCC有什么作用?
  42. 原理:MySQL中buffer pool是做什么的?
  43. 原理:MySQL主从之间是怎么同步数据的?
  44. 原理:MySQL分布式事务怎么实现?
  45. 原理:MySQL一行记录是怎么存储的?
  46. 原理:MySQL中一条查询语句是怎么执行的?
  47. 原理:MySQL使用InnoDB的情况下,一条更新语句是怎么执行的?
  48. 原理:InnoDB事务为什么要两阶段提交?
  49. 原理:MySQL为什么采用B+树,而不是B-树?
  50. 原理:MySQL删除表数据后表的大小却没有变动,这是为什么?
  51. 原理:为什么不要使用长事务?
  52. 应用设计:在MySQL中怎么存储emoji?
  53. 应用设计:在MySQL中记录货币用什么字段类型比较好?
  54. 应用设计:MySQL中count(1)、count(*)与count(列名)的区别?
  55. 应用设计:普通索引和唯一索引该怎么选择?
  56. 应用设计:一条SQL语句查询一直慢会是什么原因?
  57. 应用设计:一条SQL语句查询偶尔慢会是什么原因?
  58. 应用设计:分库与分表的设计
  59. 应用设计:SQL性能调优思路
  60. 应用设计:为什么推荐使用自增id作为主键?
  61. 应用设计:如何选择合适的分布式主键方案?
  62. 应用设计:在高并发情况下,如何做到安全的修改同一行数据?
  63. 应用设计:如果某个表有近千万数据,CRUD比较慢,如何优化?
  64. 应用设计:如何写sql能够有效的使用到复合索引?
  65. 应用设计:大表查询的优化方案
  66. 应用设计:什么是数据库连接池?为什么需要数据库连接池呢?
  67. 应用设计:百万级别或以上的数据,你是如何删除的?
  68. 应用设计:如何优化慢查询?
  69. 集群维护:MySQL主从延迟要怎么解决?
  70. 集群维护:MySQL集群配置调优思路
  71. 集群维护:MySQL故障诊断思路
  72. 集群维护:MySQL如何备份恢复?

消息队列(16) #

  1. 消息模型:主题和队列有什么区别?
  2. 选型:为什么需要消息队列?或者说消息队列主要解决哪几类场景问题?
  3. 选型:如何选择消息队列?
  4. 原理:Kafka和RocketMQ的消息复制实现的差异点在哪?
  5. 原理:Kafka与RocketMQ如何实现事务?
  6. 原理:Kafka如何实现高性能IO?
  7. 原理:Kafka Consumer消息消费的实现过程
  8. 设计:如何利用事务消息实现分布式事务?
  9. 设计:如何确保消息不丢失?
  10. 设计:消息积压了该如何处理?
  11. 设计:如何使用异步设计提升系统性能?
  12. 设计:如何实现高性能的异步网络传输?
  13. 序列化与反序列化:如何通过网络传输结构化数据?
  14. MQTT协议:如何支持海量的在线IoT设备?

缓存(31) #

  1. 选型:为什么用缓存?
  2. 原理:缓存如何实现高性能?
  3. 原理:缓存如何实现高并发?
  4. Redis数据结构:Redis的数据类型和使用场景
  5. Redis数据结构:五种常见的Redis数据类型是怎么实现?
  6. Redis线程模型:Redis是单线程的吗?
  7. Redis线程模型:Redis的单线程模型
  8. Redis线程模型:为什么Redis单线程模型也能效率这么高?
  9. Redis线程模型:Redis 6.0之前为什么使用单线程?
  10. Redis线程模型:Redis 6.0之后为什么引入了多线程?
  11. Redis持久化:Redis如何实现数据不丢失?
  12. Redis持久化:AOF日志是如何实现的?
  13. Redis持久化:RDB快照是如何实现的呢?
  14. Redis持久化:为什么会有混合持久化?
  15. Redis集群:Redis如何实现服务高可用?
  16. Redis集群:集群脑裂导致数据丢失怎么办?
  17. Redis集群:Redis的哨兵原理
  18. Redis过期删除与内存淘汰:Redis使用的过期删除策略是什么?
  19. Redis过期删除与内存淘汰:Redis 持久化时,对过期键会如何处理的?
  20. Redis过期删除与内存淘汰:Redis 主从模式中,对过期键会如何处理?
  21. Redis过期删除与内存淘汰:Redis 内存满了,会发生什么?
  22. Redis过期删除与内存淘汰:Redis 内存淘汰策略有哪些?
  23. Redis过期删除与内存淘汰:LRU 算法和 LFU 算法有什么区别?
  24. 缓存设计:用缓存可能出现的问题
  25. 缓存设计:如何避免缓存穿透的问题?
  26. 缓存设计:如何避免缓存雪崩的问题?
  27. 缓存设计:如何避免缓存击穿的问题?
  28. 缓存设计:如何设计一个缓存策略,可以动态缓存热点数据呢?
  29. 缓存设计:如何保证缓存和数据库数据的一致性?
  30. 缓存设计:当查询缓存报错时,怎么提高可用性?
  31. 缓存设计:缓存数据的淘汰策略有哪些?

Elasticsearch(12) #

  1. 原理:Elasticsearch是如何实现master选举的?
  2. 原理:什么是倒排索引?它在Elasticsearch中的作用是什么?
  3. 原理:Elasticsearch索引文档的过程
  4. 原理:Elasticsearch搜索的过程
  5. 原理:Elasticsearch更新和删除的过程
  6. 原理:Elasticsearch在高并发下如何保证读写一致性?
  7. 使用:如何在Elasticsearch中执行模糊搜索(Fuzzy Search)?
  8. 使用:如何在Elasticsearch中执行复杂的聚合操作?
  9. 使用:如何处理Elasticsearch中的数据一致性?
  10. 维护:如何优化Elasticsearch的性能?
  11. 维护:如何保护Elasticsearch中的数据安全性?
  12. 维护:如何处理Elasticsearch中的数据同步和复制?

云原生(70) #

  1. 概念:Linux Namespaces
  2. 概念:Linux Cgroups
  3. 概念:OCI
  4. 概念:CNI、CSI、CRI
  5. 概念:Kubernetes的适用场景、优势及特点?
  6. 概念:Kubernetes的缺点或当前的不足?
  7. 概念:Kubernetes和Docker的关系?
  8. 概念:Kubernetes的核心组件有哪些?作用是什么?
  9. 概念:Kubernetes中命名空间的作用是什么?
  10. 概念:Kubernetes中什么是静态Pod?
  11. 概念:Kubernetes中Pod可能位于的状态?
  12. 概念:Kubernetes针对pod资源对象的健康监测机制?
  13. 概念:Kubernetes就绪探针(ReadinessProbe探针)与存活探针(livenessProbe探针)区别是什么?
  14. 概念:Kubernetes中Pod的重启策略?
  15. 概念:Kubernetes Pod的常见调度方式?
  16. 概念:Kubernetes初始化容器(init container)
  17. 概念:Kubernetes标签与标签选择器的作用是什么?
  18. 概念:Kubernetes常用的标签分类有哪些?
  19. 概念:Kubernetes有几种查看标签的方式?
  20. 概念:Kubernetes Deployment升级过程
  21. 概念:Kubernetes Deployment升级策略
  22. 概念:Kubernetes DaemonSet类型的资源特性
  23. 概念:Kubernetes自动扩容机制
  24. 概念:Kubernetes Service类型
  25. 概念:Kubernetes Service分发后端的策略
  26. 概念:Kubernetes Headless Service
  27. 概念:Kubernetes外部如何访问集群内的服务?
  28. 概念:Kubernetes ingress
  29. 概念:Kubernetes镜像的下载策略
  30. 概念:Kubernetes RBAC及其特点(优势)
  31. 概念:Kubernetes Secret作用
  32. 概念:Kubernetes Secret有哪些使用方式
  33. 概念:Kubernetes PodSecurityPolicy机制
  34. 概念:Kubernetes PodSecurityPolicy机制能实现哪些安全策略
  35. 概念:Kubernetes共享存储的作用
  36. 概念:Kubernetes数据持久化的方式有哪些
  37. 概念:Kubernetes PV和PVC
  38. 概念:Kubernetes PV生命周期内的阶段
  39. 概念:Kubernetes所支持的存储供应模式
  40. 原理:容器和主机部署应用的区别是什么?
  41. 原理:Kubernetes如何实现集群管理?
  42. 原理:Kubernetes各模块如何与API Server通信?
  43. 原理:Kubernetes Scheduler作用及实现原理
  44. 原理:Kubernetes Scheduler使用哪两种算法将Pod绑定到worker节点?
  45. 原理:Kubernetes kubelet的作用
  46. 原理:Kubernetes kubelet监控Worker节点资源是使用什么组件来实现的
  47. 原理:Kubernetes 各个pod是如何访问kube-api-server的?
  48. 原理:Kubernetes 创建一个 pod 的过程是怎么样的?
  49. 原理:Kubernetes 删除一个 pod 的过程是怎么样的?
  50. 原理:Kubernetes RC的机制
  51. 原理:Kubernetes Replica Set和Replication Controller之间有什么区别?
  52. 原理:Kubernetes网络模型
  53. 原理:Kubernetes CNI模型
  54. 原理:Kubernetes中flannel的作用
  55. 原理:Kubernetes Calico网络组件实现原理
  56. 原理:Kubernetes kube-proxy的作用?
  57. 原理:Kubernetes kube-proxy iptables的原理?
  58. 原理:Kubernetes kube-proxy ipvs的原理?
  59. 原理:Kubernetes kube-proxy ipvs和iptables的异同?
  60. 原理:Kubernetes如何保证集群的安全性?
  61. 原理:Kubernetes准入机制
  62. 原理:Kubernetes CSI模型
  63. 原理:Kubernetes Worker节点加入集群的过程
  64. 原理:Kubernetes Pod如何实现对节点的资源控制
  65. 原理:Kubernetes Requests和Limits如何影响Pod的调度
  66. 原理:Kubernetes Operator模式
  67. 维护:Kubernetes pod一致处于pending状态一般有哪些情况,怎么排查?
  68. 维护:Kubernetes如何进行优雅的节点关机维护?
  69. 维护:Kubernetes集群联邦
  70. 维护:Prometheus+Grafana监控

AI(23) #

  1. LLM:生成式语言模型的工作机理
  2. LLM:解释LLM中token的概念
  3. LLM:在NLP任务中,使用Transformer的架构与使用RNN的架构相比,有什么优势?
  4. LLM:如何评估LLM的性能?
  5. LLM:LLM是如何预训练的?
  6. LLM:NSP预训练任务
  7. LLM:LLM中的tokenisation技术
  8. LLM:在开发LLM时,怎样通过人为方法减少LLM的偏见?
  9. LLM:哪些因素会导致LLM中的偏见?
  10. LLM:在Transformer中,同一个单词在不同的句子中可以有不同的注意力权重吗?
  11. LLM:LLM中的因果语言建模CLM与屏蔽语言建模MLM有什么区别?
  12. LLM:RLHF完整训练过程是什么?
  13. LLM:GPT和bert有什么不一样?
  14. LLM:Wordpiece与BPE之间有什么区别?
  15. LLM:BERT中的word embedding、position embedding和positional encoding有什么区别?
  16. LLM:Adaptive Softmax在LLM中有何用处?
  17. LLM:如何减轻LLM中的“幻觉”现象?
  18. LLM:有哪些方法可以降低LLM训练时的显存占用?
  19. LLM:Lora微调方法的局限性
  20. LLM:bf16、fp16半精度训练的区别?
  21. LLM:解释混合精度训练的具体流程
  22. LLM:RLHF过程中RM随着训练过程得分越来越高,效果就一定好吗?有没有极端情况?
  23. LLM:解释P-tuning 的工作原理,并说明它与传统的 fine-tuning方法的不同之处。

场景和系统设计(19) #

  1. 概念:分布式系统设计的8个错误假设
  2. 概念:CAP、ACID、BASE
  3. 概念:一致性、一致性模型
  4. 概念:可用性、可用性模式
  5. 概念:负载均衡(七层、四层)、负载均衡算法
  6. 概念:“4+1"视图、C4、UML
  7. 系统设计:如何处理一个系统设计的面试题?
  8. 系统设计:设计分布式ID生成器
  9. 系统设计:设计短网址服务
  10. 系统设计:设计一个信息流(news feed)。例如Facebook用户首页的信息流,微博用户的信息流,等等。
  11. 系统设计:给定一个公共API,限制每个用户每秒只能调用1000次,如何实现?
  12. 系统设计:设计一个定时任务调度器
  13. 系统设计:设计一个线程安全的HashMap
  14. 系统设计:实时输出最近一个小时内访问频率最高的10个IP
  15. 系统设计:设计一个负载均衡器
  16. 系统设计:设计一个Key-Value存储引擎
  17. 系统设计:设计一个网络爬虫,包含实现并发下载、网址去重、防IP被禁等等
  18. 系统设计:实现PageRank算法,基于分布式场景
  19. 系统设计:设计一个搜索引擎,包含下载、索引、分析、查询系统

参考资料 #

  1. 数据结构与算法之美,极客时间
  2. Python面试宝典-基础篇-2020
  3. Python面试题和答案(2024年收集更新)
  4. 最强面试题整理第一弹:Python 基础面试题(附答案)
  5. Golang常见面试题
  6. Go 进阶面试题汇总
  7. 设计模式之美,极客时间
  8. 2.1万字,30张图详解操作系统常见面试题(收藏版)
  9. 计算机网络面试题,63道计算机网络八股文
  10. 面试八股文之 MySQL
  11. MySQL面试题,79道MySQL八股文
  12. MySQL数据库经典面试题解析
  13. 消息队列高手课,极客时间
  14. 缓存面试题
  15. 相关缓存面试问题总结(一)
  16. Redis 常见面试题
  17. 小林 x 图解计算机基础
  18. 精选 8 道 ES 高频面试题和答案
  19. 干货 | BAT等一线大厂 Elasticsearch面试题解读
  20. Elasticsearch搜索引擎常见面试题总结
  21. 云原生面试题
  22. 23 个必知必会的 Kubernetes 高频面试题
  23. 尼恩面试宝典专题38:K8S面试题(史上最全、持续更新)
  24. 91道常见的Kubernetes面试题总结
  25. zixian2021/AI-interview-cards: 最完整的AI算法面试题目仓库
  26. donnemarti/system-design-primer
  27. 系统设计面试题精选
© 2024 lyremelody.cn All Rights Reserved
访问量: