2020 最后一次 Java 面试,快手三面一轮游,如今已拿意向书
怎么获取 Java 程序使用的内存?堆使用的百分比?
介绍一下垃圾回收过程。
垃圾回收算法的了解。现在用的什么回收算法?
什么时候会触发 FullGC
现在使用的什么垃圾回收器?知道哪些?讲讲 G1
容器的内存和 jvm 的内存有什么关系?参数怎么配置?
2 异常与调优
线上有什么 jvm 参数调整?
oom 问题排查思路
线上问题排查,突然长时间未响应,怎么排查,oom
cpu 使用率特别高,怎么排查?通用方法?定位代码?cpu 高的原因?
频繁 GC 原因?什么时候触发 FGC?
怎么获取 dump 文件?怎么分析?
3 类加载器
怎么实现自己的类加载器?
类加载过程?
初始化顺序?
Spring
不同版本的 Spring Framework 有哪些主要功能?
讲一下 ioc、aop
ioc 怎么防止循环依赖
aop 的实现原理、动态代理过程
区分 BeanFactory 和 ApplicationContext?
spring bean 容器的生命周期是什么样的?
@Autowired 注解有什么用?
使用 Spring 访问 Hibernate 的方法有哪些?
Spring 处理请求的过程?
Redis
为什么要用 redis /为什么要用缓存(高性能、高并发)
redis 常见数据结构以及使用场景分析(String、Hash、List、Set、Sorted Set)
Redis 常见异常及解决方案(缓存穿透、缓存雪崩、缓存预热、缓存降级)
分布式环境下常见的应用场景(分布式锁、分布式自增 ID)
Redis 集群方案应该怎么做?都有哪些方案?
Redis 集群的主从复制模型是怎样的?
redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
如何解决 Redis 的并发竞争 Key 问题?
如何保证缓存与数据库双写时的数据一致性?
redis 的 zset 的使用场景?底层实现?为什么要用跳表?
MySQL
事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL 默认是哪个级别?
MySQL 的 MyISAM 与 InnoDB 两种存储引擎在,事务、锁级别,各自的适用场景?
有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
sql 查询语句确定创建哪种类型的索引?如何优化查询?
什么是临时表,临时表什么时候删除?
mysql 脏页?
分库分表有哪些策略?怎么保证 id 唯一?
非关系型数据库和关系型数据库区别,优势比较?
数据库的读写分离、主从复制,主从复制分析的 7 个问题?
MySQL 都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
数据库崩溃时事务的恢复机制(REDO 日志和 UNDO 日志)?
对 uuid 的理解?知道哪些 GUID、Random 算法?
主键选随机 id、uuid 还是自增 id?为什么?主键有序无序对数据库的影响?
主从复制的过程?复制原理?怎么保证强一致性?
Kafka
生产者和消费者的命令行是什么?
Kafka 怎么保证数据可靠性?
讲讲 kafka 维护消费状态跟踪的方法
为什么需要消息系统,mysql 不能满足需求吗?
Kafka 判断一个节点是否还活着有那两个条件?
Kafka 与传统 MQ 消息系统之间有三个关键区别?
kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
kafka 如何不消费重复数据?比如扣款,我们不能重复的扣
网络
tcptcp 有哪些机制确保可靠性?拥塞控制怎么实现?close_wait 太多怎么处理?为什么会出现这种情况?
讲讲三次握手,四次挥手?
keepalive 有什么用?Https 原理?知道哪些 http 状态码有哪些?http 有哪些请求方法?put、post 实现上有什么区别?
前后端分离与不分离的区别?各有什么优缺点?
常见 web 攻击有哪些?了解 csrf 攻击么?
nginx 达到上限了怎么办?怎么对 nginx 负载均衡?dns?
nginx 负载均衡有哪些算法?各自有什么优缺点?
restful 的作用?有哪些优点和缺点?
什么是 cdn?header 中涉及到缓存的字段有哪些?cookie session 介绍一下 html 页面,怎么与后端交互?流程是什么?涉及到哪些组件?http 协议,报文格式?
设计模式
什么是设计模式?你是否在你的代码里面使用过?
Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
在 Java 中,什么叫观察者设计模式?
举一个用 Java 实现的装饰模式(decorator design pattern) ?它是作用于对象层次还是类层次?
单例对于单例,你知道哪些实现方法?实现一个懒加载单例双重校验锁为什么需要双重校验?
使用工厂模式最主要的好处是什么?在哪里使用?
分布式
有哪些分布式组件是你最熟悉的,简单聊一聊。
cap 是指什么?mysql 满足 cap 中哪些?
分布式锁有哪些方式可以实现?各有什么优缺点?
什么是一致性 hash?自己实现一致性 hash,会用什么数据结构?
微服务
微服务架构有哪些优势?
单片,SOA 和微服务架构有什么区别?
什么是 RPC?怎么实现幂等性?
什么是 REST / RESTful 以及它的用途是什么?
配置中心有哪些选项?apollo 的架构?怎么无感实现已加载数据更新?
讲一下熔断概念?熔断原理?令牌桶?熔断三个状态 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 关系?
熔断会影响性能么?有遇到过线上发生熔断么?不加会怎样?
算法题
基本都会问时间复杂度
有哪些常用排序算法?
手写快排,快排时间复杂度是多少?
快排算法是不是稳定的?什么是稳定性?
给定一个字母组成的字符串,找出不含有重复字符的最长子串的长度。
9 个硬币中有一个劣币,用天平秤,最坏几次?
深度优先,广度优先
括号匹配,时间复杂度,空间复杂度
单向链表的归并排序
1g 大小文件,里面每行是最大 16k 的单词,限制内存 1m,统计单词频率最多的 100 个单词
手写 100 位带小数的大数字的减法
你有什么想问的?+Offer 选择?
部门定位?岗位职责?目前在做什么业务?薪酬福利介绍?
目前手头的 offer 情况?这些公司你自己有什么倾向性呢?最看重什么因素?想加入一个怎么样的团队?
你的预期薪酬是多少?目前的薪资情况?
最近一年的绩效情况?
评论