写点什么

阿里大牛首次公布 Java10W 字八股文面经,Github 访问量破百万

用户头像
云流
关注
发布于: 刚刚

面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。

但是面试的时候,当那个笑眯眯的面试官问出那些你再熟悉不过的问题 Java 问题时,你只是感觉似曾相识,却怎么也回答不到点上。比如 HashMap 的工作原理,再或者说 volatile 的使用场景。

这个时候,你可能会怀疑自己的能力,也痛恨为什么当初自己没有好好复习。



Java 10W 字+面试总结

这份面试总结比较多,就不一一的详细介绍了,粗略的将主要内容展示一下,其中含有 20+的知识点

如需参考原件 pdf 学习+刷题,可以点击这里即可获取到文章中的文档,资料

JavaOOP 面试题

  • 1、什么是 B/s 架构?什么是 C/s 架构

  • 2、Java 都有哪些开发平台?

  • 3、什么是 JDK?什么是 JRE?

  • 4、Java 语言有哪些特点

  • 5、面向对象和面向过程的区别

  • 6、什么是数据结构?

  • 7、Java 的数据结构有哪些?

  • 8、什么是 00F?

  • 9、类与对象的关系?

  • 10、Java 中有几种数据类型

  • 11、标识符的命名规则。

  • 12、instanceof 关键字的作用

  • 13、什么是隐式转换,什么是显式转换

  • 14、Char 类型能不能转成 int 类型?能不能转化成 string 类型,能不能转成 double 类型

  • 15、什么是拆装箱?

  • 16、Java 中的包装类都是哪些?

  • 17、一个 java 类中包含哪些内容?

  • 18、那针对浮点型数据运算出现的误差的问题,你怎么解决?

  • 19、面向对象的特征有哪些方面?

  • 20、访问修饰符 public, private, protected,以及不写(默认)时的区别

  • 21 、string 是最基本的数据类型吗?

  • 22、float f=3.4;是否正确?

  • 23 、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1:有错吗

  • 24、重载和重写的区别

  • 25、equals 与==的区别

  • 26 、++i 与 i++的区别

  • 27、程序的结构有哪些?

  • 28、数组实例化有几种方式?

  • 29、Java 中各种数据默认值

  • 30、Java 常用包有哪些?

  • 31、Object 类常用方法有哪些?

  • 32、java 中有没有指针?

  • 33、java 中是值传递引用传递?

  • 34、实例化数组后,能不能改变数组长度呢?

  • 35、假设数组内有 5 个元素,如果对数组进行反序,该如何做?

  • 36、形参与实参区别

  • 37、构造方法能不能显式调用?

  • 38、什么是方法重载?

  • 39、构造方法能不能重写?能不能重载?

  • 40、内部类与静态内部类的区别?

  • 41 、stati c 关键字有什么作用?

  • 42、final 在 java 中的作用,有哪些用法?

  • 43、StringString StringBuffffer 和 StringBuilder 的区别是什么?

  • 44、String str=”aaa”,与 String str=new String(“aaa”)一样吗?

  • 45、讲下 java 中的 math 类有哪些常用方法?

  • 46 、string 类的常用方法有哪些?

  • 47、Java 中的维承是单继承还是多继承

  • 48 、Super 与 this 表示什么?

  • 49、普通类与抽象类有什么区别?

  • 50、什么是接口?为什么需要接口?

  • 51、接口有什么特点?

  • 52、抽象类和接口的区别?

  • 53、Hashcode 的作用

  • 54、Java 的四种引用,强弱软虚

  • 55、Java 创建对象有几种方式?

  • 56、有没有可能两个不相等的对象有相同的 hashcode

  • 57、拷贝和浅拷贝的区别是什么?

  • 58、static 都有哪些用法?

  • 59、a=atb 与 at=b 有什么区别吗?

  • 60、final 、 finalize()、 finally

  • 61、JDEC 操作的步骤

  • 62、在使用 jdbc 的时候,如何防止出现 sql 注入的问题。

  • 63、怎么在 JDEC 内调用一个存储过程

  • 64、是否了解连接池,使用连接池有什么好处?

  • 65、你所了解的数据源技术有哪些?使用数据源有什么好处?

  • 66、&和 &&的区别

  • 67、静态内部类如何定义

  • 68、什么是成员内部类

  • 69、Static Nested Class 和 Inner Class 的不同

  • 70、什么时候用 assert

  • 71 、Java 有没有 goto

  • 72、数组有没有 length(这个方法? String 有没有 length()这个方法

  • 73、用最有效率的方法算出 2 乘以 8 等於几

  • 74、float 型 roat f=3.4 是否正确?

  • 75、排序都有哪几种方法?请列举

  • 76、静态变里和实例变里的区别?

  • 77、说出一些常用的类,包,接口,请各举 5 个

  • 78 、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?

  • 79 、Java 中的编译期常里是什么?使用它有什么风险

  • 80、在 Java 中,如何跳出当前的多重嵌套循环?

  • 81、构造器(constructor)是否可被重写( override)?

  • 82、92、两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?

  • 83、是否可以继承 String 类?

  • 84、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

  • 85、string 和 StringBuilder . StringBuffer 的区别?

  • 86、96、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

  • 87、char 型表里中能不能存贮一个中文汉字,为什么?

  • 88、抽象类〈 abstract class)和接口〈interface)有什么异同?

  • 89、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

  • 90 、Java 中会存在内存泄漏吗。请简单描述。

  • 91、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized 修饰?

  • 92、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

  • 93、如何实现对象克隆?

  • 94、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?

  • 95、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?

  • 96、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

  • 97、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

  • 98、Java 中的 final 关键字有哪些用法?





Java 集合/泛型

  • 1、ArrayList 和 linkedList 的区别

  • 2、HashMap 和 HashTable 的区别

  • 3、collection 包结构,与 collections 的区别

  • 4、泛型常用特点〈待补充)

  • 5、说说 List,Set, Map 三者的区别

  • 6 、Array 与 ArrayList 有什么不一样?

  • 7、Map 有什么特点

  • 8、集合类存放于 Java.util 包中,主要有几种接口

  • 9、什么是 list 接口

  • 10、说说 ArrayList(数组)

  • 11、Vector〈数组实现、线程同步)

  • 12、说说 LinkList《链表)

  • 13、什么 Se t 集合

  • 14、HashSet ( Hash 表)

  • 15、什么是 TreeSet《二叉树)

  • 16、说说 LinkHashSet ( HashSet+LinkedHazhMap )

  • 17、HashMap(数组+链表+红黑树)

  • 18、说说 ConcurrentHashMap

  • 19、HashTable (线程安全)

  • 20、TreeMap(可排序)

  • 21、LinkHashMap《记录插入顺序)

  • 22、泛型类

  • 23、类型通配符?

  • 24、类型擦除





Java 异常

  • 1、Java 中异常分为哪两种?

  • 2、异常的处理机制有几种?

  • 3、如何自定义一个异常

  • 4、try catch fifinally,try 里有 return, finally 还执行么?

  • 5、Excption 与 Error 包结构

  • 6、Thow 与 thorws 区别

  • 7、Error 与 Exception 区别?

  • 8、error 和 exception 有什么区别



Java 中的 IO 与 NIO

  • 1 、Java 中 IO 流?

  • 2、Java IO 与 MIo 的区别

  • 3、常用 i o 类有哪些

  • 4、字节流与字符流的区别

  • 5、阻塞 I 模型

  • 6、非阻塞工 O 模型

  • 7、多路夏用模型

  • 8、信号驱动工 O 模型

  • 9、异步 I 模型

  • 10、JAVA HIO

  • 11、MTO 的缓冲区

  • 12、MIo 的非阻塞

  • 13、Channel

  • 14、Buffer

  • 15、Selector



Java 反射

  • 1、除了使用 new 创建对象之外,还可以用什么方法创建对象?

  • 2、Java 反射创建对象效率高还是通过 new 创建对象的效率高?

  • 3、java 反射的作用

  • 4、哪里会用到反射机制?

  • 5、反射的实现方式:

  • 6、实现.Java 反射的类:

  • 7、反射机制的优缺点:

  • 8 、Java 反射 API

  • 9、反射使用步骤〈获取 Class 对象、调用对象的方法)

  • 10、获取 Class 对象有几种方法

  • 11、利用反射动态创建对象实例



Java 序列化与注解

  • 1、什么是 java 序列化,如何实现 java 序列化?

  • 2、保存(持久化)对象及其状态到内存或者磁盘

  • 3、序列化对象以字节数组保持-静态成员不保存

  • 4、序列化用户远程对象传输

  • 5、Serializable 实现序列化

  • 6、writeObject 和 readDbject 自定义序列化策略

  • 7、序列化 ID

  • 8、序列化并不保存静态变里

  • 9 、Transient 关键字阻止该表里被序列化到文件中

  • 10、序列化《从 clone—中实现》

  • 11、4 种标准元注解是哪四种?

  • 12、注解是什么



多线程 &并发

JAVA 并发知识库

  • 1 、Java 中实现多线程有几种方法

  • 2、维承 Thread 类

  • 3、实现 Runnable 接口。

  • 4、ExecutorService 、 callable 、 Future 有返回值线程

  • 5、基于线程池的方式

  • 6、4 种线程池

  • 7、如何停止一个正在运行的线程

  • 8 、notify()和 notifyAll()有什么区别?

  • 9、sleep()和 wait ()有什么区别?

  • 10、volatile 是什么?可以保证有序性吗?

  • 11、Thread 类中的 start()和 run()方法有什么区别?

  • 12、为什么 wait, notify 和 notifyll 这些方法不在 thread 类里面?

  • 13、为什么 wait 和 notify 方法要在同步块中调用?

  • 14、Java 中 interrupted 和 isInterruptedd 方法的区别?

  • 15、Java 中 synchronized 和 ReentrantLock 有什么不同?

  • 16、有三个线程 T1,T2,T3,如何保证顺序执行?

  • 17、SynchronizedMap 和 ConcurrentHashMap 有什么区别?

  • 18、什么是线程安全

  • 19、Thread 类中的 yield 方法有什么作用?

  • 20、Java 线程池中 submit() 和 execute0 方法有什么区别?

  • 21、说一说自己对于 synchronized 关键字的了解

  • 22、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 synchronized 关键字最主要的三种使用方式

  • 23、什么是线程安全? Vector 是一个线程安全类吗?

  • 24 、volatile 关键字的作用?

  • 25、简述—下你对线程池的理解

  • 26、线程生命周期(状态)

  • 27、新建状态(REW)

  • 28、就绪状态(RUANABLE》

  • 29、运行状态(RUHRING)

  • 30、阻塞状态(BLOCKED )

  • 31、线程死亡(DEAD)口

  • 32、终止线程 4 种方式

  • 33、 start 与 run 区别

  • 34、定 AVA 后台线程

  • 35、什么是乐观主义

  • 36、什么是悲观锁

  • 37、什么是自旋锁

  • 38 、Synchronized 同步锁

  • 39 、ReentrantLock

  • 40、condition 类和 0bject 类锁方法区别区别

  • 41 、 tryLock 和 lock 和 lockInterruptibly 的区别

  • 42、Semaphore 信号里

  • 43、Semaphore 与 ReentrantLock 区别

  • 44、可重入锁【递归锁】

  • 45、公平锁与非公平锁

  • 46、ReadWriteLock 读写锁

  • 47、共享锁和独占锁

  • 48、重力级锁(Mutex Lock)

  • 49、轻里级锁

  • 50、偏向锁

  • 51、分段锁

  • 52、锁优化

  • 53、线程基本方法

  • 54、线程等待(wait)

  • 55、线程睡眠( sleep )

  • 56、线程让步(yield)

  • 57、线程中断( interrupt)

  • 58 、Join 等待其他线程终止

  • 59、为什么要用 join(方法?

  • 60、线程唤醒〈notify )

  • 61、线程其他方法

  • 62、进程

  • 63、上下文口

  • 64、寄存器

  • 65、程序计数器

  • 66、PCB-“切换桢”

  • 67、上下文切换的活动

  • 68、引起线程上下文切换的原因

  • 69、同步锁

  • 70、死锁

  • 71、线程池原理

  • 72、线程复

  • 73、线程池的组成

  • 74、拒绝策略

  • 75、Java 线程池工作过程

  • 76、JAVA 阻塞队列原理

  • 77、Java 中的阻塞队列

  • 78 、ArrayBlockingQueue(公平、非公平)

  • T9、LinkedBlockingQueue 《两个独立锁提高并发)

  • 80 、PriorityBlockingQueue ( compareTo 排序实现优先)

  • 81、DelayQueue(缓存失效、定时任务)

  • 82 、SynchronousQueue《不存储数据、可用于传递数据)

  • 83 、LinkedTransferQueue

  • 84、LinkedBlockingDeque

  • 85、在 java 中守护线程和本地线程区别

  • 86、线程与进程的区别?

  • 87、什么是多线程中的上下文切换?

  • 88、死锁与活锁的区别,死锁与饥饿的区别?

  • 89 、Java 中用到的线程调度算法是什么?

  • 90、什么是线程组,为什么在 Java 中不推荐使用?

  • 91、为什么使用 Executor 框架?

  • 92、在 Java 中 Executor 和 Executors 的区别?

  • 93、如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?

  • 94、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?

  • 95、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?

  • 96、什么是 Executors 框架?

  • 97、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者的模型?

  • 98、什么是 callable 和 Future?

  • 99、什么是 FutureTask?使用 Execut orService 启动任务。

  • 100、什么是并发容器的实现?

  • 101、多线程同步和互斥有几种实现方法,都是什么?

  • 102、什么是竞争条件?怎样发现和解决竞争?

  • 103、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

  • 104 、Java 中你怎样唤醒一个阻塞的线程?

  • 105、在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?

  • 106、什么是不可变对象,它对写并发应用有什么帮助

  • 107 、Java 中用到的线程调度算法是什么?

  • 108、什么是线程组,为什么在 Java 中不推荐使用?





JVM

  • 1 、java 中会存在内存泄漏吗。请简单描述。

  • 2、64 位 JM 中,int 的长度是大多数

  • 3、Serial 与 Parallel 之间的不同之处?

  • 4、32 位和 64 位的 JVMs int 类型表里的长度是多数?

  • 5、Java 中 weakReference 与 SoftReference 的区别?

  • 6、JVM 选项―XX:+UseCompressed0ops 有什么作用?为什么要使用

  • 7、怎样通过 Java 程序来判断 JVM 是 32 位还是 64 位?

  • 8、32 位 JM 和 64 位 JVM 的最大堆内存分别是多数?

  • 9、JRE、JDK、JVM 及 JIT 之间有什么不同?

  • 10、解释 Java 堆空间及 GC?

  • 11、JVM 内存区域

  • 12、程序计数器线程私有)

  • 13、虚拟机栈(线程私有)

  • 14、本地方法区(线程私有)

  • 15、你能保证 GC 执行吗?

  • 16、怎么获取 Java 程序使用的内存?使用的百分比?

  • 17、Java 中堆和栈有什么区别?

  • 18、描述—下 JVM 加载 class 文件的原理机制

  • 19、GC 是什么?为什么要有 GC?

  • 20、堆(Heap-线程共享)-运行时数据区

  • 21、方法区/永久代(线程共享)

  • 22、JM 运行时内存

  • 23、新生代

  • 24、老年代

  • 25、永久代

  • 26、JAVA8 与元数据

  • 27、引用计数法

  • 28、可达性分析

  • 29、标记清除算法( Mark-Sweep )

  • 30、复制算法( copying)

  • 31、标记整理算法(Mark 一-Compact)

  • 32、分代收集算法

  • 33、新生代与复制算法

  • 34、老年代与标记复制算法

  • 35、JAVA 强引用

  • 36、丁 AVA 软引用

  • 37、JAVA 弱引用

  • 38 、JAVA 虚引用

  • 39、分代收集算法

  • 40、在新生代-复制算法

  • 41、在老年代-标记整理算法

  • 42、分区收集算法

  • 43、GC 垃圾收集器

  • 44、Serial 垃圾收集器(单线程、复制算法)

  • 45、FarHew 垃圾收集器(Serial+多线程〉

  • 46 、Parallel Scavenge 收集器(多线程复制算法、高效)

  • 47、Serial 0ld 收集器(单线程标记整理算法)

  • 48、Parallel 0ld 收集器〈多线程标记整理算法)

  • 49、CMS 收集器(多线程标记清除算法)

  • 50、G1 收集器

  • 51、JVM 类加载机制口

  • 52、类加载器

  • 53、双亲委派

  • 54、0SGI(动态模型系统)

  • 55、动态改变构造

  • 56、模块化编程与热插拔

  • 57、JVM 内存模型

  • 58、栈

  • 59、本地方法栈

  • 60、程序计数器

  • 61、堆

  • 62、方法区

  • 63、分代回收

  • 64、堆和栈的区别

  • 65、什么时候会触发 FullGC

  • 66、什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?

  • 67、对象分配规则

  • 68、描述—下 JVM 加载 class 文件的原理机制?

  • 69、Java 对象创建过程

  • 70、简述 Java 的对象结构

  • 71、如何判 a 对象可以被回收

  • 72、JVM 的永久代中会发生垃圾回收么

  • 73、垃圾收集算法

  • 74、调优命令有哪些?


    75、调优工具

  • 76 、Minor Gc 与 Full GC 分别在什么时候发生?

  • 77、你知道哪些 JVM 性能调优





Mysql

  • 1、数据库存储引擎

  • 2、InnoDB(B+树)

  • 2、ToknDB ( Fractal Tree-节点带数据)

  • 3、MyIASM

  • 4、Memory .

  • 5、数据库引擎有哪些

  • 6、InoDB 与 MyISAM 的区别

  • 7、索引

  • 8、常见索引原则有

  • 9、数据库的三范式是什么

  • 10、第-范式(1st 田-列都是不可再分)

  • 11、第_范式(2nd 田-每个表只描述一 -件事情)

  • 12、第三范式(3rd HP -不存在对非主键列的传递依赖)

  • 13、数据库是事务

  • 14、SQL 优化

  • 15、简单说-说 drop、delete 与 trumncate 的区别

  • 16、什么是视图.

  • 17、什么是内联接、左外联接、右外联接?

  • 18、并发事务带来哪些问题?

  • 19、事务隔离级别有哪些?MyS9I 的默认隔离级别是?

  • 20、大表如何优化?

  • 21、水平分区

  • 22、分库分表之后 id 主键如何处理

  • 23、存储过程特定功能的 sQL 语句集)

  • 24、存储过程优化思路

  • 25、触发器(一段能自动执行的程序)

  • 26、数据库并发策略

  • 27、MySQL 中有哪几种锁?

  • 28、MySQL 中有哪些不同的表格?

  • 29、简述在 MySQL 数据库中 MyISAM 和 InoDB 的区别

  • 30、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

  • 31、CHAR 和 VARCHAR 的区别?

  • 32、主键和候选键有什么区别?

  • 33、myisamchk 是用来做什么的?

  • 34、MyISAM Static 和 MyISAM Dynamic 有什么区别?

  • 35、如果一个表有一 列定义为 TIMESTAMP, 将发生什么?

  • 36、你怎么看到为表格定义的所有索引?

  • 37、LIKR 声明中的 %和是什么意思?

  • 38、列比运算符是什么?

  • 39、BLDB 和 TEXT 有什么区别?

  • 40、MySQL_ fetch array 和 MySQL. fetch object 的区别是什么?

  • 41、MyISM 表格将在哪里存储,并且还提供其存储格式?

  • 42、MySQL 如何优化 DITIHCT?

  • 43、如何显示前 50 行?

  • 44、可以使用多少列创建索引?

  • 45、NOW()和 CURRENT_DATE()有什么区别?

  • 46、什么是非标准字符串类型?

  • 47、什么是通用 sQL 函数?

  • 48、MySQL 支持事务吗?

  • 49、MySQL 里记录货币用什么字段类型好

  • 50、MySQL 有关权限的表都有哪几个?

  • 51、列的字符串类型可以是什么?

  • 52、MySQL 数据库作为发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

  • 53、锁的优化策略

  • 54、索引的底层实现原理和优化

  • 55、什么情况下设置了索引但无法使用

  • 56、实践中如何优化 MySQL

  • 57、优化数据库的方法

  • 58、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

  • 59、数据库中的事务是什么?

  • 60、SQL 注入漏洞产生的原因?如何防止?

  • 61、为表中得字段选择合适得数据类型

  • 62、存储时期

  • 63、对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题

  • 64、解释 MySQL 外连接、内连接与自连接的区别

  • 65、Myql 中的事务回滚机制概述

  • 66、SQL 语言包括哪几部分?每部分都有哪些操作关键

  • 67、完整性约束包括哪些?

  • 68、什么是锁?

  • 69、什么叫视图?游标是什么?

  • 70、什么是存储过程?用什么来调用?

  • 71、如何通俗地理解三个范式?

  • 72、什么是基本表?什么是视图?

  • 73、试述视图的优点?

  • 74、Null 是什么意思

  • 75、主键、外键和索引的区别?

  • 76、你可以用什么来确保表格里的字段只接受特定范围里的值?

  • 77、说说对 sQL 语句优化有哪些方法? (选择几条)

  • 78、什么是乐观锁

  • 79、什么是悲观锁

  • 80、什么是时间戳

  • 81、什么是行级锁

  • 82、什么是表级锁

  • 83、什么是页级锁





Redis

  • 1、什么是 Redis?

  • 2、Redis 与其他 key-value 存储有什么不同?

  • 3、Redis 的数据类型?

  • 4、使用 Redis 有哪些好处?

  • 5、Redis 相比 Memcached 有哪些优势?

  • 6、Memcache 与 Redis 的区别都有哪些?

  • 7、Redis 是单进程单线程的?

  • 8、一个字符串类型的值能存储最大容积是多少?

  • 9、Redi s 持久化机制

  • 10、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题

  • 11、热点数据和冷数据是什么

  • 12、单线程的 redis 为什么这么快

  • 13、redis 的数据类型,以及每种数据类型的使用场景

  • 14、redis 的过期策略以及内存淘汰机制

  • 15、Redis 常见性能问题和解决方案?

  • 16、为什么 Redis 的操作是原子性的,怎么保证原子性的?

  • 17、Redis 事务

  • 18、Redis 的持久化机制是什么?各自的优缺点?

  • 19、Redis 常见性能问题和解决方案:

  • 20、redis 过期键的删除策略?

  • 21、Redis 的回收策略(淘汰策略) ?

  • 22、为什么 edis 需要把所有数据放到内存中?

  • 23、Redis 的同步机制了解么?

  • 24、Pipeline 有什么好处,为什么要用 pipeline?

  • 25、是否使用过 Redis 集群,集群的原理是什么?

  • 26、Redis 集群方案什么情况下会导致整个集群不可用?

  • 27、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?

  • 28、Jedis 与 Redisson 对比有什么优缺点?

  • 29、Redis 如何设置密码及验证密码?

  • 30、说说 Redis 哈希槽的概念?

  • 31、Redis 集群的主从复制模型是怎样的?

  • 32、Redis 集群会有写操作丢失吗?为什么?

  • 33、Redis 集群之间是如何复制的?

  • 34、Redis 集群最大节点个数是多少?

  • 35、Redis 集群如何选择数据库?

  • 36、怎么测试 Redis 的连通性?

  • 37、怎么理解 Redis 事务?

  • 38、Redis 事务相关的命令有哪几个?

  • 39、Redis key 的过期时间和永久有效分别怎么设置?

  • 40、Redis 如何做内存优化?

  • 41、Redis 回收进程如何工作的?

  • 42、都有哪些办法可以降低 Redis 的内存使用情况呢?

  • 43、Redis 的内存用完了会发生什么?

  • 44、一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素

  • 45、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中间的数据都是热点数据?

  • 46、Redis 最适合的场景?

  • 47、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?

  • 48、如果有大量的 key 需要设置同-时间过期,一 般需要注意什么?

  • 49、使用过 Redis 做异步队列么,你是怎么用的?

  • 50、使用过 Redis 分布式锁么,它是什么回事




Memcached 面试题

  • 1、Memcached 是什么,有什么作用?

  • 2、memcached 服务在企业集群架构中有哪些应用场景?

  • 3、Memcached 服务分布式集群如何实现?

  • 4、Memcached 服务特点及工作原理是什么?

  • 5、简述 Memcached 内存管理机制原理?

  • 6、memcached 是怎么工作的?

  • 7、memcached 最大的优势是什么?

  • 8、memcached 和 MySQL 的 query

  • 9、memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?

  • 10、memcached 的 cache 机制是怎样的?

  • 11、memceached 如何实现冗余机制?

  • 12、memcached 如何处理容错的?

  • 13、如何将 memcached 中 item 批童导入导出?

  • 14、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?

  • 15、memcached 是如何做身份验证的?

  • 16、memcached 的多线程是什么?如何使用它们?

  • 17、memcached 能接受的 key 的最大长度是多少?

  • 18、memcached 对 item 的过期时间有什么限制?

  • 19、memcached 最大能存储多大的单个 item?

  • 20、memcached 能够更有效地使用内存吗?

  • 21、什么是二进制协议,我该关注吗?

  • 22、memcached 的内存分配器是如何工作的?为什么不适用 malloc/free!?为何要使用 slabs?

  • 23、memcached 是原子的吗?

  • 24、如何实现集群中的 session 共享存储?

  • 25、nencached 与 redis 的区别




MongoDB 面试题

  • 1、mongodb 是什么?

  • 2、mongoab 有哪些特点?

  • 3、你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用 NoSQL 数据库?说一说 NoSQL 数据库的几个优点?

  • 4、NoSQI 数据库有哪些类型?

  • 5、MySQL 与 MongoDB 之间最基本的差别是什么?

  • 6、你怎么比较 MongoDB、CouchDBI 及 CouchBase?

  • 7、MongoDB 成为最好 NoS9I 数据库的原因是什么?

  • 8、journal 回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?

  • 9、分析器在 MngoDB 中的作用是什么? .

  • 10、名字空间(namespace)是什么?

  • 11、如果用户移除对象的属性,该属性是否从存储层中删除?

  • 12、能否使用日志特征进行安全备份? .

  • 13、允许空值 ulI 吗?

  • 14、更新操作立刻 fsync 到磁盘?

  • 15、如何执行事务/加锁?

  • 16、为什么我的数据文件如此庞大?

  • 17、启用备份故障恢复需要多久?

  • 18、什么是 master 或 primary?

  • 19、什么是 secondary 或 slave?

  • 20、我必须调用 etLastrror 来确保写操作生效了么?

  • 21、我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?

  • 22、分片(shar ding)和复制(replicati on)是怎样工作的?

  • 23、数据在什么时候才会扩展到多个分片(shard)里?

  • 24、当我试图更新-一个正在被迁移的块(chmnk)上的文档时会发生什么?

  • 25、如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样?

  • 26、我可以把 moveChunk 目录里的旧文件删除吗?

  • 27、我怎么查看 Mongo 正在使用的链接?

  • 28、如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗?

  • 29、如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗?

  • 30、当更新一一个正在被迁移的块(Chunk)上的文档时会发生什么?

  • 31、MongoDB 在 A:{B,C}上建立索引,查询 A:{B,C}和 A:{C,B}都会使用索引吗?

  • 32、如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?

  • 33、MongoDB 支持存储过程吗?如果支持的话,怎么用?

  • 34、如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?

  • 35、什么是 NoSQL 数据库?NoSQL 和 RDBMS 有什么区别?在哪些情况下使用和不使用 NoSQL 数据库?

  • 36、MongoDB 支持存储过程吗?如果支持的话,怎么用?

  • 37、如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?

  • 38、为什么 MongoDB 的数据文件很大?

  • 39、当更新一个正在被迁移地块(Chunk)上的文档时会发生什么?

  • 40、MongoDB 在 A:{B,C}上建立索引,查询 A:{B,C}和 A:{C,B}都会使用索引吗?

  • 41、如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?

  • 42、分析器在 MongoDB 中的作用是什么?

  • 43、如果用户移除对象的属性,该属性是否从存储层中删除?

  • 44、能否使用日志特征进行安全备份?

  • 45、更新操作立刻 fsync 到磁盘?

  • 46、如何执行事务/加锁?

  • 47、什么是 master 或 primary?

  • 48、getLastError 的作用

  • 49、分片( sharding)和复制(replication) 是怎样工作的?

  • 50、数据在什么时候才会扩展到多个分片(shard) 里?

  • 51、 当我试图更新一个正在被迁移地块(chunk)上的文档时会发生什么?

  • 52、我怎么查看 Mongo 正在使用的链接?

  • 53、mongodb 的结构介绍

  • 54、数据库的整体结构

  • 55、MongoDB 是由哪种语言写的

  • 56、MongoDB 的优势有哪些

  • 57、什么是集合

  • 58、什么是文档

  • 59、什么是”mongod“

  • 60、“mongod"参数有什么

  • 61、什么是°mongo"

  • 62、MongoDB 哪个命令可以切换数据库

  • 63、什么是非关系型数据库

  • 64、非关系型数据库有哪些类型.

  • 65、为什么用 MOngoDB?

  • 66、在哪些场景使用 MongoDB

  • 67、MongoDB 中的命名空间是什么意思?

  • 68、哪些语言支持 MongoDB?

  • 69、在 MongoDB 中如何创建一个新的数据库

  • 70、在 MongoDB 中如何查看数据库列表

  • 71、MongoDB 中的分片是什么意思

  • 72、如何查看使用 MongoDB 的连接 Sharding - MongoDB Manual21.如何查看使用 MongoDB 的连接

  • 73、什么是复制

  • 74、在 MongoDB 中如何在集合中插入一-个文档

  • 75、在 MongoDB 中如何除去一个数据库 Collection Methods24.在 MongoDB 中如何除去一个数据库

  • 76、在 MongoDB 中如何创建一个集合。

  • 77、在 MongoDB 中如何查看一个已经创建的集合

  • 78、在 MongoDB 中如何删除一-个集合

  • 79、为什么要在 Mong0DB 中使用分析器

  • 80、MongoDB 支持主键外键关系吗

  • 81、MongoDB 支持哪些数据类型

  • 82、为什么要在 MongoDB 中用“Code“数据类型

  • 83、为什么要在 MongoDB 中用"Regular Expression'数据类型

  • 84、为什么在 MongoDB 中使用“0bject ID“数据类型

  • 85、如何在集合中插入一一个文档

  • 86、"ObjectID"有哪些部分组成

  • 87、在 MongoDb 中什么是索引

  • 88、如何添加索引

  • 89、用什么方法可以格式化输出结果

  • 90、如何使用“AMm“或“OR“条件循环查询集合中的文档

  • 91、在 MongoDB 中如何更新数据

  • 92、如何删除文档

  • 93、在 MongoDB 中如何排序

  • 94、什么是聚合

  • 95、在 MongoDB 中什么是副本集





Spring

  • 1、不同版本的 Spring Framework 有哪些主要功能?

  • 2、什么是 Spring Framework?

  • 3、列举 Spring Framework 的优点。

  • 4、Spring Framework 有哪些不同的功能?

  • 5、Spring Framework 中有多少个模块,它们分别是什么?

  • 6、什么是 Spring 配置文件?

  • 7、Spring 应用程序有哪些不同的组件?

  • 8、使用 Spring 有哪些方式?

  • 8、使用 Spring 有哪些方式?

  • 9、什么是 Spring IoC 容器?

  • 10、什么是依赖注入?

  • 11、可以通过多少种方式完成依赖注入?

  • 12、区分构造函数注入和 setter 注入

  • 13、spring 中有多少种 IoC 容器?

  • 14、区分 BeanPactory 和 Aplicationontexto

  • 15、列举 IoC 的-些好处。

  • 16、Spring IoC 的实现机制。

  • 17、什么是 spring bean?

  • 18、spring 提供了哪些配置方式?

  • 19、spring 支持集中 bean scope?

  • 20、spring bean 容器的生命周期是什么样的?

  • 21、什么是 spring 内部 bean?

  • 22、什么是 spring 装配

  • 23、自动装配有哪些方式?

  • 24、自动装配有什么局限?

  • 25、什么是基于注解的容器配置

  • 26、如何在 spring 中启动注解装配?

  • 27、@Component, @Controller, Repository

  • 28、@Required 注解有什么用?

  • 29、@Autowired 注解有什么用?

  • 30、@Qualifier 注解有什么用?

  • 31、@RequestMepping 注解有什么用?

  • 32、spring DAO 有什么用?

  • 33、列举 Spring DAO 抛出的异常。

  • 34、spring JDBC API 中存在哪些类?

  • 35、使用 Spring 访问 Hlibernate 的方法有哪些?

  • 36、列举 spring 支持的事务管理类型

  • 37、spring 支持哪些 0RM 框架

  • 38、什么是 AOP?

  • 39、什么是 Aspect?

  • 40、什么是切点(JoinPoint)

  • 41、什么是通知(Adrice) ?

  • 42、有哪些类型的通知(Advice) ?

  • 43、指出在 spring aop 中 concern 和 cross-cuttingconcern 的不同之处。

  • 44、AOP 有哪些实现方式?

  • 45、Spring AOP and AspectJ AOP 有什么区别?

  • 46、如何理解 Spring 中的代理?

  • 47、什么是编织(Weaving) ?

  • 48、Spring myC 框架有什么用?

  • 49、描述- -下 DispatcherServlet 的工作流程

  • 50、介绍- -下 WebApplicati onContext

  • 51、什么是 spring?

  • 52、使用 Spring 框架的好处是什么?

  • 53、Spring 由哪些模块组成?

  • 54、Spring 的 IOC 和 AOP 机制

  • 55、Spr ing 中 Autowire d 和 Resoure 关键字的区别

  • 56、依赖注入的方式有几种,各是什么?

  • 57、讲一下什么是 Spring

  • 58、Spring MIVC 流程

  • 59、springMVC 是什么

  • 60、Sprine/IVC 怎么样设定重定向和转发的?

  • 61、Sprin/NYC 常用的注解有哪些

  • 62、Sprine 的 AOP 理解

  • 63、Sprine 的 I0C 理解

  • 64、解释一下 spring bean 的生命周期

  • 65、解释 Spr ing 支持的几种 be an 的作用域。

  • 66、Sprine 基于 xm1 注入 be an 的几种方式

  • 67、Spring 框架中都用到了哪些设计模式

  • 68、核心容器(应用上下文)模块

  • 69、BeanFactory - BeanFactory 实现举例。

  • 70、XMLBe anP actory

  • 71、解释 AOP 模块

  • 72、解释 JDBC 抽象和 DAO 模块。

  • 72、解释对象/关系映射集成模块。

  • 73、解释 WEB 模块。

  • 74、Spring 配置文件

  • 75、什么是 Spring IOC 容器?

  • 76、IOC 的优点是什么?

  • 77、ApplicationContext 通常的实现是什么?

  • 78、Bean 厂和 Application contexts 有什么区别?

  • 79、一个 Spring 的应用看起来像什么?

  • 80、什么是 Spring 的依赖注入?

  • 81、有哪些不同类型的 IOC (依赖注入)方式?

  • 82、哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?

  • 83、什么是 Spring beans?

  • 84、一个 Spring Bean 定义包含什么?

  • 85、如何给 Spring 容器提供配置元数据?

  • 86、你怎样定义这类的作用域?

  • 87、解释 Spring 支持的几种 bean 的作用域。

  • 88、Spring 框架中的单例 bean 是线程安全的吗?

  • 89、解释 Spring 框架中 bean 的生命周期。

  • 90、哪些是重要的 bean 生命周期方法?你能重载它们吗?

  • 91、什么是 Spring 的内部 bean?

  • 92、在 Spring 中如何注入-个 java 集合?

  • 93、什么是 bean 装配?

  • 94、什么是 bean 的自动装配?

  • 95、解释不同方式的自动装配。

  • 96、自动装配有哪些局限性

  • 97、你可以在 Spring 中注入- -个 null 和一个空字符串吗?

  • 98、什么是基于 Jave 的 Spring 注解配置?给-些注解的例子.

  • 99、什么是基于注解的容器装置?

  • 100、怎样开启注解裝配?

  • 101、@Required 注解

  • 102、@Autowired 注解

  • 103、@Qualifier 注解

  • 104、在 Spring 框架中如何更有效地使用 JDBC?

  • 105、JdbcTemplate

  • 106、Spring 对 DAO 的支持

  • 107、使用 Spring 通过什么方式访问 Hibernate?

  • 108、Spring 支持的 0RM

  • 109、如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来?

  • 110、Spring 支持的事务管理类型

  • 111 Spring 框架的事务管理有哪些优点?

  • 112、你更倾向用哪种事务管理类型?

  • 113、解释 AOP

  • 114、Aspect 切面

  • 115、在 Spring AOP 中,关注点和横切关注的区别是什么?

  • 116、连接点

  • 117、通知

  • 118、切点

  • 119.什么是引入?

  • 120、什么是目标对象?

  • 121、什么是代理?

  • 122、有几种不同类型的自动代理?

  • 123、什么是织入。什么是织入应用的不同点?

  • 124、解释基于 xXML Schema 方式的切面实现。

  • 125、解释基于注解的切面实现

  • 126、什么是 Spring 的 MVC 框架?

  • 127、DispatcherServlet

  • 128、WebApplicationContext

  • 129、什么是 Spring IVC 框架的控制器?

  • 130、@Controller 注解

  • 131、@RequestMapping 注解





Spring Boot 面试题

  • 1、什么是 Spring Boot?

  • 2、为什么要用 SpringBoot .

  • 3、Spring Boot 有哪些优点?

  • 4、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

  • 5、运行 Spring Boot 有哪几种方式

  • 6、如何理解 Spring Boot 中的 Starters?

  • 7、如何在 Spring Boot 启动的时候运行一些特定的代码?

  • 8、Spring Boot 需要独立的容器运行吗?

  • 9、Spring Boot 中的监视器是什么?

  • 10、如何使用 Spring Boot 实现异常处理?

  • 11、你如何理解 Spring Boot 中的 Starters

  • 12、springboot 常用的 star ter 有哪些

  • 13、SpringBoot 实现热部署有哪几种方式

  • 14、如何理解 Spring Boot 配置加载顺序

  • 15、Spring Boot 的核心配置文件有哪几个?它们的区别是什么呢?

  • 16、如何集成 Spring Boot 和 ActiveMQ

  • 17、什么是 JavsaConfig?

  • 18、如何重新加载 Spring Boot. 上的更改, 而无需重新启动服务器?

  • 19、Spring Boot 中的监视器是什么?

  • 20、如何在 Spring Boot 中禁用 Actuator 端点安全性?

  • 21、如何在自定义端口上运行 Spring Boot 应用程序?

  • 22、什么是 YAML?

  • 23、如何实现 Spring Boot 应用程序的安全性?

  • 24、如何集成 Spring Boot 和 ActiveMQ?

  • 25、如何使用 Spring Boot 实现分页和排序?

  • 26、什么是 Swagger?你用 Spring Boot 实现了它吗?

  • 27、什么是 Spring Profiles?

  • 28、什么是 Spring Batch?

  • 29、什么是 FrelMarker 模板?

  • 30、如何使用 Spring Boot 实现异常处理?

  • 31、您使用了哪些 starter maven 依赖项?

  • 32、什么是 CSEF 攻击?

  • 33、什么是 WebSockets?

  • 34、什么是 AOP?

  • 35、什么是 Apache Kafka?

  • 36、我们如何监视所有 Spring Boot 微信服务?

  • 37、Spring Boot 的置信文件有哪几种格式?它们有什么区别?

  • 38、开启 Spring Boot 特性有哪几种方式?

  • 39、Spring Boot 的目录结构是怎样的?

  • 40、运行 Spring Boot 有哪几种方式?

  • 41、Spring Boot 自动制原理是什么?

  • 42、如何在 Spring Boot 启动的时候运行一些特定的代码?

  • 43、Spring Boot 有哪几种读取配置的方式?

  • 44、Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?

  • 45、Spring Boot 如何定义多套不同环境配置?

  • 46、Spring Boot 可以兼容老 Spring 项目吗,如何做?

  • 47、保护 Spring Boot 应用有哪些方法?

  • 48、Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

  • 49、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

  • 50、springboot 集成 mybatis 的过程

  • 51、Spring Boot、Spring MIVC 和 Spring 有什么区别?

  • 52、什么是 Spring Boot Stater ?

  • 53、Spring Boot 还提供了其它的哪些 Starter Project Opti ons?

  • 54、Spring 是如何快速创建产品就绪应用程序的?

  • 55、创建一 个 Spring Boot Project 的最简单的方法是什么?

  • 56、Spring Initializr 是创建 Spring Boot Frojects 的唯一方法吗

  • 57、如何使用 SpringBoot 自动重装我的应用程序?

  • 58、什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?

  • 59、如何在 Spring Boot 中添加通用的 JS 代码?

  • 60、什么是 Spring Date?

  • 60、什么是 Spring Date?

  • 61、什么是 Spring Data REST?

  • 62、path=”users”, collectionResourceRel=”users” 如何与 Spring Data Rest 一起使用?

  • 63、当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?

  • 64、我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?

  • 65、如何使用 Spring Boot 生成一个 WAR 文件?

  • 66、如何使用 Spring Boot 部署到不同的服务器?

  • 67、RequstMapping 和 GetMapping 的不同之处在哪里?

  • 68、为什么我们不建议在实际的应用程序中使用 Spring Data Rest?

  • 69、在 Spring Initislizer 中,如何改变一个项目的包名字?

  • 70、可以配置 application.propertierde 的完整的属性列表在哪里可以找到?

  • 71、JPA 和 Hibernate 有哪些区别?

  • 72、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?

  • 73、如何不通过任何配 2 置来选择 Hibernate 作为 JPA 的默认实现?

  • 74、指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?

  • 75、我们如何连接一一个像 MSSQL 或者 orcale -样的外部数据库?

  • 76、Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?

  • 77、如果 H2 不在类路径里面,会出现上面情况?

  • 78、你能否举一个以 ReadOnly 为事务管理的例子?

  • 79、发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?

  • 80、配置文件的需求是什么?

  • 81、如何使用配置文件通过 Spring Boot 配置特定环境的 2 置?

  • 82、我们如何使用 Maven 设置 Spring Boot 应用程序?

  • 83、如何禁用特定的自动装置?

  • 84、Spring boot 支持哪些外部配置?

  • 85、如何对 Spr ing Boot 应用进行测试?

  • 86、Spring Boot Actuator 有什么用?

  • 87、SpringBoot 静态首页默认位置可以放在哪里?

  • 89、SpringBoot 静态资源直接映射的优先级是怎样的?

  • 90、继承 WebMvcConfigurerAdapter 抽象类,常用的重写方法列举几个?

  • 91、@SpringBootApplication 引入了哪 3 个重要的注解?

  • 92、@Spr ingBootApplicati on 注解中的属性相当于哪几个注解?





Spring Cloud 面试题

  • 1、什么是 Spring Cloud?

  • 2、使用 Spring Cloud 有什么优势?

  • 3、服务注册和发现是什么意思? Spring Cloud 如何实现?

  • 4、负载平衡的意义什么?

  • 5、什么是 Hystrix? 它如何实现容错?

  • 6、什么是 Hystrix 断路器?我们需要它吗?

  • 7、什么是 Hetflix FPeig?它的优点是什么呢?

  • 8、什么是 Spring Cloud Bus?我们需要它吗?

  • 9、什么是微服务

  • 10、什么是服务熔断?什么是服务降级

  • 11、Eurekso 和 ookeeper 都可以提供服务注册与发现的功能,请说说两

  • 12、SpringBoot 和 SpringCl oud 的区别?

  • 13、什么是 Hystrix 断路器?我们需要它吗 14、说说 RPC 的实现原理

  • 15、微服务的优点缺点?说下开发项目中遇到的坑?

  • 16、spring eloud 和 dubbo 区别?

  • 17、REsT 和 RPC 对比

  • 18、你所知道的微服务技术栈?

  • 19、微服务之间是如何独立通讯的?

  • 20、springclou 如何实现服务的注册?

  • 21、Eureksookeeper 区别

  • 22、eureka 自我保护机制是什么?

  • 23、什么是 Ribbon?

  • 24、什么是 feigin?它的优点是什么?

  • 25、Ri bbon 和 Fei ew 的区别?

  • 26、什么是 Spring Cloud Bus?

  • 27、springcl oud 断路器作用?

  • 28、Spring Cloud Gateway?

  • 29、作为服务注册中心,Fur eka 比 Zookeeper 好在哪里?

  • 30、什么是 Ribbon 负载均衡?

  • 31、Ribbon 负载均衡能干什么?

  • 32、什么是 zu1 路由网关

  • 33、分布式置中心能干嘛?

  • 34、Htystrix 相关注解

  • 35、Eureka 和 zookeeper 都可以提供服务注册与发现的功能,请说说两个的区别?





RabbitMQ 面试题

  • 1、什么是 rabitnq

  • 2、为什么要使用 rbbitmi

  • 3、使用 rabbinq 的场景

  • 4、如何确保消息正确地发送至微信 RabbitMQ? 如何确保消息接收方消费了消息?

  • 5、如何避免消息重复投递或重复消费?

  • 6、消息基于什么传输?

  • 7、消息如何分发?

  • 8、消息怎么路由?

  • 9、如何确保消息不丢失?

  • 10、使用 Robitm 有什么好处?

  • 11、RabbitMQ 的集群

  • 12、mq 的缺点

  • 13、Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?

  • 14、如何保证高可用的?

  • 15、如何保证消息的可靠传输?如果消息丢了怎么办

  • 16、如何保证消息的顺序性

  • 17、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决

  • 18、设计 MQ 的思路

  • 19、什么是 Message? .

  • 20、什么是 Publisher ?

  • 21、什么是 Exchange(将消息路由给队列 )

  • 22、什么是 Binding(消息队列和交换器之间的关联)

  • 23、什么是 Qreue?

  • 24.什么是 Conetion ?

  • 25、什么是 Chamel? .

  • 26、什么是 Consmer ?

  • 27、什么是 Virtual Host ?

  • 28、什么是 Broker? .

  • 29、Exchange 类型?

  • 30、Direct 键(routing key)分布 ?

  • 31、Fanout (广播分发) ?

  • 32、tepic 交换器(模式匹配) ? .





Dubbo 面试题

  • 1、为什么要用 Dubbo?

  • 2、Dubbo 的整体架构设计有哪些分层?

  • 3、默认使用的是什么通信框架,还有别的选择吗?

  • 4、服务器调用是阻塞的吗?

  • 5、一般使用什么注册中心?还别的选择吗?

  • 6、默认使用什么序列化框架,你知道的还有哪些?

  • 7、服务提供者能实现失效提出是什么原理?

  • 8、服务上线怎么不影响旧版本?

  • 9、如何解决服务调用链过长的问题?

  • 10、说说核心的酒置有哪些?

  • 11、Dubbo 推荐用什么协议?

  • 12、同一个服务多个注册的情况下可以直连某一个服务吗?

  • 13、画-画服务注册与发现的流程图?

  • 14、Dubbo 集群容错有几种方案?

  • 15、Dubbo 服务降级,失败重试怎么做?

  • 16、Dubbo 使用过程中都遇到了些什么问题?

  • 17、Dubbo Monitor 实现原理?

  • 18、Dubbo 用到哪些设计模式?

  • 19、Dubbo 配置文件是如何加载到 Spring 中的?

  • 20、Dubbo sPI 和 Java SPI 区别?

  • 21、Dubbo 支持分布式事务吗?

  • 22、Dubbo 可以对结果进行缓存吗?

  • 23、服务上线怎么兼容旧版本?

  • 24、Dubbo 必须依赖的包有哪些?

  • 25、Dubbo telnet 命令能做什么?

  • 26、Dubbo 支持服务降级吗?

  • 27、Dubbo 如何优雅停机?

  • 28、Dubbo 和 Dubbox 之间的区别?

  • 29、Dubbo 和 Spring Cloud 的区别?

  • 30、你还了解别的分布式框架吗?

  • 31、Dubbo 是什么?

  • 32、Dubbo 默认使用什么注册中心,还有别的选择吗?

  • 33、Dubbo 有哪几种置方式?

  • 34、在 Provider 上可以配置的 Consumer 端的属性有哪些?

  • 35、Dubbo 启动时如果依赖的服务不可用会怎样?

  • 36、Dubbo 推荐使用什么序列化框架,你知道的还有哪些?

  • 37、Dubbo 有哪几种负载均衡策略,默认是哪种?

  • 38、注册了多个同一样的服务,如果测试指定的某一个服务呢?

  • 39、Dubbo 支持服务多协议吗?

  • 40、当一个服务接口有多种实现时怎么做?

  • 41、服务上线怎么兼容旧版本?

  • 42、Dubbo 可以对结果进行缓存吗?

  • 43、Dubbo 服务之间的调用是阻塞的吗?

  • 44、Dubbo 支持分布式事务吗?

  • 45、Dubbo 支持服务降级吗?

  • 46、Dubbo 如何优雅停机?

  • 47、服务提供者能实现失效提出是什么原理?

  • 48、如何解决服务调用链过长的问题?

  • 49、服务员推荐的容错策略是怎样的?

  • 50、Dubbo 必须依赖的包有哪些?

  • 51、Dubbo 的管理控制台能做什么?

  • 52.说说 Dubbo 服务暴露的过程。

  • 53、Dubbo 停止维护了吗?

  • 54、Dubbo 和 Dubbox 有什么区别?

  • 55、你还了解别的分布式框架吗?

  • 56、Dubbo 能集成 Spring Boot 吗?

  • 57、在使用过程中都遇到了些什么问题?

  • 58、你读过 Dubbo 的源码吗?

  • 59、你觉得用 Dubbo 好还是 Spring Cloud 好?




MyBatis 面试题

  • 1、什么是 Mybatis?

  • 2、Mybaits 的优点

  • 3、MyBatis 框架的缺点

  • 4、MyBatis 框架适用场合

  • 5、MyBatis 与 Hibernate 有哪些不同?

  • 6、#{}和 ${}的区别是什么?

  • 7、当实体类中的属性名和表中的字段名不一样时, 怎么办?

  • 8、模糊查询 like 语句该怎么写?

  • 9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?

  • 13、如何获取自动生成的(主)键值?

  • 14、在 mapper 中如何传递多个参数?

  • 15、Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?

  • 16、Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

  • 17、Mybatis 的 Xml 映射文件中,不同的是 Xml 映射文件,id 是否可以重复?

  • 18、为什么这么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?

  • 19、 一对一、一对多的关联查询 ?

  • 20、MyBatis 实现一对一有几种方式?具体怎么操作的?

  • 21、MyBatis 实现一对多有几种方式,怎么操作的?

  • 22、Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?

  • 23、Mybatis 的一级、二级缓存

  • 24、什么是 MyBatis 的接口绑定?有哪些实现方式?

  • 25、使用 MyBatis 的 mapper 接口调用时有哪些要求?

  • 26、Mapper 编写有哪几种方式?

  • 27、简述 Mybatis 的插件运行原理,以及如何编写一个插件。

  • 28、MyBatis 实现一对一有几种方式?具体怎么操作的 ?




ZooKeeper 面试题

  • 1、什么是 Zookeeper?

  • 2、Zookeeper 如何保证了分布式一致性特性?

  • 3、Zokeeper 提供了什么?

  • 4、Zookeeper 文件系统

  • 5、ZAB 协议?

  • 6、四种类型的数据节点 Znode

  • 7、Zookeeper Watcher 机制-数据变更通知

  • 8、客户端注册 Watcher 实现

  • 9、 服务端处理 Watcher 实现

  • 口 10、客户端回调 Watcher

  • 11、ACL 权限控制机制

  • 12、Chroot 特性

  • 13、会话管理

  • 14、服务器角色

  • 15、Zookeeper 下 Server 工作状态

  • 16、数据同步

  • 17、Zookeper 是如何保证事务的顺序-致性的?

  • 18、zk 节点宕机如何处理?

  • 19、zookeeper 负载均衡和 nginx 负载均衡区别

  • 20、分布式集群中为什么会有 Master?

  • 21、Zookeeper 有哪几种几种部署模式?

  • 22、集群最少要几台机器,集群规则是怎样的?

  • 23、集群支持动态添加机器吗?

  • 24、Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久

  • 25、Zookeeper 的 java 客户端都有哪些?

  • 26、chubby 是什么,和 zookeeper 比你怎么看?

  • 27、说几个 zookeeper 常用的命令。

  • 28、ZAB 和 Paxos 算法的联系与区别?

  • 29、Zookeeper 的典型应用场景

  • 30、数据发布/订阅

  • 31、zk 的命名服务

  • 32、分布式通知和协调

  • 33、zk 的命名服务(文件系统)

  • 34、zk 的配置管理(文件系统、通知机制)

  • 35、Zookeeper 集群管理(文件系统、通知机制)

  • 36、Zookeeper 分布式锁(文件系统、通知机制)

  • 37、Zookeeper 队列管理(文件系统、通知机制)

  • 38、Zookeeper 角色

  • 39、事务编号 Zxid (事务请求计数器+ epoch)

  • 40、epoch

  • 41、20 协议有两种模式做复模式(选主)、广播模式(网步)

  • 42、Lader election (选举阶段选出准 Lendr)

  • 43、Discovery(发现阶段-接受提议、生成 epoch、接受 epoch)

  • 44、Synchronization(同步阶段-同步 follower 副本)

  • 45、Broadcast(广播阶段-leader 消息广播)

  • 46、ZAB 协议 JAVA 实现(FLE-发现阶段和同步合并为 Recovery Phase(恢复阶段) )

  • 47、投票机制

  • 48、Zookepe 工作原理(原子广播)

  • 49、Znode 有四种形式的目录节点




数据结构面试题

  • 1、栈(stack)

  • 2、队列( queue)

  • 3、链表(Link)

  • 4、散列表(Hash Table)

  • 5、排序二叉树

  • 6、前缀树

  • 7、红黑树

  • 8、B-TREE

  • 9、位图




算法面试题

  • 1、数据里有{1,2,3,4,5,6,7,8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)

  • 2、写出代码判断一个整数是不是 2 的阶次方(请代码实现,谢绝调用 API 方法)

  • 3、假设今日是 2015 年 3 月 1 日,星期日,请算出 13 个月零 6 天后是星期几,距离现在多少天(请用代码实现,谢绝调用 API 方法)

  • 4、有两个篮子,分别为 A 和 B,篮子 A 里装有鸡蛋,篮子 B 里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)

  • 5、二分查找

  • 6、冒泡排序算法

  • 7、插入排序算法

  • 8、快速排序算法

  • 9、希尔排序算法

  • 10、归并排序算法

  • 11、桶排序算法

  • 12、基数排序算法

  • 13、剪枝算法

  • 14、回朔算法

  • 15、最短路径算法

  • 16、最小生成树算法

  • 17、AES

  • 18、RSA

  • 19、CRC

  • 20、MD5

  • 21、更多算法练习




Elasticsearch 面试题

  • 1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

  • 2、elasticsearch 的倒排索引是什么

  • 3、elasticsearch 索引数据多了怎么办,如何调优,部署

  • 4、elasticsearch 是如何实现 master 选举的

  • 5、详细描述一下 Elasticsearch 索引文档的过程

  • 6、详细描述一 下 Elasticsearch 搜索的过程?

  • 7、Elasticsearch 在部署时,对 Linwx 的设置有哪些优化方法

  • 8、lucence 内部结构是什么?

  • 9、Elasticsearch 是如何实现 Master 选举的?

  • 10、Elasticsearch 中的节点(比如公共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?

  • 11、客户端在和集群连接时,如何选择特定的节点执行请求的?

  • 12、详细描述一 下 Elasticsearch 索引文档的过程。

  • 13、详细描述一下 Elasticsearch 更新和删除文档的过程。

  • 14、详细描述一 下 Elasticsear ch 搜索的过程

  • 15、在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?

  • 16、Flasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

  • 17、对于 GC 方面,在使用 Elasticsearch 时要注意什么?

  • 18、Flasticsearch 对于大数据量(上亿量级)的聚合如何实现?

  • 19、在并发情况下,Elasticsearch 如果保证读写-致?

  • 20、如何监控 Elasticsearch 集群状态?

  • 21、介绍下你们电商搜索的整体技术架构

  • 22、介绍一-下你们的个性化搜索方案?

  • 23、是否了解字典树?

  • 24、拼写纠错是如何实现的?




Kafka 面试题

  • 1、Kafka 是什么

  • 2、pertition 的数据文件(offset, MessageSize, data)

  • 3、数据文件分段 sement (顺序读写、分段命令、二分查找)

  • 4、负载均衡(aerition 会均衡分布到不同 broker 上)

  • 5、批重发送

  • 6、压缩(GZIP 或 Snappy)

  • 7、消费者设计

  • 8、Consumer Group

  • 9、如何获取 topic 主题的列表

  • 10、生产者和消费者的命令是什么?

  • 11、consumer 是推还是拉?

  • 12、讲讲 kafka 维护消费状态跟踪的方法

  • 13、讲一下主从同步

  • 14、为什么需要消息系统,mysql 不能满足需求吗?

  • 15、Zokeeper 对于 Kafka 的作用是什么?

  • 16、Kafka 判断一个节点是否还活着有那两个条件?

  • 17、Kafka 与传统 MQ 消息系统之间有三个关键区别

  • 18、讲一讲 kafka 的 ack 的三种机制

  • 19、消费者如何不自动提交偏移里,由应用提交?

  • 20、消费者故障,出现过锁问题如何解决?

  • 21、如何控制消费者的位置

  • 22、kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?

  • 23、kafka 的高可用机制是什么?

  • 24、kafka 如何减少数据丢失

  • 25、kafka 如何不消费重复数据?比如扣款,我们不能重复的扣。。




微服务 面试题

  • 2、微服务架构有哪些优势?

  • 3、微服务有哪些特点?

  • 4、设计微服务的最佳实践是什么?

  • 5、微服务架构如何运作?

  • 6、微服务架构的优缺点是什么?

  • 7、单片,SOA 和微服务架构有什么区别?

  • 8、在使用微服务架构时,您面临哪些挑战?

  • 9、SOA 和微服务架构之间的主要区别是什么?

  • 10、微服务有什么特点?

  • 11、什么是领域驱动设计?

  • 12、为什么需要域驱动设计(DDD) ?

  • 13、什么是无所不在的语言?

  • 14、什么是凝聚力?

  • 15、什么是耦合?

  • 16、什么是 REST / RESTful 以及它的用途是什么?

  • 17、你对 Spring Boot 有什么了解?

  • 18、什么是 Spring 引导的执行器?

  • 19、什么是 Spring Cloud?

  • 20、Spring Cloud 解决了哪些问题?

  • 21、在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处?

  • 22、你能否给出关于休息和微服务的要点?

  • 23、什么是不同类型的微服务测试?

  • 24、您对 Distributed Transaction 有何了解?

  • 25、什么是 Idempotence 以及它在哪里使用?

  • 26、什么是有界上下文?

  • 27、什么是双因素身份验证?

  • 28、双因素身份验证的凭据类型有哪些?

  • 29、什么是客户证书?

  • 30、PACT 在微服务架构中的用途是什么?

  • 31、什么是 OAuth?

  • 32、康威定律是什么? .

  • 33、合同测试你懂什么?

  • 34、什么是端到端微服务测试?

  • 35、Container 在微服务中的用途是什么?

  • 36、什么是微服务架构中的 DRY?

  • 37、什么是消费者驱动的合同(CDC) ?

  • 38、Web, RESTful API 在微服务中的作用是什么?

  • 39、您对微服务架构中的语义监控有何了解?

  • 40、我们如何进行跨功能测试?

  • 41、我们如何在测试中消费决定论?

  • 42、Mock 或 Stub 有什么区别?

  • 43、您对 Mike Cohn 的测试金字塔了解多少?

  • 44、Docker 的目的是什么?

  • 45、什么是金丝雀释放?

  • 46、什么是持续集成(CI) ?

  • 47、什么是持续监测?

  • 48、架构师在微服务架构中的角色是什么?

  • 49、我们可以用微服务创建状态机吗?

  • 50、什么是微服务中的反应性扩展?




Linux 面试题

  • 1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?目录用什么表示? 切换目录用什么命令?

  • 2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?

  • 3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当

  • 4、Ls 命令执行什么功能?可以带哪些参数, 有什么区别?

  • 5、查看文件有哪些命令

  • 6、列举几个常用的 Linux 命令

  • 7、你平时是怎么查看日志的?

  • 8、建立软链接(快捷方式),以及硬链接的命令

  • 9、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

  • 10、查看文件内容有哪些命令可以使用?

  • 11、随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?

  • 12、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?

  • 13、移动文件用哪个命令?改名用哪个命令?

  • 14、复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?

  • 15、删除文件用哪个命令?如果需要连目录及目录下的文件一块删除呢?删除空文件夹用什么命令?

  • 16、Linux 下命令有哪几种可使用的通配符?分别代表什么含义?

  • 17、用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

  • 18、Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?

  • 19、Linux 中间进程有哪几种状态?在 ps 显示出来的信息中分别用什么符号表示的?

  • 20、怎么使一个命令在后台运行?

  • 21、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

  • 22、哪个命令专 i ]用来查看后台任务?

  • 23、把后台任务调到前台执行使用什么命令?停下的后台任务在后台执行起来用什么命令?

  • 24、终止进程用什么命令?带什么参数?

  • 25、怎么查看系统支持的所有信号?

  • 26、搜索文件用什么命令?格式是怎么样的?

  • 27、查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?

  • 28、使用什么命令查看用过的命令列表?

  • 29、使用什么命令查看磁盘使用空间?空闲空间呢?

  • 30、使用什么命令查看网络是否连通?

  • 31、使用什么命令查看 ip 地址及接口信息?

  • 32、查看各类环境变量用什么命令?

  • 33、通过什么命令指定命令提示符?

  • 34、查找命令的可执行文件是去哪查找的?怎么对其进行设置及添加?

  • 35、通过什么命令查找执行命令?

  • 36、怎么对命令进行取别名?

  • 37、du 和 df 的定义,以及区别?

  • 38、awk 详解。.

  • 39、当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?

  • 40、如果一个人 linux 新手想要知道当前系统支持的所有命令的列表,他需要怎么做?

  • 41、如果你的助手想要打印出当前的目录,你会建议他怎么做?

  • 42、你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

  • 43、bash shell 中的 hash 命令有什么作用?

  • 44、哪一个 besh 内置命令能够进行数学运算。

  • 45、怎样一页一页地查看一个大文件的内容呢?

  • 46、数据字典是属于哪一个用户的?

  • 47、怎样查看一个 linux 命令的概要与用法?假设你在/bin 目录中偶然看到一个你从没见过的命令,怎样才能知道它的作用和用法呢?

  • 48、使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?



而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好地应对面试官的问题以及面试中的突发情况。

由于篇幅限制小编,pdf 文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!如需参考原件 pdf 学习+刷题,可以点击这里即可获取到文章中的文档,资料

用户头像

云流

关注

还未添加个人签名 2020.09.02 加入

还未添加个人简介

评论

发布
暂无评论
阿里大牛首次公布Java10W字八股文面经,Github访问量破百万