20250325-后端问题与答案
编程语言
- Java:
- ArrayList 和 LinkedList 的原理是什么?如果让你实现一个 HashMap,你会如何设计?(已完成)
- 线程池的执行过程是怎样的?核心参数有哪些?常用的线程池有哪些?(已完成)
- JVM 的相关知识,如 OOM 如何定位?说几个虚拟机指令以及虚拟机栈可能会发生什么错误?四种引用类型是什么?(已完成)
- Java 并发中,synchronized 性能为什么提高了(锁升级过程)?与 Java 的 lock 有什么区别以及使用场景?(已完成)
- C++:(不考虑)
- 虚函数、多态的加载过程是怎样的?
- malloc 和 new 有什么区别?构造函数和复制函数在其中起到什么作用?
数据结构与算法
- 实现链表的插入方法,该方法的查询效率如何?怎样优化?(已完成)
- 给一个表达式的字符串(包含 + - * /),算出字符串的结果,若考虑括号该如何处理?(已完成)
- 01 背包问题的变体:把物品分成两堆,使得物品差值尽量小,如何用动态规划解决?(已完成)
- 实现二叉树的中序遍历,分别用递归和循环(借助栈)的方式4(已完成)
计算机网络
- 输入
www.baidu.com
后会发生什么?(已完成) - HTTP 报文结构是怎样的?头部有哪些字段?(已完成)
- TCP 三次握手、四次挥手的过程是怎样的?为什么需要三次握手,两次不行吗?TIME_WAIT 和 CLOSE_WAIT 状态的作用是什么?有大量连接处于 TIME_WAIT 的原因是什么?TCP 是长连接还是短连接?(已完成)
- HTTPS 的整个过程是怎样的(包括对称加密、非对称加密)?与 HTTP 有什么不同点?(已完成)
操作系统
- 进程与线程的区别是什么?哪些资源是共享的?进程之间的通信方式有哪些?(已完成)
- 了解协程吗?简单介绍一下2。(已完成)
- 死锁的条件是什么?如何解决死锁问题?2
数据库
- 手写一个 SQL 查询语句,涉及子查询、
GROUP BY
和HAVING
子句2。(已完成) - 如何查看数据库语句的执行效率?索引的实现原理是什么?(已完成)
- 数据库的事务是什么?ACID 特性分别代表什么?如何实现事务的隔离性?
- 数据库的连接池有什么作用?如何实现一个简单的数据库连接池?
框架与中间件
- 如果你使用过 Spring 框架,说说 Spring 的加载过程,加载了哪些配置文件,生命周期是怎样的,关键注解有哪些?4
- 了解 Redis 吗?在项目中为什么使用 Redis?Redis 的数据结构有哪些?分别适用于什么场景?
- 用过消息队列吗?如 Kafka、RabbitMQ 等,说说它们的工作原理和应用场景。
- 什么是微服务架构?微服务之间如何进行通信?有哪些常见的服务治理措施?