(Java面试题分享)万里长征-面试题汇总

万里长征

引言

1.贝壳

  • LeetCode 199,二叉树右视图。
  • Dubbo跟 SpringCloud 区别,自己从宏观到细节简单对比着说下。
  • 限流算法中的令牌跟漏斗区别。Zuul 作用。
  • 项目细节讲解,流程图,瓶颈在哪儿。
  • 开发人员写出死循环,发布上线后如何查出此问题来。
  • QPS,如何压测,性能测试,性能指标。
  • 性能优化经验,聊一聊。
  • 线程池说下,如果一堆线程任务有20%概率失败,如何保证100% 成功。
  • 关于图数据库的不同种类了解及对比,比如Neo4j、DGraph、GanusGraph。

2.跟谁学

  • LeetCode 662.二叉树最长直径。
  • 秒杀场景设计,逐步引导设计思路。
  • 如果项目数据量、并发度扩大十倍咋办,哪儿是性能瓶颈。
  • 消息中间件,如何保证消息不丢失,如何实现消息消费顺序性。Kafka为什么那么快,Kafka重平衡问题。
  • SpringCloud那套东西的压力感。
  • MySQL理解,事务隔离级别,MVCC,三个日志文件作用。
  • 现在做的东西的数据并发量跟业务复杂度探讨。
  • 操作系统中的阻塞、非阻塞、同步、异步、BIO、NIO、AIO细节。
  • 日常如何自我学习。
  • LeetCode 215 TOP K。
  • Redis跟MySQL缓存一致性
  • 你对Dubbo底层理解。
  • 你对DDD的理解。

3.搜狐

  • MapJoin 是什么?
  • Hive 数据倾斜 咋办?
  • cluster by order by reduce by distribute by区别。
  • Kafka 为何那么快。
  • MySQL B树 B+树区别。
  • UDF、Spark、Netty、BIO、NIO、AIO框架。
  • LeetCode 103. 二叉树的锯齿形层序遍历。
  • 项目介绍,框架流程图,自己负责的部分,数据治理的理解及实战场景。
  • MapReduce流程, Shuffle过程细节,数据倾斜如何避免。
  • hive语句书写,开窗函数的考察。
  • ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点。
  • LeetCode 5. 最长回文子串。
  • HBase架构图,LSM理解。
  • Spark在工作中的应用细节。
  • Scala语言的熟悉程度,Scala跟Java的区别关系。

4.脉脉

  • MySQL 优化 查询 如何优化这些操作。
  • MySQL的 ACID理解,如何保证的,MySQL底层架构是啥。
  • Redis的几个基本数据类型,底层实现。
  • RabbitMQ工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费。
  • Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)。
  • MySQL为什么不建议用Text。
  • MySQL limit 10W,10 这样的优化,覆盖索引的使用。
  • Linux CPU满负荷如何排查。
  • 链表是否有环, 如何找到交点,计算出环的大小。
  • 一个字符串中的最长无重复子串。
  • 一个帖子来回回复如何存储,如何设计。
  • 一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种。
  • 分布式锁实现方案。
  • Redis为什么那么快,Redis底层实现。
  • RabbitMQ 中的TTL。
  • Redis中常见集群部署情况,出现性能问题如何排查。

5.小米

  • 两个字符串求最长公共子序列,最长子串。输出字符串结果的那种。
  • Hbase的理解,LSM演变过程。
  • 数据治理方面的理解。
  • 简单SQL语句考察,MySQL各种索引跟如何优化。
  • Kafka 重平衡,Kafka架构图的理解,读写流程。
  • LeetCode TOP K 。
  • 你对Spring的理解,循环依赖。
  • 不停机修改MySQL一个字段,如何对MySQL进行服务器扩容。
  • RabbitMQ 如何保证消息不丢失,如何保证消息顺序性。
  • 1G内存,1T文件,想找到出现次数第二大的字符串。
  • 进程间通信几种方式,每种方式的优劣性。
  • 地球上所有湖泊跟大海的体积如何求
  • 内核态跟用户态的理解,操作系统的几个核心点及调度算法。
  • 实现字符串语句翻转比如 I LOVE C++ 变为 C++ LOVE I。

6.百度

  • TCP 阻塞如何解决。
  • Java HashMap 7 跟 8 的流程设计理念,为什么7中会出现环。
  • Java 线程池参数。
  • Synchronized 的理解。
  • ReentrentLock 优势跟用法。
  • 公平锁跟 非公平锁 的理解。如何抉择用哪个。
  • Redis中的事务。
  • Redis中的zset底层。
  • Redis IO多路复用机制。
  • Kafka 为什么那么快,消费者组的理解,Kafka的重平衡。
  • MySQL隔离级别,MVCC理解。
  • Spring AOP的理解,实现原理,String字符串拼接成目标类然后通过反射出所需class。
  • LeetCode 572,判断 一个二叉树在另外一个二叉树中。
  • 二叉树左右节点互换,自己写出求解过程及测试用例。
  • 区间合并,自己写出求解过程及测试用例。
  • 多个链表进行合并,自己写出求解过程及测试用例。
  • HBase底层架构组成,LSM理解。
  • Clickhouse跟Spark的理解。

7.美团

  • 图数据的引擎了解么,简单聊一聊,Dgraph,JanusGraph。
  • 你对高并发的理解。
  • 二叉树转换为双向链表,剑指offer 36 。
  • JVM 垃圾回收器 聊一聊,CMS优缺点,三色标记法过程细节,G1的优缺点跟实现过程 。
  • HashMap 跟 ConcurrentHashMap 区别跟细节实现,线程不安全在哪里?
  • Hive底层执行流程了解么。
  • 进程A操作变量x,然后报变量地址写入磁盘,进程B是否可以操作。
  • 类似360开机打败全国多少那种设计,正态分布。定期更新模型核心参数。
  • TCP 知识点考察。
  • 前端请求从发出到最终得到响应,整个数据的流转过程。
  • 设计一个数据结构支持O(1)的insert、remove、random。
  • RabbitMQ 跟 Kafka 对比下,说下对MQ的理解。
  • mmap java里怎么实现的,ZeroCopy的演变历程。
  • 在线服务如何保证稳定性
  • 常用的负载均衡算法,自己选择个负载均衡算法来实现并进行自测。
  • Dubbo 跟 Spring Cloud 开发的区别跟理解。
  • 常用限流方法,自己咋实现。
  • 分布式链路追踪的实现跟理解。
  • 对数据治理的理解。
  • 对JUC的理解。
  • 对于数据治理的理解,Java开发 + 大数据开发 + BI 报表 +
    推荐搜索,整个数据流转的过程的认知。

8.字节

  • 项目介绍,你负责的模块,技术难点。
  • Kafka为什么那么快,Kafka重平衡咋处理的
  • HTTP的发展史理解优缺点,公钥、私钥理解跟加密过程。
  • 操作系统内存、进程、IO、文件管理的理解,自己大致说下理解。
  • Leetcode 8.atoi ,注意边界问题。
  • Hive执行底层流程。
  • Hadoop的发展史,自己说下HDFS、MapReduce、Yarn等组件跟数据流转过程。
  • Kafka生产者消费者速度不平衡咋办,Kafka重平衡。
  • Redis跟MySQL那套八股文的知识点。
  • LeetCode 236. 二叉树的最近公共祖先。
  • ZooKeeper 的理解。
  • 数据重复消费如何解决。
  • RabbitMQ 跟 Kafka 聊一聊 宏观 自己说那种。
  • 线程池如何实现参数的动态修改。
  • Hive执行的底层原理。
  • 字符串消消乐。

9.快手

  • 链表是否存在环,如果存在咋找到入口,如何获得环长度,为什么fast是2步,345步行不行?
  • 线程咋打断,interrupt 用法。
  • LeetCode 124,给定一个非空二叉树,返回最大路径和。
  • JUC 高频八股文考点。
  • syn跟Lock对比,如何进行选择性使用呢。
  • BitMap 统计那些数据出现过,那些没出现过。
  • 还有好几个是场景设计思考的题,当时能说个12,然后面试官会引导你,看你是否能说出个3来。
  • 业务数据处理时数据治理问题,如果规则引擎经常增删如何实现高效的对外服务。
  • 大数据从数据收集到对外提供服务的思维跟理念,数据从MySQL、Redis、MongoDB等各种平台获取到后,如何提供对外服务。如何提供高质量的服务呢
  • 数据提供服务需要考虑的点,OLAP、OLTP、高性能、高可用、高扩展。
  • A服务器a,B服务器文件b,如何判断ab文件是否一致,尽可能的避免来回传输。
  • MySQL用户数据,如何保证高可用,你对高并发的理解是啥。
  • 数据治理方面的思想idea。
  • 无损降级听过吗。
  • 布隆过滤器的思想,多个布隆过滤器的思想?
  • 服务治理的思考。
  • 10块糖,每次最多3个 如何保证必须赢, n块糖呢?如何保证赢。
  • 你负责的是什么部分,你感觉最大挑战是啥,选个感觉最好的项目说一说。
  • 你对大数据架构体系理解。fast counter 如何实现 类似 变量
    i++那种(没及时沟通,充分理解题意)。最后知道考察的是LongAdder 跟
    ThreadLocal。
  • hive 实现底层 ,开窗函数的考察。
  • Redis中的常见高频考点。
  • syn 对象头咋回事,锁升级过程。
  • 调度框架 爬取10万个URL,10万个URL 属于不同的节点,
    每个节点有不同的访问频率跟总次数限制,如何实现。
  • Kafka架构体系说下,自己的理解。Leader自己理解下。

10.科大讯飞

  • 数据量这么多怎么优化(如何分库分表)
  • 虚拟机内存结构
  • start和run的区别
  • 双亲委派模型
  • redis的数据类型
  • redis一般存什么数据
  • 怎么虚拟机调优
  • 创建线程的方式有几种
  • 介绍下线程池
  • sql优化
  • 虚拟机参数,虚拟机内存模型
  • redis的数据类型
  • redis持久化方式的区别
  • synch锁膨胀的过程
  • hashmap是否安全
  • concurrentHashmap
  • 线程run和start区别
  • 怎么优化sql
  • 介绍forkJoinPool,为什么使用这个
  • 虚拟机的内存结构
  • 双亲委派模型

11.美团

  • 如果因为一些原因,线上Redis挂了,然后所有请求打到数据库层导致数据库也挂了,这时该怎么进行恢复?
  • Spring里面的beanid是否允许重复?如果允许重复的话重复了怎么办?如果不允许重复是怎么处理的
  • G1对宿主机有什么要求?
  • 堆设置有什么注意事项?
  • Spring和Mybatis是怎么结合的?
  • mysql explain有哪些项?
  • dubbo协议
  • 单链表找循环节点
  • 手写Dubbo的加权随机算法
  • Spring获取代理对象解决事务失效的问题
  • 顺序读取一亿个整数,找出前100万大的数字,内存限定大小为10M,后内存限定大小为5M。
  • 一个升序数组,随机选择一个旋转节点。右边的有序段放到左边,依然保持有序;左边的有序段放到右边,依然保持有序。然后从这个数组中查找某个数。
  • stream和foreach区别
  • zookeeper和nacos区别?nacos符合CP还是AP?

12.滴滴

  • Java线程的状态及转换
  • Java创建线程的方式
  • 创建线程池的方式有哪些
  • JUC包下的类,能说多少说多少
  • ReentranLock与sychronized的区别
  • volitile的内存语义,底层如何实现
  • 解释一下happens-before,有哪些规则
  • CurrentHashMap源码
  • MySQL的索引及区别
  • 算法题:顺时针打印矩阵
  • 介绍项目,项目中的难点(15min)
  • MySQL是如何优化的,数据量有多少
  • 倒排索引与正排索引的区别
  • ElasticSearch的原理(倒排索引+TF/IDF)
  • Zookeeper用过吗,介绍一下
  • Zookeeper一般用在什么场景
  • 除了ZAB协议,在介绍几个分布式一致性协议(Paxos、Raft)
  • 线程池的几种拒绝策略及其应用场景

13.滴滴

  • LSM-tree应用在那些场景、优缺点
  • 写SQL:查询每个班级成绩排名前五的学生及成绩
  • 你对滴滴有什么了解,知道我们的技术栈吗
  • Java集合类常用哪些,ArrayList与LinkedList区别;HashMap底层实现,为什么扩容是2的幂次;如果想要线程安全该怎么用
  • JUC包下对哪些类了解,synchronized和JDK提供的锁区别;CAS原理,ABA问题;锁升级过程讲一下;volatile讲一下,为什么不能保证原子性
  • JVM内存模型,新生代有哪些区,作用是什么;如何判断对象是否可以被回收(1引用计数2可达性分析)
  • JVM常用垃圾回收算法,讲一下CMS原理
  • Redis常用数据结构;有序集合底层实现;查找排名在底层如何实现;如何用Redis实现分布式锁,可能遇到的问题和解决办法
  • 手撕一个二分查找
  • 聊计网,TCP3次握手过程,第三次是否可以携带数据,如何避免SYN攻击(syncookies);TCP四次挥手说一下,为什么要等待2MSL,第二次和第三次挥手是否可以合并(可以)。
  • 操作系统,进程、线程和协程的区别;如果创建很多个线程会有什么问题;进程间通信方式有哪些
  • MySQL索引如何实现,为什么用B+树不用B树二叉树;聚簇索引和非聚簇索引的区别;平时索引优化如何做,最左匹配原则;

14.佰钧成

  • mysql隔离级别
  • springaop属于什么设计模式
  • 设计模式了解哪些
  • springmvc流程
  • 多线程链接池的原理
  • aop的应用
  • spring如何赋值给属性类
  • springaop设计模式
  • sql优化
  • sprng、boot用过没有
  • wait和sleep区别,如果sleep还未到时间我要唤醒如何做?
  • sql优化?具体怎么优化? # 三年
  • 为什么用es,与solr对比
  • es怎么用的,怎么保持一致性
  • 为什么用springcloud,与dubbo对比
  • mysql 优化经验 索引
  • mysql用什么隔离级别,考虑过用RC吗
  • mq对比,要求可靠性,高吞吐用哪个mq
  • redis数据类型 用那种多一点 分布式锁
  • redis扛不住怎么办,不允许限流降级
  • 项目中用的哪个回收器,G1回收流程,G1适合的场景
  • 多线程方面用过什么,线程池,哪几种,怎么用的
  • spring aop原理
  • 数据库查询优化,索引
  • 数据库锁表怎么解决
  • java syncronized 原理
  • volatile
  • spring ioc & aop
  • spring中设计模式
  • 单例模式 duble check

15.佰钧成

  • jvm 组成
  • 垃圾收集器
  • String StringBuilder StringBuffer
  • 创建对象多怎么调整JVM参数
  • mybatis 原理
  • rabbitmq/kafka 怎么保证可靠消息
  • 什么情况内存泄漏
  • 静态方法能覆盖吗
  • gap lock
  • https原理
  • eureka原理,与zookeeper
  • 分布式事务
  • springboot内存占用优化?
  • 斐波那契数列
  • 微服务如何拆分
  • 为什么从单体服务过度到微服务
  • 首先介绍一下单体服务优点:
  • 微服务监控怎么做的?
  • 如何评估服务应用需要扩容?
  • 如何及时发现系统异常的情况?
  • 微服务通讯方案如何选择
  • 分布式中间件如何选型?
  • 微服务分布式事务如何解决
  • mq 消费失败,如何重发,重复消费问题,消息丢失问题
  • Dubbo 系列问题,负载均衡在消费者实现还是服务提供者实现?负载均衡如何实现。服务动态发现如何实现?

16.美团

  • String、StringBuffer 和 StringBuilder 的区别
  • String 的内部实现
  • String 对象主要存储在哪块区域(常量池)
  • 重载和重写的区别
  • HashMap 和 HashSet 的区别
  • 写一下 HashSet 的实现
  • JVM运行时数据区
  • JVM创建对象的过程
  • JVM判断一个对象是否被回收
  • JVM新生代和老年代用的垃圾回收策略
  • LRU 的实现
  • LRU缓存机制(力扣146题)
  • HTTP的缓存机制
  • 查找单向链表的中间结点,lc第876题
  • 链表的倒数第 k 个节点,剑指第22题
  • 你希望在什么样的团队里面
  • HashMap、HashTable 和 ConcurrentHashMap 的区别
  • 强引用、弱引用、软引用和虚引用的区别(我还加上了一个终结器引
  • 线程的生命周期
  • sleep和wait的区别
  • 死锁产生的原因
  • 最大子序和

17.美团

  • 一个装了 10L 水的桶,一个 7L 的空桶,一个 3L 的空桶,怎样变成 2
    个 5L
  • c++ 和 java 在内存管理方面的区别
  • c++ 有垃圾回收么
  • 对 gc(垃圾回收)的理解
  • 你觉得可达性分析用什么数据结构比较好(垃圾回收的延伸知识)
  • JVM管理内存的策略和机制有哪些
  • JVM垃圾回收算法
  • 语言类内存泄露的场景
  • 语言类c++中的对象类,对象内部的类是如何存储的,内部元素存储在哪些空间里面
  • 调用函数的实现机制
  • 网络传输都做了哪些事
  • 如何保障网络传输的数据安全
  • AES 的加于RSA么
  • RSA 的实现原理
  • MD5 加密以后能解密么
  • 网络传输中,你只把数据加密了,就能保证网络的安全么?有没有其他的隐患
  • 有没有了解过如何规避 DNS 劫持
  • 洪泛攻击的规避方法
  • 如何把代码设计的更好,更健壮

18.美团

  • 常用的设计原则和设计模式
  • 滑动窗口的最大值,lc 239题
  • 顺时针打印矩阵,lc剑指29
  • 最小路径和,力扣64题
  • 前面的面试结束以后,对美团的基本情况有一定了解了么
  • 意向城市是上海的原因(简历和最后的业务不在同城而引发的问题)
  • 实习经历盘问,主要针对简历上的
  • 实习以后的收获
  • 选择岗位的偏向
  • 觉得自己经历过最难的项目是哪个3
  • 你还有其他 offer 么
  • 你手上这些 offer,你会怎么选
  • 反问环节:进去以后的部门和岗位,需要自己做选择么
  • 反问环节:如果有意向书的话,大概什么时候发放 ## 网易
  • final 关键字的作用,final 在多线程并发条件下的作用
  • 线程安全
  • Map 接口的实现有哪几种,实现的特性是什么
  • LinkedHashMap 的实现机制
  • synchronized 作用于不同方法和代码块的区别
  • 哪些方法可以创建线程池
  • DNS 域名解析过程
  • DNS 劫持
  • DNS 解析过程
  • DNS 协议的可靠性的设计
  • DNS 协议改进方式
  • TCP 的拥塞控制机制
  • HTTP 和 HTTPS 的区别
  • HTTPS 怎么保证安全性的,具体的流程是什么样的

19.美团

  • 对称加密和非对称加密的区别
  • HTTP 的版本差异
  • 进程和线程的区别
  • 1个应用里面有多个进程么,在什么情况下需要一个应用里面有多个进程
  • 在 Linux 系统下,有哪些进程调度的方式
  • 跨进程通信的方式
  • 信号量怎么理解
  • 操作系统层面,怎么实现异常中断
  • LRU 缓存机制(力扣 146 题)
  • http和https的区别
  • 浏览器中输入域名(url)后发生了什么
  • 进程和线程的定义
  • 进程通信方式
  • 四种类型强制转换
  • 数组和链表的区别
  • 深拷贝和浅拷贝
  • 如何判断堆中哪些对象需要被回收
  • gc回收
  • 新生代和老年代都用什么算法
  • 计算某个字符串的所有排列组合,并且按字符串逆字典序排序的方式输出。
  • 从海量数据中找出最大的前K个数
  • jvm中,直接内存是什么
  • final,finalize, finally有什么区别
  • HashSet类如何实现添加元素保证不重复的

20.腾讯

  • 最长递增子数组的具体数组
  • 进程和线程的区别
  • 进程通信的方式
  • 多线程的实现方式
  • 线程安全怎么保证
  • volatile与synchronized的区别
  • 用户态和核心态的区别
  • http和https的区别
  • http不同版本的区别
  • 可以使用jdk里面所有的类,随机创建一个链表,链表里面要含有100个随机的既有正数也有负数的节点。不可以自己创建链表类。
  • 移除上述链表中的负数
  • 用两个线程移除上述链表中的负数
  • 异或交换两个值,不可以用临时变量
  • 异或找出重复的元素:1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次,类似于力扣上的剑指
    Offer 03. 数组中重复的数字
  • 十年前怎么防止http的明文信息被窃取。如果黑客窃取了你加密后的东西进行传输,你该怎么办
  • 有哪些常见的加密算法
  • 网络不安全的原因有哪些
  • 洪泛攻击是什么

21.腾讯

  • 最小公倍数,复杂度多少
  • static的静态方法能不能被继承
  • final修饰不同类,方法,基本数据类型的区别,修饰string类以后会怎么样
  • 事务是什么
  • wait和sleep的区别
  • 面向对象的思想
  • java和c++的区别
  • 进程和线程的区别
  • tcp和udp的区别
  • udp适用场景
  • 剑指 Offer 24. 反链表
  • 多线程里的关键字有哪些
  • volatile与synchronized的区别和使用场景
  • 除了volatile的原子性和可见性以外,还了a解一些更底层的原理么,比如怎么保证原子性和可见性的
  • 信号量如何交替进行的
  • 有哪些引用类型
  • 在垃圾回收时,无论内存是否充足,都会回收弱引用对象吗,WeakReference在消息机制中的怎么用的
  • TCP的三次握手
  • https加密的具体方式
  • https加密协商出来的密钥的类型是什么
  • SSL流程
  • equals和==的区别
  • 讲一下hashCode方法
  • 合并两个有序链表

22.顺丰

  • http和https的区别
  • Http request的几种类型
  • GET 和 POST 的区别
  • TCP和UDP,区别
  • 线程安全怎么保证
  • 死锁产生的必要条件
  • 线程的生命周期
  • 重载和重写的区别
  • 数组和链表的区别
  • HashMap原理
  • 哈希碰撞是什么
  • HashMap为什么线程不安全
  • 用什么与HashMap有关的数据结构可以实现线程安全
  • 用户态和核心态的区别
  • tcp拥塞控制算法

23.快手

  • ArrayList和LinkedList区别
  • List如何删除元素
  • 了解HashMap么
  • HashMap为什么要用数组加链表的方式,这么做有什么优点
  • 哈希冲突的定义和解决方法
  • 死锁产生的原因和解决办法
  • 内存泄露的原因,并举几个例子
  • volatile的作用及其应用场景
  • 写一个快排
  • sdk的封装了解么
  • 进程和线程的区别
  • 进程调度算法
  • 操作系统分配的进程空间是怎样的?线程能共享哪些
  • 如何保证线程安全
  • 线程池的创建方法
  • static、final、static final的区别
  • 反射的定义和作用

24.百度

  • 单例模式的应用场景
  • 说说二叉树这种结构么
  • 104.二叉树的最大深度。
  • 面试题 08.08.有重复字符串的排列组合:剪枝
  • 关于排列组合的题目,推荐一下2021秋招算法总结1-DFS篇,里面按类包含了大量可以用,但不限于用DFS求解的题目,方便大家对此类问题树立一个基本的解题思路。
  • 常见的APP中有这么一个功能:每一个可以上下滑动,其次左右滚动时候可以在多个页面之间进行切换,如果让你写这个app,你会用哪些控件去实现。
  • 你说用ReycclerView是放在上下滑动时还是左右滑动时
  • 单个分栏中如何实现上下页的切换。
  • 全排列的思路

25.滴滴

  • 剑指 Offer 24. 反转链表
  • 剑指 Offer 25. 合并两个排序的链表
  • http和https的区别
  • TCP与UDP区别
  • TCP流量控制
  • Cookie与Session的作用与原理
  • 进程和线程的区别
  • 进程间通信方式
  • 多线程里的关键字
  • synchronized应用场景
  • wait() 和 sleep() 的区别
  • Java内存回收机制
  • 垃圾收集器有哪些
    1. 合并两个有序数组
    1. 合并区间

26.华为

  • 深拷贝和浅拷贝的区别;
  • 面向对象三要素;
  • 子类父类中静态代码、静态块以及构造器的加载顺序;
  • 静态方法能不能访问普通变量,原因?
  • 项目介绍(存储相关)
  • 共享屏幕IDEA写题;
  • Java中实现线程的几种方式?(Thread,Runnable,Callable)区别在哪?
  • 文件系统中硬链接和软链接的区别;
  • 文件修改后,软硬连接对应的数据会变化吗?
  • 机械硬盘和固态硬盘性能差异原因;
  • 问是否会C++?函数传参时引用和指针的区别;
  • Java 中的方法是值传递还是引用传递;

27.小红书大数据

  • IO密级型的系统怎么设置堆内存大小?垃圾回收器怎么选择?
  • 多线程,数字处理到10位处理,然后循环处理,怎么做?
  • mysql a b 字段索引,查询a=x,b=x会用到什么索引?如果想同时用到ab索引怎么做?
  • oom怎么排查
  • 大数据flink,流式计算

28.Soul

  • jvm设置哪些参数,xmx xms。给个物理内存,出场景让你设定jvm参数。g1和cms怎么处理在并发标记过程中误标的
  • 说下mysql为什么用B+树,不用b树
  • innodb和myinsam引擎的区别。myisam适合用于哪些场景
  • 当前读和快照读的原理,给一个场景让判断读到的结果。mysql的锁机制。gap锁怎么加的,gap锁会有什么问题?
  • mysql的sql优化,你看哪些参数。
  • kafka为社么快,面试官说是大部分顺序写磁盘,其余靠操作系统缓存。java哪个方法实现了零拷贝?
  • kafka消费者挂掉会发生什么?什么情况下会出现?选举机制有没有了解过
  • 为每个线程创建一个单独的实例,怎么实现
  • 并发synchozed和lock区别,synchized升级过程?偏向锁释放了,再来一个线程会变成轻量级锁吗?
  • 如何停止一个线程,使用stop会有什么问题。
  • 合并两个有序链表
  • es线程池参数设置调过没有
  • 分库分表插件,原理了解过没有
  • redis线上问题遇到过没有
  • redis rehash过程
  • dobbo用过没有
  • 为什么有rpc调用
  • 实现查找附近的人,你怎么设计

29.阿里

  • 网络部分
  • TPC/UDP的区别
  • 粘包问题
  • TCP如何确保连接的可靠性
  • TCP 拥塞机制
  • MySQL
  • 索引存储的数据结构
  • 索引存储在哈希表的情况
  • 使用B+树的优点
  • 最左前缀
  • Spring
  • Spring的加载过程
  • AOP的使用
  • 反射机制的原理

30.字节

  • map下的实现类,详细介绍
  • List实现类,详细介绍
  • 介绍一下AQS
  • 垃圾回收机制
  • 线程池参数
  • b+树
  • innodb隔离级别
  • 死锁
  • 手撕 反转部分链表
  • 介绍项目
  • 类加载机制
  • syn关键字
  • 双亲委派
  • get和post区别
  • tcp和udp
  • 拥塞控制
  • http状态码
  • 浏览器中输入网址后一系列的事
  • host文件是在dns解析前还是后使用
  • 进程线程区别
  • 手撕 leetcode 54
  • 100个人坐飞机,第一个人疯了随便坐,后面的人优先坐自己序号位置,如果被占了就随便坐,问第100人正确坐到自己位置概率
  • 1.redis的运行机制,了解多少说多少
  • 集群模式和哨兵模式有啥区别,选举过程,raft协议,gossip协议
  • 为什么不在从节点内部进行投票选举
  • zset结构,跳表+hashtable
  • rdb和aof区别,aof下always的安全性
  • redis数据过期策略
  • redis如何作为分布式锁的
  • 项目里是如何设计索引的,为什么这样设计
  • 数据内容过多,如何分页查询,分库分表如何做
  • 手撕 LeetCode31

31.校招阿里

  • 消息队列特性
  • redis删除策略
  • 双删问题
  • list、map、set 分析,使用场景
  • Gc如何判断垃圾
  • ConcurrentHashMap
  • 简单的一些并发问题
  • 反转链表递归和迭代 两种实现
  • 业务需求会关注什么
  • 数据库如何保证并发安全
  • 组合和继承
  • 如何抛空指针异常,如何产生该异常(一个空对象进行方法调用)
  • 如何理解ioc
  • equals和hashcode 3
  • 如何理解线程安全
  • 编译原理,编辑器设计(懵逼,真没学过)
  • 你会如何作防爬虫策略
  • 以淘宝请求展开,越详细越好,一些推送,广告 逻辑是在哪处理的,不清楚
  • innodb数据库的查询流程
  • 如何优化sql
  • 普通二叉树和b+树的区别
  • 悲观锁和乐观锁
  • volatile和syn关键字区别
  • spring启动过程

32.阿里

  • jvm内存结构,gc结构,为什么年轻带分两个区域
  • 遇到过cpu100吗,怎么排查,介绍下jstack jmap工具
  • 看过dubbo源码吗,讲下实现原理
  • 做过序列化优化没
  • 线程池实现原理,参数,拒绝策略默认有哪些,你们项目中是怎么用的
  • rocketmq项目是如何使用的,幂等性怎么做,顺序消费怎么做
  • 知道java中有哪些锁吗,悲观锁和乐观锁区别。countdownlatch是干什么的。
  • Redis有哪些数据结构
  • threadlocal是什么,在你们项目中是怎么使用的

33.三年腾讯

  • TCP、UDP 的区别
  • TCP 拥塞控制如何实现?慢启动、快重传等算法原理
  • 进程和线程的区别
  • 协程介绍
  • 进程之间如何通信
  • MySQL、Redis 如何做集群
  • InnerDB 相对传统数据库的优势
  • InnerDB 索引底层数据结构是什么?
  • InnerDB 事务如何执行?
  • Paxos 和 Raft 协议会么?(这里答了 ZAB 协议介绍)
  • select/epoll 区别

34.五年饿了么

  • 数据库事务的隔离级别?
  • 事务的几大特性,并谈一下实现原理
  • 如何用redis实现消息的发布订阅?
  • java为什么要在内存结构中设计自己的程序计数器,为什么不使用内核的?
  • 分布式事务2pc的过程?
  • redis是单线程的,为什么会这么快?
  • 谈谈nio的实现,以及netty是如何设计的?
  • 微服务化的时候,什么时候应该拆分,什么情况应该合并
  • 什么时候应该使用消息,什么时候适合接口调用?
  • 分库分表中如果让你设计全局id,如何设计,我回答雪花算法,继续问,百度对雪花算法的优化
  • redis如何进行单机热点数据的统计?
  • redis集群中新加节点以后,如何给新节点分配数据?
  • 如何从含有100亿个整数的文件中找出其中最大的100个?

35.三年字节

  • 在涉及支付的接口是如何保证接口的高可用,以及在遇到弱网条件下,发出的请求没有回复怎么办?
  • 消息队列问题,如何保证消息的可靠性,不被重复消费,多个相同的消息,如何保证只消费一次?
  • 你负责的功能模块的UV怎么去做的?对于某些某段时间内求情次数非常大的用户如何去处理呢?
  • Redis基本数据类型底层是怎么去实现的?有了解过吗?
  • 在浏览器输入网址敲下回车后发生了什么?从网址DNS解析到HTTP三次握手等过程
  • 在服务的多节点情况下,如何保证请求不会被分配到坏的节点上去的?
  • Redis分布式锁是怎么做到的?锁的过期时间怎么去设计的?如何保证当前锁不会释放掉其他锁?
  • HTTPS和HTTP的区别,HTTPS是如何防止消息被篡改的呢?HTTPS有用到对称加密吗?哪些地方用到了?
  • 写一个算法题吧,给一个有序的int数组和数组当中元素k,输出元素k在数组当中出现的次数。例如:[2,3,4,5,5,5,6,8]k=5 output:3要去算法的时间复杂度不超过O(n),也就是说不能去遍历数组了
  • 用两个栈实现一个队列

36.三年字节

  • https建立链接的过程,ssl的流程,如何协商的和加密的
  • 数据交互用的啥json,xml还有个什么buffer没听清,我们全都用的json统一封装请求响应
  • tcp断开链接过程,为什么客户端要等待2倍最大报文段时间才断开链接?没答上来
  • mysql的undulog,redulog,binlog说一说
  • 索引数据结构,主键索引和非主键索引区别
  • redis常用数据类型你用过那些,为啥快,做了啥优化?项目用到了redis么?以后缓存怎么做?缓存一致性问题,双删,以数据库为基准,达到最终一致性。缓存穿透说说?
  • mq使用场景?咋做到低延时高吞吐的,做了啥优化。回答跑题了,扯到内存节点和磁盘节点去了,还有channel连接池减少创建链接和断开链接的资源损耗。
  • rabbitmq整个流程,咋不直接用mysql做你的那个大文件异步下载呢,回答了第一版定时器扫表的那个比较损耗资源,因为不知道多久扫一次。
  • 服务间调用用的啥。
  • nacos这个注册中心你们自己实现的么,回答用的阿里的组件(感觉面试官是搞php或者go的)
  • 虚拟地址到物理地址的寻址流程??
  • 操作系统java编译流程
  • IO多路复用,回答了redis的请求单线程就用到了这个。有哪些方式?给忘了没答上来?
  • mq优化 零拷贝问题?好像跟高吞吐低延时有关系,没答上来
  • 项目,bbs点赞怎么设计的,redis缓存,评论支持一级评论和二级评论这种么,是的,记录了parentId来明确数据之间的层级关系,以及点赞评论通知目标准确性
  • 算法题,目前有一堆日常的任务,比如任务的id为 1, 2, 3,给出具体的任务数,比如一个数值N和任务之间的依赖关系。多个任务有依赖关系,被依赖的任务执行完,该任务才能执行,输出一种可执行的任务的顺序1,2说明 1的执行依赖于2先完成。输入参数 int N,int[] 1 2 2 3 3 4 输出 4, 3, 2 , 1输入参数 4 ,1 2 2 1 3 4 输出 -1

37.京东

  • 讲一下dubbo这个rpc框架的调用方式
  • dubbo配合zookeeper怎么进行服务注册与发现
  • springboot是怎么读取dubbo.xml文件的,启动spring项目的时候是怎么实例化dubbo里面的类的,分析具体细节与源码
  • zookeeper和eureka注册中心的区别,cap定理,zookeeper选举过程
  • 平时怎么优化mysql的,mysql的索引结构,每个结点怎么存,mysql一张表最大能存多少数据。b+树的树深度怎么计算。叶子结点存了什么
  • 聚簇索引和非聚簇索引的区别与底层原理
  • sychronized关键字底层实现,lock底层实现
  • lock底层AQS怎么实现,CLH队列怎么存储数据,具体细节
  • aqs中的state字段作用,如果这个程序突然挂了,锁着的资源怎么做,aqs里面的执行流程
  • volatile原理,底层怎么可见性和保证有序,说一下mesi缓存一致性协议具体
  • 锁的升级,对象的32位或者64位都存了啥
  • 用过redis么,用redis都做了什么
  • redis的删除策略,过期删除有哪些过期策略
  • redis的持久化,rdb和aof区别,redis服务挂了怎么恢复数据,具体恢复过程
  • redis的选举过程
  • mq的作用,用过哪些
  • hashmap底层原理,为什么线程不安全,扩容的具体思路,有没有线程安全的map
  • 讲一下currenthashmap的原理,1.7和1.8区别,扩容,协助扩容
  • threadlocal源码,怎么解决哈希冲突
  • 场景题,数据库里面有两列数据,id和score,数据量上百万。用线程池创建线程进行多线程累加score,怎么设计。从创建线程池到取数据累加存储结果。
  • 场景题,怎么设计一个高并发接口

38.雪球

  • 单例模式
  • 线程池适合什么样的场景,有哪些参数,配置的参数有哪些考虑
  • 如何保证请求的顺序和余额扣减不超
  • dubbo调用原理
  • 了解netty吗
  • hashmap
  • 分布式唯一id生成选型有哪些考量
  • 监控怎么做的
  • 怎样保证幂等
  • 分布式定时任务,任务分片
  • 有没有了解过devops
  • 分布式发号器如何调研的,leaf是怎么做的,怎么解决时钟回拨,snowflake的设计
  • 分布式锁考虑过哪些方案
  • 了解过哪些中间件,dubbo的原理,看过源码没
  • 数据迁移时有哪些注意的地方
  • code review如何做的,review时需要注意哪些

39.Boss

  • 设计秒杀场景
  • 知道哪些情况索引会失效
  • 知道哪些Java的锁
  • 运行时如何发现系统之间订单的不一致
  • 项目中的数据是怎样加密
  • 一条select语句在mysql是怎样执行的
  • 分库情况下的转账交易如何设计
  • 分布式事务怎么处理的
  • 如果让你设计一个订单表,该怎么设计
  • callable和runn2able有什么区别
  • 项目tps多少

40.Opay

  • 知道哪里数据库引擎,都有哪些区别
  • innodb事务的ACID,B,B+树,在磁盘读取的时候有什么区别
  • innodb怎么实现行锁,不走索引会不会用到行锁
  • 数据库怎么做数据的持久化
  • mysql如何解决幻读问题
  • jvm内存结构,gc算法区别,常用垃圾回收器区别,jdk8默认垃圾回收器
  • 方法区1.7
    1.8差异,如何确认一个对象是可以被回收的,哪些对象可以被标记为gcroot
  • redis分布式锁实现,锁续期问题,redis如何做一个队列,redis如何持久化,rdb如何做到不影响主线程
  • 如何保证缓存和数据库的一致性

41.叮咚

  • 线程的状态,怎么理解线程安全问题
  • 自定义注解怎么实现
  • 泛型
  • nio
  • 类加载机制
  • spring ioc,aop,对象注入有哪几种方式?如何解决循环依赖?
  • 垃圾回收器(生产环境怎么oracle用的)
  • 设计模式(观察者模式)
  • 动态代理
  • oauth2.0步骤
  • elasticsearch
    原理,底层数据结构,新增一条数据,能立马查询到吗?
  • mybatis 代理模式怎么实现的?mysql四种隔离级别
  • redis集群生产环境怎么使用的?如果集群三个实例,挂了一个,另外两个还能查到缓存吗?
  • redis的过期删除策略和内存淘汰策略,redis的数据持久化
  • 分布式锁(zookeeper怎么实现)
  • 分布式事务(lcn),
  • 分布式id(雪花算法如何保证集群下的每个实例机器码不重复)
  • docker 如何运行Java项目

42.阿里

  • jvm 内存和运行过程
  • jvm 调优(实践一下)
  • 四种线程实现方式
  • Runnable 和 Thread 关系,和 Callable、FutureTask 关系,讲讲1.8 中
    Future 有什么改进,或者有什么新类?
  • jvm 调参问题(看书)
  • Java IO 方面(没学)
  • 缓存一致性问题
  • hashmap 为什么用红黑树不用avl树?
  • 讲讲面向对象吧
  • 讲讲你对 Spring 的理解
  • IoC 和 AOP 讲一下
  • redis 为什么快?
  • redis集群有用到吗、数据同步?(没有,还没学到)
  • Object 对象中的方法
  • hashcode 和 equals 方法关系和 为啥重写 equals 还要重写 hashcode
    呢?
  • hashmap put 方法流程,和线程不安全问题引出相关 安全的
    hashmap
  • concurrenthashmap put 流程
  • 开放性问题:银行排队叫号和超市排队两者区别(我答的是阻塞非阻塞)
  • 对自己评价
  • 成绩怎么样(不太行)
  • 平时学习怎么学习的?
  • 对你当时阿里笔试的题目有过回顾吗?

43.美团

  • 介绍一下广告系统怎么实现,有哪些功能,召回流程是怎样的,过滤是干嘛用的
  • 为什么曝光统计用es去做,为什么不用mysql
  • es的geo circle是什么,有什么作用
  • 为什么用redis做缓存,为什么不用本地缓存
  • 为什么用rocketmq消费打点,技术选型怎么考虑的
  • rocketmq和kafka的区别,各自底层是怎么实现的
  • 笔试题:手写BlockingQueue
  • 介绍一下广告系统,在纸上画一下整个链路的流程图
  • 投放的广告类型有哪些,竞价排名还是包段?
  • 代码/性能优化怎么做的,过滤模块怎么设计的
  • 运营投放广告的策略是什么样的
  • 介绍一下电商项目
  • 笔试题:字符串转数字
  • 笔试题:两个有序链表合并
  • 笔试题:三个有序链表合并
  • 介绍了美团的团队情况
  • 讲一下广告系统
  • 运营有哪些方式统计广告收益
  • 原来的接口耗时是多少,现在又是多少,原来性能差的原因是什么,支持的最大qps是多少
  • 广告日曝光量在多少量级
  • 介绍一下电商项目
  • 笔试题:身高排序,不知道具体身高,只知道两两之间的顺序关系(A >B A

C C > B B > D)

  • Maven依赖冲突怎么解决
  • Spring IOC 有哪些扩展点
  • java SPI机制
  • java历史上有三次破坏双亲委派模型,是哪三次

44.阿里

  • 如何保证系统的稳定性?限流,降级熔断,多节点,报警信息。
  • 限流算法有那些?令牌桶设置为10 代表 QPS最大是10吗?如何选择集群限流和单体限流?(都用上)熔断降级区别是什么?除了这些你还有什么想要补充的吗?
  • 分布式事务,你们项目中的解决方案,说一种你认为QPS 最高的分布式事务的解决方案。
  • redis,项目中redis用来做什么了?redis 还能干嘛。(说了一下五种数据结构的用途,还有分布式锁。)redis 单线程为啥快?多线程会有哪些问题?分布式锁聊一下。redis 如何实现 可重入锁?
  • MQ在项目中的用途。消息写不进去怎么办?消息消费不了怎么办?消息什么情况下消息会出现丢失的情况?什么时候消息会出现重新投递的情况。顺序消息如何保证? 如果不写入同一个queue如何保证消息顺序消费?
  • RocketMQ 为什么快?mmap 和 sendfile 区别。DMA getter 机制的引入。
  • 分库分表了解过吗?如何分库分表?
  • DDD 了解过吗?

45.蚂蚁

  • 你用到了mongodb,是怎么解决大数据量下读写效率的?
  • 为什么用mongodb存储而没有选择mysql?
  • MySql的索引有哪些?聚簇索引和非聚簇索引有什么区别?
  • 如何优化一个sql?
  • 说下什么是最左匹配?
  • 单机场景下,如何解决并发问题?
  • Reentrantlock,和ReentrantWriteReadlock 有什么区别?
  • 从线程安全角度来聊下string,stringbuffer和stringbuilder有什么区别?
  • 分布式场景下如何解决并发安全问题?redis和zk具体是怎么实现分布式锁的?
  • 事务有哪些特性?怎么理解本地事务和分布式事务?
  • 能聊下TCC吗?
  • 说下springioc的原理和事务传播行为哪些?
  • static变量,static静态代码块,构造函数,执行顺序?
  • 怎么理解rocketmq推拉模式?
  • 如何保证消息的可靠性?
  • 了解过RPC框架吗?
  • Get请求和Post请求有什么区别?
  • Http和Https有什么区别?
  • 说下Hashmap在put的时候执行流程?
  • Hashmap put的时候,key能等于null吗
  • Hashmap为什么要重写hashcode和equals方法
  • 说下常用的linux命令

46.中通

  • Synchronize1原理
  • Synchronize是重入锁吗?原理是什么?
  • Synchronize的锁升级
  • Synchronize和Reentrantlock区别
  • AQS了解吗
  • 线程池有哪些参数?
  • 线程池原理
  • Threadlocal在项目中的应用场景,内存泄露
  • Java 引用类型
  • HashMap线程不安全具体体现在哪?1.8以后优化了哪些?
  • List的查询时间复杂度多少?双向链表和单向链表相比有哪些优缺点?
  • ConcurrentHashMap是怎么解决线程不安全的问题?和HashTable相比优点是什么?
  • 类加载过程,类加载机制(双亲委派机制)
  • JVM内存模型,哪些是线程私有的,哪些是线程共享的
  • 现在生产环境用的是什么垃圾回收器?
  • 你有没有解决过生产环境的jvm调优问题?
  • MySQL乐观锁和悲观锁
  • Mysql索引类型有哪些?
  • 主键索引和唯一索引一样吗?
  • 说一下sql优化一般都怎么做
  • explain哪些核心参数
  • Mybatis 一级缓存,二级缓存
  • 工厂模式有哪些?
  • Spring和JDK中有用到哪些设计模式?
  • 说说你项目中有用到哪些设计模式?
  • 静态代理和动态代理的区别?
  • 动态代理有哪几种,区别是什么?
  • 如何解决Spring的循环依赖?
  • Spring的AOP,过滤器,拦截器执行顺序?
  • Spring如何获取上下文?
  • Spring中enable注解的实现原理?例如EnableEurake
  • Redis中bitmap应用场景?
  • 按月登录统计,有的月28天,有的30天怎么解决?
  • 你项目中Redis用到了哪些数据结构?
  • Redis GEO类型用法?
  • Redis 一个key最大存储多大数据?
  • 你项目中Redis集群用的是什么?
  • 主从复制和Redis Cluster有什么区别?
  • Redis Cluster负载均衡原理是什么?
  • 说说数据库,redis,zookeeper实现分布式锁有什么区别?
  • zookeeper的节点类型
  • zookeeper的Paxos算法和zab协议
  • Cap理论有了解吗?zookeeper是cp还是ap?
  • Eurake的原理有看过吗?
  • 为什么Eurake那么快?
  • Eurake和zookeeper作为注册有什么区别?
  • Eurake挂了,a服务还能调到b服务吗?
  • 聊一下springcloud的组件?
  • Ribbon的负载均衡策略有哪些?
  • Ribbon是怎么实现灰度发布的?
  • 聊聊RocketMQ的架构
  • RocketMQ如何发送顺序消息?
  • RocketMQ如何解决消息挤压?
  • 生产者发送消息失败了怎么处理?
  • 聊聊kafka的架构
  • kafka从节点能写数据吗?
  • kafka从节点怎么同步数据的?
  • 有用过es吗?倒排算法知道吗?

47.比特大陆

  • 为什么项目采用Dubbo,和springcloud的区别
  • 接上,dubbo协议和http协议区别
  • mysql建表如果不声明主键会怎么样,为什么一般要主动声明主键
  • mysql表是越小越好吗,为什么
  • Redis数据结构,持久化方式有哪几种,主从复制流程
  • Spring注入方式有哪几种
  • K8s作用是什么,为什么要采用K8s,和xx(没听清)区别是什么

48.美团

  • ThreadLocal 里为啥要用 WeakReference。
  • Tomcat 为什么要自定义 ClassLoader、为什么要破坏双亲委派
  • Lombok实现原理。AnnotationProcessing,抽象语法树、compile-time解决
  • Spring 循环依赖解决?为啥要用三级缓存来解决?
  • MVCC 为啥要有?
  • 如何理解 复用
  • 怎样让 java 线程停下来

49.Shein

  • Java类加载过程,如何加载一个不在classpath下的类
  • Spring:1)@resource 和@Autowire区别。如何在spring容器启动后打印一段话 3)BeanFactory 和FactoryBean区别)如何自定义starter 5)注解的扫描流程
  • 线程池参数解释,分析从开始到拒绝策略流程,核心线程可以回收吗
  • 为什么阿里规范不推荐使用Executors创建线程池
  • Redis命令执行流程,Redis集群默认多少个slot,怎么分配的,key分配流程
  • 如果让你制定Redis规范你会怎么做,为什么不能声明大key
  • 为什么RocketMQ那么快
  • RocketMQ怎么保证顺序消费,怎么处理消息堆积
  • 场景:实现一个排行榜,有2000w数据,只取top100怎么设计
  • 怎么设计一个微服务系统

50.同花顺

  • 我看你公司用kafka,简历上写的rocketmq,这两者有什么区别
  • kafka你们用来干什么用
  • 线程实现方式有几种:说了四种
  • string,stringbuilder,stringbuffer区别,为什么要用stringbuilder而不用string
  • 堆和栈的区别
  • hashmap 和 concurrenthashmap什么区别
  • mysql的存储引擎用的哪个,为什么,数据机构怎样的
  • 你们业务上定义异常继承的runtimeexception 为什么不直接继承exception
    为什么?
  • 范型用过吗?用在什么场景 ,一个方法后面接了个范型参数代表什么
  • object 里面有什么方法
  • 比较两个对象是否相等,为什么要重写equals,hashcode不用重写吗
  • 浅拷贝和深拷贝的区别
  • java8多了哪些新特性,为什么多出了元空间,有什么用。
  • 抽象类和接口有什么区别
  • 栈溢出和堆溢出如何排查
  • 如何实现顺序打印ab
  • 假设有一百亿的数据,如何找出最小的10个

51.阿里

  • 你说项目里用到了队列解决循环依赖,如果服务挂了,那岂不是恢复后数据丢失了吗?有什么好的方法吗,给了方案持久化到mysql,过程中说到了redis,问到了redis的一致性数据问题如何解决?假如redis突然挂了,如何保证数据的一致性
  • mysql的乐观锁和悲观锁,项目中如何使用的
  • 生产上线程池如何使用的
  • 假设核心线程数10,最大线程数20,阻塞队列100,此时来了120个请求,问此时应用中有多少线程在跑
  • redis除了做缓存,还可以做什么?
    延迟队列,那你们项目中如何用到的延迟队列 。 主要达了
    zset数据结构属性,轮训,接着继续问,假如redis挂了 一个消息
    9点发送,8点半挂了,故障恢复9点半启动redis,如何进行消息补偿
  • mockk框架不同请求针对不同的循环依赖数据,如何判别,保证幂等。

52.五年VIVO

  • CAS的问题及其解决办法
  • 公平非公平锁的实现
  • MySQL和Redis里面CAS用在什么地方?
  • 说一下MySQL的锁(MDL,Gap,index )…
  • 线上集群部分几台频繁GC,怎么处理
  • 讲一下上面你提到的DDD过程(战略、战术设计)

53.金蝶

  • springmvc工作流程
  • spring ioc,aop
  • JDK反射机制提供的代理和CGLIB代理区别
  • 数据库优化
  • 索引失效几种情况
  • 事务失效几种场景
  • springboot自动配置的原理
  • 自定义注解实现原理
  • 线程池参数和使用,拒绝策略有几种
  • jvm
  • 类加载
  • redis
  • springcloud常用组件
  • 消息中间件

写到最后

博客地址:https://bothsavage.github.io
请添加图片描述

  • 35
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值