-
计算机网络的一些常见状态码
-
ping 所使用的协议
-
TCP 的三次握手与四次挥手的内容?TCP 为什么连接是三次握手而断开是四次握手?
-
TCP 与 UDP 的区别及使用场景
-
TCP 是如何保证传输的可靠性?
-
一次完整的 HTTP 请求所经的步骤
-
HTTP 协议了解么?HTTP 是基于 TCP 还是 UDP 的?
-
HTTP 报文的内容简单说一下!HTTP 请求报文和响应报文中有哪些数据?
-
HTTP 和 HTTPS 的区别了解么?
-
HTTP 请求有哪些常见的状态码?
-
HTTP 长连接和短连接了解么?
-
Cookie 和 Session 的关系
-
URI 和 URL 的区别是什么?
算法和数据结构
=======
-
LRU 算法了解吗?你能实现一个吗?
-
写排序算法(快排、堆排)
-
使用数组实现一个栈
-
使用数组实现一个队列
-
实现一个链表、反转链表、
-
…
数据结构
====
-
数组 vs 链表
-
栈的应用场景
-
队列的分类、应用场景
-
红黑树的特点、红黑树 vs 二叉查找树
-
哈希表、哈希表应用场景
-
布隆过滤器了解吗?
-
…
设计模式
====
-
何为设计模式?有哪些常见的设计模式?
-
单例模式了解么?说一下单例模式的使用场景。手写一个单例模式的实现。
-
观察者模式了解么?说一下观察者模式的使用场景。
-
工厂模式了解么?说一下工厂模式的使用场景。
-
责任链模式了解么?哪些开源项目(Netty、MyBatis …)中用到了责任链模式?怎么用的?
-
SOLID 原则了解么?简单谈谈自己对于单一职责原则和开闭原则的理解。
-
阅读 Spring 源码的时候什么设计模式最让你影响深刻?能简单讲讲吗?
常见框架
====
Spring
-
什么是 Spring 框架?
-
列举一些重要的 Spring 模块?
-
谈谈自己对于 Spring IoC 和 AOP 的理解
-
Spring Bean 的生命周期说一下
-
Spring 中的 bean 的作用域有哪些?
-
拦截器和过滤器了解么?
-
Spring 动态代理默认用哪一种
-
hibernate 和 mybatis 区别
-
Spring Boot 和 Spring 的区别
-
说出使用 Spring Boot 的主要优点
-
什么是 Spring Boot Starter?
-
介绍一下@SpringBootApplication 注解
-
Spring Boot 的自动配置是如何实现的?
-
Spring Boot 支持哪些嵌入式 web 容器?
Netty
-
BIO,NIO 和 AIO 有啥区别?
-
Netty 是什么?为啥不直接用 NIO 呢?
-
为什么要用 Netty?Netty 应用场景了解么?
-
介绍一下 Netty 的核心组件?
-
Bootstrap 和 ServerBootstrap 了解么?
-
NioEventLoopGroup 默认的构造函数会起多少线程?
-
Netty 线程模型了解么?
-
什么是 TCP 粘包/拆包?有什么解决办法呢?
-
Netty 长连接、心跳机制了解么?
权限认证
====
-
认证 (Authentication) 获授权 (Authorization)的区别是什么?
-
什么是 Cookie ? Cookie 的作用是什么?如何在服务端使用 Cookie ?
-
Cookie 和 Session 有什么区别?如何使用 Session 进行身份验证?
-
如果没有 Cookie 的话 Session 还能用吗?
-
为什么 Cookie 无法防止 CSRF 攻击,而 token 可以?
-
什么是 Token?什么是 JWT?如何基于 Token 进行身份验证?
-
什么是 OAuth 2.0?
-
什么是 SSO(单点登录)?
微服务/分布式
=======
RPC
RPC 基础:
-
了解 RPC 吗?有哪些常见的 RPC 框架?
-
如果让你自己设计 RPC 框架你会如何设计?
-
服务之间的调用为啥不直接用 HTTP 而用 RPC?
Dubbo:
-
Dubbo 了解吗?
-
Dubbo 的工作原理了解么?注册中心扮演了什么角色?注册中心挂了可以继续通信吗?
-
Dubbo 的负载均衡策略了解么?
-
Dubbo 的 spi 机制了解么?带来了啥好处?
消息队列
-
为什么要用消息队列?
-
对比一下常见的消息队列?
-
如何保证消息不被重复消费?
-
如何保证消息消费的顺序性?
分布式 ID
-
何为 ID?
-
何为分布式 ID?
-
一个合格的分布式 ID 需要满足什么要求?
-
分布式 ID 常见的生成方法有哪些?(数据库主键自增、数据库的号段模式、UUID、SNOWFLAKE 等等)
其他(网关、限流…)
-
为什么要网关?
-
为什么要用分布式锁?有哪些实现方式?
-
限流的算法有哪些?
-
什么是服务熔断?什么是服务降级?
-
为什么要分布式 id ?分布式 id 生成策略有哪些?
-
微服务下为什么需要链路追踪系统?
数据库
===
MySQL
基础
-
非关系型数据库和关系型数据库的区别?
-
事务的四大特性了解么?
-
MySQL 事务隔离级别?默认是什么级别?
-
乐观锁与悲观锁的区别?
-
MySQL 数据库两种存储引擎的区别?
索引
-
为什么索引能提高查询速度?
-
聚集索引和非聚集索引的区别?非聚集索引一定回表查询吗?
-
索引这么多优点,为什么不对表中的每一个列创建一个索引呢?(使用索引一定能提高查询性能吗?)
-
索引底层的数据结构了解么?Hash 索引和 B+树索引优劣分析
-
B+树做索引比红黑树好在哪里?
-
最左前缀匹配原则了解么?
-
什么是覆盖索引
Redis
-
分布式缓存常见的技术选型方案有哪些?说一下 Redis 和 Memcached 的区别和共同点
-
说一下在缓存情况下查询数据和修改数据的流程。
-
Redis 有哪些数据结构?SDS 了解么?
-
Redis 内存满了怎么办?
完结
Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。
Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。
-
Redis 有哪些数据结构?SDS 了解么?
-
Redis 内存满了怎么办?
完结
Redis基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。Redis是如今互联网技术架构中,使用最广泛的缓存,在工作中常常会使用到。Redis也是中高级后端工程师技术面试中,面试官最喜欢问的问题之一,因此作为Java开发者,Redis是我们必须要掌握的。
Redis 是 NoSQL 数据库领域的佼佼者,如果你需要了解 Redis 是如何实现高并发、海量数据存储的,那么这份腾讯专家手敲《Redis源码日志笔记》将会是你的最佳选择。
[外链图片转存中…(img-3Fx3tRiX-1714246643592)]