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 | 返回的是父集合的一部分视图,无论改变哪个集合,另一个都会改变(指向的是同一个地址) |
有很多时候的意想不到,仅仅是没有去想