后端开发人员面试问题

后端开发人员面试问题

https://github.com/arialdomartini/Back-End-Developer-Interview-Questions

  1. 通用问题
  2. 开放式问题
  3. 设计模式相关问题
  4. 代码设计相关问题
  5. 语言相关问题
  6. Web相关问题
  7. 数据库相关问题
  8. 非关系型数据库相关问题
  9. 代码版本管理相关问题
  10. 并发问题
  11. 分布式系统相关问题
  12. 软件生命周期和团队管理相关问题
  13. 逻辑和算法相关问题
  14. 软件架构相关问题
  15. 面向服务架构(SOA)和微服务(Microservice)相关问题
  16. 安全相关问题
  17. 比尔盖茨式问题
  18. 代码示例问题

通用问题:

  1. 语言设计中空引用(null reference)的存在有什么问题?假设你想要将空引用的概念从你的首选语言中移除,可能导致什么结果?
  2. 为什么函数式编程重要?什么时候适用函数式语言?
  3. 设计(design)、架构(architecture)、功能(functionality)和美学(aesthetic)之间有什么区别?讨论一下。
  4. 微软、谷歌、欧朋(opera)和火狐这类公司是如何从他们的浏览器中获利的?
  5. 为什么打开TCP套接字有很大的开销?
  6. 封装的重要性体现在哪儿?
  7. 什么是实时系统?它与普通系统有什么区别?
  8. 实时语言(real-time language)和堆内存分配(heap memory allocation)之间的关系是什么?
  9. 不变性(Immutability)是指: (变量的)值只能在创建的时候被设置一次,之后就不能被改变。为什么不变性对写更加安全的代码有帮助?
  10. 可变值(mutable values)和不可变值(immutable values)有哪些优缺点?
  11. 什么是O/R阻抗失衡(Object-Relational impedence mismatch)?
  12. 如果你需要使用缓存,你使用哪些原则来确定缓存的大小?
  13. TCP和HTTP有什么区别?
  14. 在客户端渲染(client-side rendering)和服务端渲染(server-side rendering)之间,你是如何权衡的?
  15. 如何在一个不可靠的协议之上构建一个可靠的通信协议?
阅读更多