bagu

kuayue

为什么这个项目要用继承Thread类的方式实现多线程?

  线程池和继承Thread类实现多线程有什么区别,对应什么场景?   

  如果现在有一个业务,计算量比较大,另一个业务,消费者消费topic的数据,可能存在消费能力不够的情况,分别让你使用线程池你怎么确定方案?   

  假设现在有好几个业务要使用线程池,你是复用原先的线程池,还是每个业务一个线程池?   

  每个业务一个线程池的话,假设要使用线程池的业务很多,怎么处理?   

  Kafka的消费者端消息消费来不及会导致什么问题?   

  Kafka消息堆积会导致什么问题?Kafka内部有什么处理策略?作为开发怎么解决?   

  除了增加消费者,有哪些参数可以略微调整解决这个问题?   

  实现生产者发送数据的时候通常要设置什么参数,有什么意义?   

  消费者端使用的时候要设置什么参数?为什么?   

  什么时候会发生消息丢失和重复消费?   

  自动提交和手动提交场景下,会发生重复消费还是消息丢失,是其中一种还是兼而有之?   

  为什么消费的时候不能自动提交offset?   

  什么时候会发生再均衡?   

  为了避免这个问题,有什么办法?   

  session.timeout.ms了解吗?是什么超时?   

  max.poll.interval.ms了解吗?生产上怎么根据业务调整这个参数?   

  消费者和partition配比是怎么样的?一对一还是哪一方多一些?为什么?   

  es了解吗?什么场景要使用es?   

  为什么es复杂条件搜索数据更快?倒排索引结构了解吗?   

  es能替代MySQL吗?   

  es的深分页问题详细描述一下?为什么有这个问题?   

  深度分页你怎么解决的?   

  scroll和search after有什么区别?   

  项目协调的过程中,为了推动项目的快速落地,你采用什么办法?


谈谈你对hashmap的理解

数据结构,初始大小,扩容方式,hash算法,put,哈希冲突

concurrentHashmap的理解

hashmap 1.7和1.8的区别

1.8引入了红黑树

1.7头插法,1.8尾插法(遍历链表,统计长度)

hash算法:1.7扰动了9次,1.8只扰动2次

juc包下的其他工具有哪些?

AQS,lock,ThreadLocal,ReentrantLock

分布式锁有什么实现的?原理是什么?

说了redission

setnx指令了解吗?

说了会有很多问题,总的来说就是无法保证数据的一致性

mysql的优化思路

联合索引为什么可以提高查询速率?

减少回表查询

锁表具体锁在哪一块?

锁在索引上

mvcc了解吗?

限流的思路?

连接池,数据库连接池,消息队列,锁(分布式锁等限制颗粒度)

spring的IOC和AOP了解吗?

二面:现场面试

遇到过最复杂的问题

sql解析异常

mybatis一级缓存导致的数据不一致问题

Ouath2实现方式?和应用场景?

通过三部分进行信息存储,然后通过不同令牌形式去做不同实现

应用场景:结合jwt和spring安全框架,可以做单点登录的实现

Ouath2和spring安全框架:提供具体鉴权思路和流程

jwt:提供更安全的token

说一下遇到过的sql优化问题?

不会走索引的情况?

序列化和反序列化的工具用过哪些?

说了阿里巴巴fastJSON和jdk本身序列化

序列化id解决什么问题的?


for 和 foreach有什么区别?

for支持通过index下标定位,foreach从头遍历到尾,是增强版for循环

使用 foreach 需要满足什么条件?

不能对元素进行增删操作,修改是可以的

hashmap的数据结构说一下?

haspmap的equals方法和hashcode方法有什么应用场景?

调用get方法时,会先根据hashcode方法计算index值,然后通过equals判断链表各值

大小顶堆解决什么问题?

说了优先队列是用它实现的

mybatis分页说一下?

使用 RowBounds进行分页,是针对结果集进行的内存逻辑分页

在sql中直接写分页语句

使用分页插件进行分页,原理是使用mybatis提供的插件接口,实现自定义分页,

说了用代理模式做的实现,静态代理模式

死锁的几种场景?

本质都是互相抢占资源导致死锁的场景,比如互相转账

设计模式六大原则?

ioc说一下?

三面:现场面

Integer线程安全吗?

是,和String一样,是final修饰的

乐观锁或者悲观锁能在多机器节点下保证线程安全吗?

可以,数据库独一份,和几个机器节点无关

ip2region的数据结构是怎样的?

翻翻代码看一下

平时兴趣爱好?

栈和队列的区别?用栈怎么实现队列?

最熟悉的leecode题?

说了两数之和,出入参没说明白...

hashmap的上级接口是什么?

map

左连接和右连接有什么区别?

怎么理解er图?



byd

1、自我介绍;

2、ArrayList 和 LinkedList 查询元素的时间复杂度?

3、HashMap 查询元素的时间复杂度?数据量达到十万,查询元素的时间复杂度?如何比较元素是否重复?红黑树的特点?红黑树如何保证自平衡?红黑树出现循环依赖如何探测?Spring 的循环依赖和解决方法?

4、递归如何转成迭代写法?如何避免出现栈内存异常?假设一个方法三个变量,每个变量4byte,什么时候会出现栈内存异常?

5、线程的状态有哪些?子线程异常如何捕获?Callable 接口和 Runnable 接口区别?为什么创建了 Callable 接口?

6、线程调用 wait,线程调用 sleep,线程由于 synchronized 同步锁被阻塞的情况下,那种情况会占用 CPU 资源?为什么?

7、MySQL 的覆盖索引是什么?为什么'like%'索引不会失效?索引的底层数据结构是什么?B+ 树的树高多少?树节点存储的数据是什么?


拷打项目

分库分表

mysql的存储引擎,区别

介绍反射和应用场景

垃圾回收机制

进程通信

HTTP头结构

HTTP状态码,有遇到过非200的状态吗

Git平常用来做什么,用哪几个命令

会linux吗?(我不会咋整😰)


8个基础数据类型

AOP,DI,IOC

mybaits和hibernate的区别

mysql数据库的连接方式

static关键字的作用

栈和堆的区别

java三种集合

spirng的实现方式???好像是这个

jvm垃圾回收机制


什么是Spring IOC和AOP

什么是缓存穿透、缓存雪崩

什么是数据库事务,有哪几个特性

MySQL慢查询如何解决


java语言特性

面向对象特点

了解什么框架

cloud框架核心组件

gateway作用

springboot用哪些注解

resource和autowrid区别

hashmap1.7 1.8

jvm:

作用

5大区,线程私有

新生代老年代

消息队列:

mq用过哪些

手动ack 说一下核心代码

数据库:

索引有哪些

索引失效有哪些

函数用过哪些

having什么时候用,就group by才用吗

连接有哪些

redis和juc没问


5.如何遍历一个map

6.mybatis中$和#的区别

7.mybatis和mybatisplus有什么区别

8.介绍一下你其他的项目


1. final关键字作用

2. 基本数据类型

3. string的常用方法

4. 抽象类和普通类

5. IO流

6. BIO和NIO

7. Java的集合

8. hashmap和hashtable

9. arraylist和vector

10. AOP在spring中的应用

11. redis的数据类型

12. set和zset区别


2.==与equals区别

3.数据结构,熟悉的讲讲(线性表)

4.线性表在Java中的应用

5.hashmap底层

6.线程使用

7.线程的生命周期

8.锁,如何释放锁


didi

1.排序算法了解哪些,快排,快排复杂度,优化,堆排序,建堆过程

  2.反射了解么,原理是什么

  3.treemap和linkdedhashmap区别,实现原理

  4.jvm类加载的过程讲讲,符号引用是什么,哪些情况会发生初始化

  5.spring的循环依赖,怎么解决的,为什么需要加个三级缓存,二级不行么

  6.springboot有什么特点,相比与spring,了解springboot的自动装配的一个原理么

  7.kafka支持事务么,你们项目中有使用么,它的原理是什么

  8.怎么统计一亿用户的日活,hyperloglog有什么缺点,bitmap不行么

  算法:求一个环形链表的环的长度


1.redis的几种数据类型,你们用过哪些,zset有用来做什么

  2.垃圾收集器,cms垃圾收集过程,为什么停顿时间短,有什么缺点,concurrent mode failure怎么办,内存碎片怎么解决,为什么不用标记整理法

  3.线程池原理,核心参数,线程数设置,参数动态调整后变化过程,Tomcat线程池原理,常用的线程池,你们一般使用哪种,为什么,会有什么问题,线程抛异常怎么办,阻塞队列原理

  4.做过分库分表么,为什么要分库分表,会有什么问题,多少数据适合分库分表,跨库,聚合操作怎么做

  项目介绍

  算法:给定一个二叉树,找到该树中两个指定节点的最近公共祖先


1.nio讲讲,实现原理,优缺点

2.了解netty么,讲讲netty的设计模型,架构,使用场景

3.zookeeper读写数据过程


2.线程池有哪几种

3.基本数据类型,占的大小位

4.==和 equals

5.接口和抽象类区别

6.创建线程的方式、启动方式

7.execute 和 submit 的区别

8.runnable 和 callable 区别

9.Linux 中,awk、find、grep -v、grep -c

10.hashmap 底层

11.concurrentHashMap 底层

12.left join 和 right join

13.写一个 controller(post,json)

14.找到未排序数组中缺失的数字

15.单例模式

16.long 和 double 都是 64 位,

17.double 也能表示的更多,那为什么还需要 long 呢(因

为double 不连续)

18.说一下 java 类的三大特性:封装、继承、多态

19.了解 java 的堆和栈吗


20.jvm 内存管理

21.java 中抽象类和接口有什么区别?一个类可以实现多个接口吗

22.两个乱序数组求交集(哈希)

23.快排

24.说一下

25.集合类的实现

26.红黑树:平衡二叉排序树

27.ArrayList 怎么扩容了解吗

28.HashMap 和 HashSet 怎么实现的

算法题:

实现一下LRU 缓存机制


介绍一下数据库redis 和 mysql 有哪些不同

怎么保证数据一致性?

mysql 引擎介绍一下?myisam 和 InnoDB 的区别

如何数据库调优?

联合索引、覆盖索引介绍一下?

网络模型7 层

tcp 三次握手讲一下,为什么不 2 次呢?

四次挥手说一下,为什么是4 次?

负载均衡了解么?

讲一下Ngnix 的算法

算法题:

递归方式对数组进行排序(果断选择快排,有逼格+太熟悉了)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容