3.设计题4.理论题:

时间

问题描述

备注

状态

2021/5/20

接口的幂等性:如果接口保存,重复访问怎么处理




TCP和UDP




HTTP和HTTPS




消息队列怎么确认消息发送成功和消费成功




线程池的线程数设置多少合适




MySQL的索引在什么时候加合适,规则是什么




maven打包时,package和install的区别




一些集合非线程安全,体现在哪里,例如ArrayList和HashMap



2021/5/21

maven打包时,package和install的区别




动态代理:cglib和Java原生的动态代理有什么区别




1.8的stream都有哪些处理方式




@tranactional事务的使用




开箱和装箱




springboot的核心注解和自动装配



2021/5/24

IOC和AOP(Spring中使用哪种代理模式)




守护线程




hashMap是如何解决hash冲突的




springboot和spring的区别




mysql的索引原理及添加规则




explain关键字有哪些用处




volitate关键字的用法和用处




lock和synchronize的区别




两个定时任务,如果第一个没有执行完的时候,第二个开始执行,会出现什么情况,怎么处理




浅拷贝和深拷贝




强软弱虚



2021/5/25

二叉树的遍历,求深度




Spring Cloud、Dubbo服务治理框架,容错、限流、隔离、熔断、监控…

看到一个帖子的标题



线程池的最大线程数设置多少合适,拒绝策略




spring事务级别,传播行为有哪些,试用场景




常用的微服务架构,各个微服务之间的区别




消息队列:activeMq/kafka,消息的发送以后如何确认消息已经发送,如果消费失败,会怎么处理




Integer在小于127的时候可以用==,大于127的时候,为什么用==的时候就是false




@Tranactional失效的几种情况



2021/5/27

接口的幂等性




队列消息的处理(消息丢失,消息消费失败)




netty和tomcat的区别




mybatis的缓存




连接池




mybatis和mybatis-plus



2021/5/30

接口的幂等性



2021/5/31

数据库的表加索引,对表有什么影响



2021/6/1

网关NetFlix zuul,




Fiddler抓包工具的使用




线程池的线程数,多少合适




守护线程




插入后返回自增的主键id




String的replace可以使用正则表达式







2021/6/16

HexUtils:十六进制转换







2021/6/16

ApplicationContext如何获取bean




同一接口的实现类如何让区分




SQL注入,在mybatis下的SQL注入,mybatis的缓存,二级?三级缓存

${}和#{}的区别



Redis使用发布订阅功能







2021/6/23





抽象类和接口的区别,抽象类的使用场景





抽象类:捕捉子类的通用特性,




接口:是抽象方法的集合






2021/6/24

1.基础

对 JDK 要比较熟练地理解和使用,重点内容有:集合,多线程,IO,异常,反射,注解,序列化,反序列化等知识。




网络和数据结构:网络至少要知道三次握手,四次分手,HTTPS,GET,POST 等。数据结构会问下红黑树,平衡二叉树。如果了解 Redis ,还可以聊下跳跃表,前缀树。




操作系统问的不多,一般就问下实际中有没有出现过 CPU 过高或者内存过高的情况,然后怎么定位解决。



2.中间件框架

Spring :常问题目要了解。比如启动过程,Bean 的初始化流程,Bean 的生命周期,如何解决循环依赖问题,IoC,AOP 等。

缓存:不论 Redis、 MemCache 或其他的,至少要有一个比较熟练的,能了解底层数据结构及实现原理,常规的使用方法。

数据库:MySQL 或者 Oracle 要熟悉一种,数据库一般要知道分库分表的实现,数据库备份,数据库的事务,数据库和缓存的数据一致性,数据库的索引,锁机制等等。常用的 RPC 框架可以了解下,优缺点,RPC 的原理要懂,如果有时间自己可以基于 Netty 写一个实战一下。

MQ :一般会问下消息的幂等性,事务性实现,如何保证不丢消息等,要熟练至少一种消息队列,了解原理。

Zookeeper:有时问有时不问,这个有时间也可以看下,毕竟这是分布式协调器,很多时候在分布式系统中都会使用zk来保证强一致性的问题







一般会给定某个特定场景,让你去做,如果是架构设计,一般就是高并发。如果是数据库的设计,一般看你对数据怎么设计能够方便查询











一般看你对现在常用的分布式理论的理解。一致性协议,分布式 CAP,BASE 理论,服务降级,熔断,RESTful 接口等等。







5.项目

这是个重点,如果连自己做的项目都讲不清楚的话,基本就没希望过了,所以一定要想下自己做的项目,有什么难点,解决了什么问题,架构有什么调整,为什么这么做,最后的结果是什么。







6.手写代码

代码考核是进入每个大公司都需要准备的,这个就是要刷刷题,LeetCode,有时间逛逛,你值得拥有










2021/6/25

aspectj和springaop区别











2021/6/29

Spring的循环依赖

如果注入的bean为null,如何处理?






2021/7/22

Mysql的锁

mysql的锁



https协议




json转对像的序列化和反序列化







2021/7/27

List的subList

返回的是父集合的一部分视图,无论改变哪个集合,另一个都会改变(指向的是同一个地址)



有很多时候的意想不到,仅仅是没有去想