统一说明一下楼主是研究生一般的985毕业之前在工作了6年做过的大项目数不胜数
比如再造淘宝项目落地实战某滴网约车项目多人在线即时对战网游服务器和家云服务平台前后端分离某喵微信商城亿级流量多级缓存平台亚马逊电商个性化推荐系统IOT流云式平台阿里巴巴中台实战年初跳槽后去阿里面试6轮之后定级是P6。
第一家是美团
美团的话三面下来设计的内容知识也是挺广的吧有MySQL、Redis、Kafka、线程、算法、、volatile、线程、并发、设计模式等等… 
一面问题MySQLRedisKafka线程算法
-  mysql知道哪些存储引擎它们的区别 
-  mysql索引在什么情况下会失效 
-  mysql在项目中的优化场景慢查询解决等 
-  mysql有什么索引索引模型是什么 
-  B-树与B树的区别为什么不用红黑树 
-  mysql主从同步怎么做 
-  乐观锁与悲观锁的区别 
-  binlog日志 
-  redis 持久化有哪几种方式怎么选 
-  redis 主从同步是怎样的过程 
-  redis 的 zset 怎么实现的 
-  redis key 的过期策略 
-  hashmap 是怎样实现的为什么要用红黑树而不用平衡二叉树为什么在1.8中链表大于8时会转红黑树HashMap为什么线程不安全的 
-  如何实现线程安全的hashmap 
-  select 和 epoll的区别 
-  http与https的区别加密怎么加的 
-  raft算法详细讲解 
-  Kafka 选主怎么做的 
-  kafka如何保证生产与消费都是同步的 
-  kafka 怎么保证不丢消息的 
-  redis如何保证高可用 
-  算法剪绳子贪心或递归解决 
-  算法给前序和中序遍历重建二叉树 
二面问题volatile线程并发算法设计模式
-  自我介绍 
-  讲讲项目项目没啥亮点直接问基础 
-  volatile作用底层实现禁止重排序的场景单例模式中volatile的作用 
-  如何构造线程池它的参数饱和策略 
-  公平锁和非公平锁区别为什么公平锁效率低 
-  线程都有哪些状态 
-  线程、进程、协程的区别 
-  同步队列器AQS思想以及基于AQS实现的lock,。 
-  并发工具类CountDownLatch、CyclicBarrier、Semaphore介绍 
-  Execuors类实现的几种线程池类型最后如何返回 
-  手写单例模式 
-  手写消费者生产者模式 
-  算法反转单链表 
-  算法给定一个只包含 ‘(’ 和 ‘)’ 的字符串找出最长的包含有效括号的子串的长度。 
三面
这一面没问啥东西主要聊人生和未来3年的规划。。。。。。
第二家是字节跳动

一面问题算法数据库事务网络
-  自我介绍 
-  项目介绍没亮点还是问基础 
-  堆排序的原理及时间复杂度是否稳定最坏及最坏场景。 
-  Object类都有哪些方法 
-  DNS解析的过程/浏览器输入一个url敲下回车后网络的全过程 
-  HTTP和HTTPS的区别 
-  UDP怎么实现可靠传输 
-  介绍下https是如何加密的加密算法 
-  数据库索引的优缺点以及什么时候数据库索引失效 
-  事务的隔离级别 
-  数据库的脏读不可重复读幻读 
-  算法接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图计算按此排列的柱子下雨之后能接多少雨水。 
-  算法N皇后 
二面问题Kafkaredis算法
-  Kafka的特性 
-  Kafka中的分区器、序列化器、拦截器是否了解它们之间的处理顺序是什么 
-  消费者重平衡高可用性、伸缩性 
-  哪些情景下会造成消息漏消费 
-  如何保证消息不被重复消费幂等性 
-  KafkaConsumer是非线程安全的那么怎么样实现多线程消费 
-  Kafka生产者客户端中使用了几个线程来处理分别是什么 
-  消费者与生产者的工作流程 
-  topic的分区数可不可以增加 
-  算法二叉树中的最大路径和 
-  算法给定单向链表的头指针和一个要删除的节点的值定义一个函数删除该节点。 
三面问题RedisSpringDubbo算法
-  redis的Zset怎么实现的 
-  sentinel和cluster区别和各自适用场景 
-  redis cluster集群同步过程 
-  redis单线程为什么快 
-  mybatis一级缓存和二级缓存 
-  spring如何解决循环依赖 
-  spring AOP的原理。 
-  spring的生命周期。 
-  Dubbo服务暴露和引用过程负载均衡策略容错机制在哪里实现的源码 
-  项目中遇到了哪些问题。抱歉我的工作就是增删改查没接触过相关问题 
-  算法二叉树的镜像 
-  算法从上到下打印二叉树 
最后一家瞄一下腾讯
腾讯这三面下来问的也不少自求多福吧。

一面问题高并发微服务算法
-  如何设计一个秒杀系统 
-  一天爬一千万条文章怎么做设计怎么并行协调100 台服务器怎么尽可能负载均衡 
-  有用过短域名服务吗能说一下吗 
-  微服务的特点如何实现服务发现和负载均衡 
-  如何排查线上问题背过没排过 
-  贝叶斯的概率学原理 
-  负载均衡的加权轮询算法怎么实现 
-  如果用户量大幅度上涨如何优化 
-  paxos算法这个算法太难学的时候就没太理解 
-  平时都看什么博客最近看什么书了 
二面问题Redis分布式算法
-  自我介绍 
-  项目介绍 
-  redis的5种类型及其实现原理 
-  如何使用redis的Zset实现延时队列 
-  redis如何实现高可用 
-  redis缓存穿透、缓存击穿、缓存雪崩 
-  布隆过滤器的实现 
-  如何保证mysql与redis的双写一致性 
-  负载均衡算法有哪些 
-  服务发现是怎么实现的 
-  熔断是怎么实现的 
-  算法连续子数组的最大和 
-  讲讲分布式CAP和BASE 
-  什么是强一致性 
-  分布式事务的解决方案 
-  TCC两阶段型、补偿型 
-  id生成器如何实现 
-  如何判断一个图是否有环 
-  一致性Hash算法及其应用 
-  背包问题 
三面问题Redis分布式MySQL算法
-  自我介绍 
-  项目介绍 
-  redis的zSet如何实现 
-  redis持久化机制。 
-  redis的Hash类型讲解渐进式rehash。 
-  HashMap原理一个put操作都有什么流程 
-  nginx有自己配置过吗这个是我唯一手动操作过的这个不是背的 
-  nginx的使用场景。 
-  什么是分布式什么是集群区别是什么 
-  在基于dubbo的分布式环境中一般将超时timeout设置在provider还是consumer? 
-  dubbo中负载均衡的策略有哪些 
-  接口的异步调用如何设置运行效果 
-  谈谈基于dubbo的系统中consumer集群的解决方案 
-  mysql是集群还是单节点最大连接数最大的表中数据量大约是多少 
-  mysql主从复制主要有哪几种模式 
-  mysql索引B树为什么不用红黑树 
-  数据库垂直与水平拆分怎么做。 
-  分布式session设置 
-  IO、BIO、NIO阻塞与非阻塞的区别? 
-  分布式接口的幂等性设计不能重复扣付款 
-  算法二叉搜索数与双向链表这个懵了 
-  算法最长不含重复字符的子字符串 
-  算法手写快速排序、插入排序、冒泡排序并分析时间复杂度和空间复杂度它们的稳定性 
按照上面的过程4个月的时间刚刚好。当然Java的体系是很庞大的还有很多更高级的技能需要掌握但不要着急这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程所以你在学习过程中如果一时碰到理解不了的知识点大可不必沮丧更不要气馁这都是正常的不能再正常的事情了不过是“人同此心心同此理”的暂时而已。
“道路是曲折的前途是光明的”


间复杂度它们的稳定性
最后按照上面的过程4个月的时间刚刚好。当然Java的体系是很庞大的还有很多更高级的技能需要掌握但不要着急这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程所以你在学习过程中如果一时碰到理解不了的知识点大可不必沮丧更不要气馁这都是正常的不能再正常的事情了不过是“人同此心心同此理”的暂时而已。
“道路是曲折的前途是光明的”
[外链图片转存中…(img-9MRxvh6V-1624339315428)]
[外链图片转存中…(img-ReCuGgx3-1624339315430)]
更多Java核心笔记、真实面经、学习笔记等知识干货可以点击这里免费领取
