一次偶然,从朋友那里得到一份“金三银四Java面试涨薪手册(嵩山版)”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。这不,到2021年金三银四了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。
请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平
且由于篇幅原因,这边无法展示所有完整的答案解析,不过我早已已将这份 “金三银四Java面试涨薪手册(嵩山版)”整理成一份独立的pdf文件有需要的朋友可以【见下图添加上小助手即可获取到了】
专题1:JavaOOP
- 1、什么是B/S架构?什么是C/S架构
- 2、Java都有哪些开发平台?
- 3、什么是JDK?什么是JRE?
- 4、Java语言有哪些特点
- 5、面向对象和面向过程的区别
- 6、什么是数据结构?
- 7、Java的数据结构有哪些?
- 8、什么是OOP?
- 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与==的区别
- 36、++i与i++的区别
- 37、程序的结构有哪些?
- 38、数组实例化有几种方式?
- 39、Java中各种数据默认值
- 40、Java常用包有哪些?
- 41、Object类常用方法有哪些?
- 42、java中有没有指针?
- 43、java中是值传递引用传递?
- 44、实例化数组后,能不能改变数组长度呢?
- 45、假设数组内有5个元素,如果对数组进行反序,该如何做?
- 46、形参与实参区别
- 47、构造方法能不能显式调用?
- 48、什么是方法重载?
- 49、构造方法能不能重写?能不能重载?
- 50、内部类与静态内部类的区别?
- 51、Static关键字有什么作用?
- 52、final在java中的作用,有哪些用法?
- 53、StringString StringBuffffer 和 StringBuilder 的区别是什么?
- 54、String str=”aaa”,与String str=new String(“aaa”)一样吗?
- 55、讲下java中的math类有那些常用方法?
- 56、String类的常用方法有哪些?
- 57、Java中的继承是单继承还是多继承
- 58、Super与this表示什么?
- 59、普通类与抽象类有什么区别?
- 60、什么是接口?为什么需要接口?
- 61、接口有什么特点?
- 62、抽象类和接口的区别?
- 63、Hashcode的作用
- 64、 Java的四种引用,强弱软虚
- 65、Java创建对象有几种方式?
- 66、有没有可能两个不相等的对象有相同的hashcode
- 67、拷贝和浅拷贝的区别是什么?
- 68、static都有哪些用法?
- 69、a=a+b与a+=b有什么区别吗?
- 70、final、finalize()、finally
- 71、JDBC操作的步骤
- 72、在使用jdbc的时候,如何防止出现sql注入的问题。
- 73、怎么在JDBC内调用一个存储过程
- 74、是否了解连接池,使用连接池有什么好处?
- 75、你所了解的数据源技术有那些?使用数据源有什么好处?
- 76、&和&&的区别
- 77、静态内部类如何定义
- 78、什么是成员内部类
- 79、Static Nested Class 和 Inner Class的不同
- 80、什么时候用assert
- 81、Java有没有goto
- 82、数组有没有length()这个方法? String有没有length()这个方法
- 83、用最有效率的方法算出2乘以8等於几
- 84、float型float f=3.4是否正确?
- 85、排序都有哪几种方法?请列举
- 86、静态变量和实例变量的区别?
- 87、说出一些常用的类,包,接口,请各举5个
- 88、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?
- 89、Java 中的编译期常量是什么?使用它又什么风险?
- 90、在 Java 中,如何跳出当前的多重嵌套循环?
- 91、构造器(constructor)是否可被重写(override)?
- 92、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
- 93、是否可以继承 String 类?
- 94、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- 95、String 和 StringBuilder、StringBuffer 的区别?
- 96、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
- 97、char 型变量中能不能存贮一个中文汉字,为什么?
- 98、抽象类(abstract class)和接口(interface)有什么异同 ?
- 99、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
- 100、Java 中会存在内存泄漏吗,请简单描述。
- 101、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized修饰?
- 102、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
- 103、如何实现对象克隆?
- 104、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?
- 105、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
- 106、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
- 107、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
- 108、Java 中的 final 关键字有哪些用法?
专题2: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、什么Set集合
- 14、HashSet( Hash 表)
- 15、什么是TreeSet(二叉树)
- 16、说说LinkHashSet( HashSet+LinkedHashMap)
- 17、HashMap(数组+链表+红黑树)
- 18、说说ConcurrentHashMap
- 19、HashTable(线程安全)
- 20、TreeMap(可排序)
- 21、LinkHashMap(记录插入顺序)
- 22、泛型类
- 23、类型通配符?
- 24、类型擦除
专题3:Java中的IO与NIO
- 1、Java 中 IO 流?
- 2、Java IO与 NIO的区别
- 3、常用io类有那些
- 4、字节流与字符流的区别
- 5、阻塞 IO 模型
- 6、<typo id="typo-3740" ignoretag="true" data-origin="非">非</typo>阻塞 IO 模型
- 7、多路复用 IO 模型
- 8、信号驱动 IO 模型
- 9、异步 IO 模型
- 10、JAVA NIO
- 11、NIO 的缓冲区
- 12、NIO 的非阻塞
- 13、Channel
- 14、Buffer
- 15、Selector
专题4:Java反射
- 1、除了使用new创建对象之外,还可以用什么方法创建对象?
- 2、Java反射创建对象效率高还是通过new创建对象的效率高?
- 3、java反射的作用
- 4、哪里会用到反射机制?
- 5、反射的实现方式:
- 6、实现Java反射的类:
- 7、反射机制的优缺点:
- 8、Java 反射 API
- 9、反射使用步骤(获取 Class 对象、调用对象方法)
- 10、获取 Class 对象有几种方法
- 11、利用反射动态创建对象实例
专题5:Java序列化
- 1、什么是java序列化,如何实现java序列化?
- 2、保存(持久化)对象及其状态到内存或者磁盘
- 3、序列化对象以字节数组保持-静态成员不保存
- 4、序列化用户远程对象传输
- 5、Serializable 实现序列化
- 6、writeObject 和 readObject 自定义序列化策略
- 7、序列化 ID
- 8、序列化并不保存静态变量
- 9、Transient 关键字阻止该变量被序列化到文件中
- 10、序列化(深 clone 一中实现)
专题6:Java注解
- 1、4种标准元注解是哪四种?
- 2、注解是什么?
专题7:多线程&并发
- 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 和 notifyAll这些方法不在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() 和 execute()方法有什么区别?
- 21、说一说自己对于 synchronized 关键字的了解
- 22、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式
- 23、什么是线程安全?Vector是一个线程安全类吗?
- 24、volatile关键字的作用?
- 25、简述一下你对线程池的理解
- 26、线程生命周期(状态)
- 27、新建状态(NEW)
- 28、就绪状态(RUNNABLE)
- 29、运行状态(RUNNING)
- 30、阻塞状态(BLOCKED)
- 31、线程死亡(DEAD)
- 32、终止线程 4 种方式
- 33、start 与 run 区别
- 34、JAVA 后台线程
- 35、什么是乐观锁
- 36、什么是悲观锁
- 37、什么是自旋锁
- 38、Synchronized 同步锁
- 39、ReentrantLock
- 40、Condition 类和 Object 类锁方法区别区别
- 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(公平、非公平)
- 79、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?使用 ExecutorService 启动任务。
- 100、什么是并发容器的实现?
- 101、多线程同步和互斥有几种实现方法,都是什么?
- 102、什么是竞争条件?你怎样发现和解决竞争?
- 103、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?
- 104、Java中,你怎样唤醒一个阻塞的线程?
- 105、在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
- 106、什么是不可变对象,它对写并发应用有什么帮助?
- 107、Java 中用到的线程调度算法是什么?
- 108、什么是线程组,为什么在 Java 中不推荐使用?
专题8:JVM
- 1、java中会存在内存泄漏吗,请简单描述。
- 2、64 位 JVM 中,int 的长度是多数?
- 3、Serial 与 Parallel GC 之间的不同之处?
- 4、32 位和 64 位的 JVM,int 类型变量的长度是多数?
- 5、Java 中 WeakReference 与 SoftReference 的区别?
- 6、JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用?
- 7、怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?
- 8、32 位 JVM 和 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、JVM 运行时内存
- 23、新生代
- 24、老年代
- 25、永久代
- 26、JAVA8 与元数据
- 27、引用计数法
- 28、可达性分析
- 29、标记清除算法( Mark-Sweep)
- 30、复制算法(copying)
- 31、标记整理算法(Mark-Compact)
- 32、分代收集算法
- 33、新生代与复制算法
- 34、老年代与标记复制算法
- 35、JAVA 强引用
- 36、JAVA软引用
- 37、JAVA弱引用
- 38、JAVA虚引用
- 39、分代收集算法
- 40、在新生代-复制算法
- 41、在老年代-标记整理算法
- 42、分区收集算法
- 43、GC 垃圾收集器
- 44、Serial 垃圾收集器(单线程、 复制算法)
- 45、ParNew 垃圾收集器(Serial+多线程)
- 46、Parallel Scavenge 收集器(多线程复制算法、高效)
- 57、Serial Old 收集器(单线程标记整理算法 )
- 58、Parallel Old 收集器(多线程标记整理算法)
- 59、CMS 收集器(多线程标记清除算法)
- 60、G1 收集器
- 61、JVM 类加载机制
- 62、类加载器
- 63、双亲委派
- 64、OSGI( 动态模型系统)
- 65、动态改变构造
- 66、模块化编程与热插拔
- 67、JVM内存模型
- 68、栈
- 69、本地方法栈
- 70、程序计数器
- 71、堆
- 72、方法区
- 73、分代回收
- 74、堆和栈的区别
- 75、什么时候会触发FullGC
- 76、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
- 77、对象分配规则
- 78、描述一下JVM加载class文件的原理机制?
- 79、Java对象创建过程
- 80、简述Java的对象结构
- 81、如何判断对象可以被回收
- 82、JVM的永久代中会发生垃圾回收么
- 83、垃圾收集算法
- 84、调优命令有哪些?
- 85、调优工具
- 86、Minor GC与Full GC分别在什么时候发生?
- 87、你知道哪些JVM性能调优
专题9:Mysql
- 1、数据库存储引擎
- 2、InnoDB(B+树)
- 2、TokuDB( Fractal Tree-节点带数据)
- 3、MyIASM
- 4、Memory
- 5、数据库引擎有哪些
- 6、InnoDB与MyISAM的区别
- 7、索引
- 8、常见索引原则有
- 9、数据库的三范式是什么
- 10、第一范式(1st NF - 列都是不可再分)
- 11、第二范式(2nd NF- 每个表只描述一件事情)
- 12、第三范式(3rd NF- 不存在对非主键列的传递依赖)
- 13、数据库是事务
- 14、SQL优化
- 15、简单说一说drop、delete与truncate的区别
- 16、什么是视图
- 17、什么是内联接、左外联接、右外联接?
- 18、并发事务带来哪些问题?
- 19、事务隔离级别有哪些?MySQL的默认隔离级别是?
- 20、大表如何优化?
- 21、水平分区
- 22、分库分表之后,id 主键如何处理
- 23、存储过程(特定功能的 SQL 语句集)
- 24、存储过程优化思路
- 25、触发器(一段能自动执行的程序)
- 26、数据库并发策略
- 27、MySQL 中有哪几种锁?
- 28、MySQL 中有哪些不同的表格?
- 29、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
- 30、MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- 31、CHAR 和 VARCHAR 的区别?
- 32、主键和候选键有什么区别?
- 33、myisamchk 是用来做什么的?
- 34、MyISAM Static 和 MyISAM Dynamic 有什么区别?
- 35、如果一个表有一列定义为 TIMESTAMP,将发生什么?
- 36、你怎么看到为表格定义的所有索引?
- 37、LIKE 声明中的%和_是什么意思?
- 38、列对比运算符是什么?
- 39、BLOB 和 TEXT 有什么区别?
- 40、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?
- 41、MyISAM 表格将在哪里存储,并且还提供其存储格式?
- 42、MySQL 如何优化 DISTINCT?
- 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、什么是页级锁
专题10:Redis
- 1、什么是 Redis?
- 2、Redis 与其他 key-value 存储有什么不同?
- 3、Redis 的数据类型?
- 4、使用 Redis 有哪些好处?
- 5、Redis 相比 Memcached 有哪些优势?
- 6、Memcache 与 Redis 的区别都有哪些?
- 7、Redis 是单进程单线程的?
- 8、一个字符串类型的值能存储最大容量是多少?
- 9、Redis持久化机制
- 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 分布式锁么,它是怎么回事?
专题11:Memcached
- 1、Memcached 是什么,有什么作用?
- 2、memcached 服务在企业集群架构中有哪些应用场景?
- 2、Memcached 服务分布式集群如何实现?
- 3、Memcached 服务特点及工作原理是什么?
- 4、简述 Memcached 内存管理机制原理?
- 5、memcached 是怎么工作的?
- 6、memcached 最大的优势是什么?
- 7、memcached 和 MySQL 的 query
- 8、memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?
- 9、memcached 的 cache 机制是怎样的?
- 10、memcached 如何实现冗余机制?
- 11、memcached 如何处理容错的?
- 12、如何将 memcached 中 item 批量导入导出?
- 13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?
- 14、memcached 是如何做身份验证的?
- 15、memcached 的多线程是什么?如何使用它们?
- 16、memcached 能接受的 key 的最大长度是多少?
- 17、memcached 对 item 的过期时间有什么限制?
- 18、memcached 最大能存储多大的单个 item?
- 19、memcached 能够更有效地使用内存吗?
- 20、什么是二进制协议,我该关注吗?
- 21、memcached 的内存分配器是如何工作的?为什么不适用malloc/free!?为何要使用 slabs?
- 22、memcached 是原子的吗?
- 23、如何实现集群中的 session 共享存储?
- 24、memcached 与 redis 的区别?
专题12:MongoDB
- 1、mongodb是什么?
- 2、mongodb有哪些特点?
- 3、你说的NoSQL数据库是什么意思?NoSQL与RDBMS直接有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点?
- 4、NoSQL数据库有哪些类型?
- 5、MySQL与MongoDB之间最基本的差别是什么?
- 6、你怎么比较MongoDB、CouchDB及CouchBase?
- 7、MongoDB成为最好NoSQL数据库的原因是什么?
- 8、journal回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
- 9、分析器在MongoDB中的作用是什么?
- 10、名字空间(namespace)是什么?
- 11、 如果用户移除对象的属性,该属性是否从存储层中删除?
- 12、能否使用日志特征进行安全备份?
- 13、允许空值null吗?
- 14、更新操作立刻fsync到磁盘?
- 15、如何执行事务/加锁?
- 16、为什么我的数据文件如此庞大?
- 17、启用备份故障恢复需要多久?
- 18、什么是master或primary?
- 19、什么是secondary或slave?
- 20、我必须调用getLastError来确保写操作生效了么?
- 21、我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?
- 22、分片(sharding)和复制(replication)是怎样工作的?
- 23、数据在什么时候才会扩展到多个分片(shard)里?
- 24、当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
- 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、为什么要在MongoDB中使用分析器
- 80、MongoDB支持主键外键关系吗
- 81、MongoDB支持哪些数据类型
- 82、为什么要在MongoDB中用"Code"数据类型
- 83、为什么要在MongoDB中用"Regular Expression"数据类型
- 84、为什么在MongoDB中使用"Object ID"数据类型
- 85、如何在集合中插入一个文档
- 86、"ObjectID"有哪些部分组成
- 87、在MongoDb中什么是索引
- 88、如何添加索引
- 89、用什么方法可以格式化输出结果
- 90、如何使用"AND"或"OR"条件循环查询集合中的文档
- 91、在MongoDB中如何更新数据
- 92、如何删除文档
- 93、在MongoDB中如何排序
- 94、什么是聚合
- 95、在MongoDB中什么是副本集
专题13:Spring
- 1、不同版本的 Spring Framework 有哪些主要功能?
- 2、什么是 Spring Framework?
- 3、列举 Spring Framework 的优点。
- 4、Spring Framework 有哪些不同的功能?
- 5、Spring Framework 中有多少个模块,它们分别是什么?
- 6、什么是 Spring 配置文件?
- 7、Spring 应用程序有哪些不同组件?
- 8、使用 Spring 有哪些方式?
- 9、什么是 Spring IOC 容器?
- 10、什么是依赖注入?
- 11、可以通过多少种方式完成依赖注入?
- 12、区分构造函数注入和 setter 注入
- 13、spring 中有多少种 IOC 容器?
- 14、区分 BeanFactory 和 ApplicationContext。
- 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、@RequestMapping 注解有什么用?
- 32、spring DAO 有什么用?
- 33、列举 Spring DAO 抛出的异常。
- 34、spring JDBC API 中存在哪些类?
- 35、使用 Spring 访问 Hibernate 的方法有哪些?
- 36、列举 spring 支持的事务管理类型
- 37、spring 支持哪些 ORM 框架
- 37、spring 支持哪些 ORM 框架
- 39、什么是 Aspect?
- 40、什么是切点(JoinPoint)
- 41、什么是通知(Advice)?
- 42、有哪些类型的通知(Advice)?
- 43、指出在 spring aop 中 concern 和 cross-cuttingconcern 的不同之处。
- 44、AOP 有哪些实现方式?
- 45、Spring AOP and AspectJ AOP 有什么区别?
- 46、如何理解 Spring 中的代理?
- 47、什么是编织(Weaving)?
- 48、Spring MVC 框架有什么用?
- 49、描述一下 DispatcherServlet 的工作流程
- 50、介绍一下 WebApplicationContext
- 51、什么是 spring?
- 52、使用 Spring 框架的好处是什么?
- 53、Spring 由哪些模块组成?
- 54、Spring的IOC和AOP机制
- 55、Spring中Autowired和Resource关键字的区别
- 56、依赖注入的方式有几种,各是什么?
- 57、讲一下什么是Spring
- 58、Spring MVC流程
- 59、springMVC是什么
- 60、SpringMVC怎么样设定重定向和转发的?
- 61、SpringMVC常用的注解有哪些
- 62、Spring的AOP理解
- 63、Spring的IOC理解
- 64、解释一下spring bean的生命周期
- 65、解释Spring支持的几种bean的作用域。
- 66、Spring基于xml注入bean的几种方式
- 67、Spring框架中都用到了哪些设计模式
- 68、核心容器(应用上下文) 模块
- 69、BeanFactory – BeanFactory 实现举例。
- 70、XMLBeanFactory
- 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、什么是基于 Java 的 Spring 注解配置? 给一些注解的例子.
- 99、什么是基于注解的容器配置?
- 100、怎样开启注解装配?
- 101、@Required 注解
- 102、@Autowired 注解
- 103、@Qualifier 注解
- 104、在 Spring 框架中如何更有效地使用 JDBC?
- 105、JdbcTemplate
- 106、Spring 对 DAO 的支持
- 107、使用 Spring 通过什么方式访问 Hibernate?
- 108、Spring 支持的 ORM
- 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、解释基于 XML Schema 方式的切面实现。
- 125、解释基于注解的切面实现
- 126、什么是 Spring 的 MVC 框架?
- 127、DispatcherServlet
- 128、WebApplicationContext
- 129、什么是 Spring MVC 框架的控制器?
- 130、@Controller 注解
- 131、@RequestMapping 注解
专题14: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常用的starter有哪些?
- 13、SpringBoot 实现热部署有哪几种方式?
- 14、如何理解 Spring Boot 配置加载顺序
- 15、Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
- 16、如何集成 Spring Boot 和 ActiveMQ
- 17、什么是 JavaConfig?
- 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、什么是 FreeMarker 模板?
- 30、如何使用 Spring Boot 实现异常处理?
- 31、您使用了哪些 starter maven 依赖项?
- 32、什么是 CSRF 攻击?
- 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 MVC 和 Spring 有什么区别?
- 52、什么是 Spring Boot Stater ?
- 53、Spring Boot 还提供了其它的哪些 Starter Project Options?
- 54、Spring 是如何快速创建产品就绪应用程序的?
- 55、创建一个 Spring Boot Project 的最简单的方法是什么?
- 56、Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?
- 57、如何使用 SpringBoot 自动重装我的应用程序?
- 58、 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
- 59、如何在 Spring Boot 中添加通用的 JS 代码?
- 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、RequestMapping 和 GetMapping 的不同之处在哪里?
- 68、为什么我们不建议在实际的应用程序中使用 Spring Data Rest?
- 69、在 Spring Initializer 中,如何改变一个项目的包名字?
- 70、可以配置 application.propertierde 的完整的属性列表在哪里可以找到?
- 71、JPA 和 Hibernate 有哪些区别?
- 72、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?
- 73、如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?
- 74、指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?
- 75、我们如何连接一个像 MSSQL 或者 orcale 一样的外部数据库?
- 76、Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?
- 77、如果 H2 不在类路径里面,会出现上面情况?
- 78、你能否举一个以 ReadOnly 为事务管理的例子?
- 79、发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?
- 80、配置文件的需求是什么?
- 81、如何使用配置文件通过 Spring Boot 配置特定环境的配置?
- 82、我们如何使用Maven设置Spring Boot应用程序?
- 83、如何禁用特定的自动配置?
- 84、Spring boot支持哪些外部配置?
- 85、如何对Spring Boot应用进行测试?
- 86、Spring Boot Actuator有什么用?
- 87、SpringBoot 中静态首页默认位置可以放在哪里?
- 89、SpringBoot 中静态资源直接映射的优先级是怎样的?
- 90、继承 WebMvcConfigurerAdapter 抽象类,常用的重写方法列举几个?
- 91、@SpringBootApplication 引入了哪3个重要的注解?
- 92、@SpringBootApplication 注解中的属性相当于哪几个注解?
哎,这个题目实在是太多太多了,前面列举了14个方向的题就有近1000+
专题15:Spring Cloud
- 1、什么是Spring Cloud?
- 2、使用Spring Cloud有什么优势?
- 3、服务注册和发现是什么意思?Spring Cloud如何实现?
- 4、负载平衡的意义什么?
- 5、什么是 Hystrix?它如何实现容错?
- 6、什么是 Hystrix断路器?我们需要它吗?
- 7、什么是Netflix Feign?它的优点是什么?
- 8、什么是 Spring Cloud Bus?我们需要它吗?
- 9、什么是微服务
- 10、什么是服务熔断?什么是服务降级
- 11、Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
- 12.SpringBoot和SpringCloud的区别?
- 13、什么是Hystrix断路器?我们需要它吗
- 14、说说RPC 的实现原理
- 15、微服务的优点缺点?说下开发项目中遇到的坑?
- 16.spring cloud和dubbo区别?
- 17、REST 和RPC对比
- 18、你所知道的微服务技术栈?
- 19、微服务之间是如何独立通讯的?
- 20、springcloud如何实现服务的注册?
- 21、Eureka和Zookeeper区别
- 22、eureka自我保护机制是什么?
- 23、什么是Ribbon?
- 24、什么是feigin?它的优点是什么?
- 25、Ribbon和Feign的区别?
- 26、什么是Spring Cloud Bus?
- 27、springcloud断路器作用?
- 28、Spring Cloud Gateway?
- 29、作为服务注册中心,Eureka比Zookeeper好在哪里?
- 30、什么是Ribbon负载均衡?
- 31、Ribbon负载均衡能干什么?
- 32、什么是zuul路由网关
- 33、分布式配置中心能干嘛?
- 34、Hystrix相关注解
- 35、Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
专题16:RabbitMQ
- 1、什么是 rabbitmq
- 2、为什么要使用rabbitmq
- 3、使用rabbitmq 的场景
- 4、如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?
- 5、如何避免消息重复投递或重复消费?
- 6、消息基于什么传输?
- 7、消息如何分发?
- 8、消息怎么路由?
- 9、如何确保消息不丢失?
- 10、使用RabbitMQ有什么好处?
- 11、RabbitMQ的集群
- 12、mq的缺点
- 13.Kafka、ActiveMQ、RabbitMQ. RocketMQ都有什么区别?
- 14、如何保证高可用的?
- 15、如何保证消息的可靠传输?如果消息丢了怎么办
- 16、如何保证消息的顺序性
- 17、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决
- 18、设计MQ的思路
- 19、什么是Message?
- 20、什么是Publisher ?
- 21、什么是Exchange(将消息路由给队列)
- 22、什么是Binding (消息队列和交换器之间的关联)
- 23、什么是Queue?
- 24、什么是Connection ?
- 25、什么是Channel?
- 26、什么是Consumer ?
- 27、什么是Virtual Host ?
- 28、什么是Broker?
- 29、Exchange类型?
- 30、Direct 键(routing key)分布?
- 31、Fanout(广播分发)?
- 32.topic交换器(模式匹配)?
专题17: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好?
专题18:MyBatis
- 1、什么是 Mybatis?
- 2、Mybaits 的优点
- 3、MyBatis框架的缺点
- 4、MyBatis框架适用场合
- 5、MyBatis 与 Hibernate有哪些不同?
- 6、#梧和$的区别是什么?
- 7、当实体类中的属性名和表中的字段名不一样,怎么办?
- 8、模糊查询like语句该怎么写?
- 9、通常—个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作l原理是什么? Dao接口里的方法,参数不同时,方法能重载吗?
- 13、如何获取自动生成的(主)键值?
- 14、在mapper 中如何传递多个参数?
- 15、Mybatis动态 sql有什么用?执行原理?有哪些动态sql?
- 16、Xml映射文件中,除了常见的select|insertlupdaeldelete标签之外,还有哪些标签?
- 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实现一对一有几种方式?具体怎么操作的?
专题19:ZooKeeper
- 1、什么是Zookeeper?
- 2、Zookeeper如何保证了分布式一致性特性?
- 3、ZooKeeper提供了什么?
- 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、zookeeper 是如何保证事务的顺序—致性的?
- 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、k的命名服务(文件系统)
- 34、zk的配置管理(文件系统、通知机制)
- 35、Zookeeper 集群管理(文件系统、通知机制)
- 36、Zookeeper分布式锁(文件系统、通知机制)
- 37、Zookeeper队列管理(文件系统、通知机制)
- 38、Zookeeper 角色
- 39、事务编号Zxid(事务请求计数器+epoch)
- 40、epoch
- 41、Zab 协议有两种模式-恢复模式(选主)、广播模式(同步)
- 42.Leader election(选举阶段-选出准Leader)
- 43、Discovery(发现阶段-接受提议、生成epoch、接受epoch)
- 44.Synchronization(同步阶段-同步 follower副本)
- 45、Broadcast(广播阶段-leader消息广播)
- 46、ZAB协议JAVA实现(FLE-发现阶段和同步合并为Recovery Phase (恢复阶段))
- 47、投票机制
- 48、Zookeeper工作原理(原子广播)
- 49、Znode有四种形式的目录节
专题20:数据结构
- 1、栈(stack)
- 2、队列(queue)
- 3、链表(Link)
- 4、散列表(Hash Table)
- 5、排序二叉树
- 6、前缀树
- 7、红黑树
- 8、B-TREE
- 9、位图
专题21:算法
- 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、更多算法练习
专题22:Elasticsearc
- 1.elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段。
- 2、elasticsearch的倒排索引是什么
- 3、elasticsearch索引数据多了怎么办,如何调优,部署
- 4、 elasticsearch是如何实现master 选举的
- 5、详细描述一下Elasticsearch 索引文档的过程
- 6、详细描述一下Elasticsearch搜索的过程?
- 7、Elasticsearch在部署时,对Linux的设置有哪些优化方法
- 8、 lucence内部结构是什么?
- 9、Elasticsearch是如何实现Master选举的?
- 10、Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
- 11、客户端在和集群连接时,如何选择特定的节点执行请求的?
- 12、详细描述一下 Elasticsearch 索引文档的过程。
- 13、详细描述—下Elasticsearch更新和删除文档的过程
- 14、详细描述—下Elasticsearch 搜索的过程
- 15、在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
- 16、Elasticsearch在部署时,对Linux的设置有哪些优化方法?
- 17、对于GC方面,在使用Elasticsearch时要注意什么?
- 18、Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
- 19、在并发情况下,Elasticsearch 如果保证读写一致?
- 20、如何监控Elasticsearch集群状态?
- 21、介绍下你们电商搜索的整体技术架构
- 22、介绍一下你们的个性化搜索方案?
- 23、是否了解字典树?
- 24、拼写纠错是如何实现的?
专题23:Kafka
- 1、Kafka是什么
- 2. partition的数据文件(offset,MessageSize, data)
- 3、数据文件分段segment(顺序读写、分段命令、二分
- 查找)
- 4、负载均衡(partition会均衡分布到不同broker 上)
- 5、批量发送
- 6、压缩(GZIP或 Snappy)7、消费者设计
- 8、Consumer Group
- 9、如何获取topic主题的列表
- 10、生产者和消费者的命令行是什么?
- 11、consumer是推还是拉?
- 12、讲讲 kafka维护消费状态跟踪的方法
- 13、讲一下主从同步
- 14、为什么需要消息系统,mysql不能满足需求吗?
- 15、Zookeeper对于Kafka 的作用是什么?
- 16、Kafka判断一个节点是否还活着有那两个条件?
- 17、Kafka与传统 MQ消息系统之间有三个关键区别
- 18、讲一讲kafka的ack 的三种机制
- 19、消费者如何不自动提交偏移量,由应用提交?
- 20、消费者故障,出现活锁问题如何解决?
- 21、如何控制消费的位置
- 22、kafka分布式(不是单机)的情况下,如何保证消息的顺序消费?
- 23、kafka的高可用机制是什么?24、kafka如何减少数据丢失
专题24:微服务
- 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、什么是 ldempotence 以及它在哪里使用?
- 26、什么是有界上下文?
- 27、什么是双因素身份验证?
- 28、双因素身份验证的凭据类型有哪些?
- 29、什么是客户证书?
- 30、PACT在微服务架构中的用途是什么?
- 31、什么是 OAuth?
- 32、康威定律是什么?
- 33、合同测试你懂什么?
- 34、什么是端到端微服务测试?
- 35、Container在微服务中的用途是什么?1
- 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、什么是微服务中的反应性扩展?
专题25: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、哪个命令专门用来查看后台任务?
- 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、哪一个 bash内置命令能够进行数学运算。
- 45、怎样—页一页地查看一个大文件的内容呢?
- 46、数据字典属于哪一个用户的?
- 47、怎样查看一个linux命令的概要与用法?假设你在/bin目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?
- 48、使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?
最后我想说,关于金三银四Java面试涨薪手册(嵩山版),227页1000+题50w+字解析(题目+完整解析)”整个的题目我在文章里几乎都列举出来了,题目太多了以致答案解析只以截图方式展现部分,且篇幅有限无法在一篇文章里写上所有完整的答案解析,也会影响到观感,所以这里我早已将这份“金三银四Java面试涨薪手册(嵩山版)”整理成一份独立的pdf文件
有需要的朋友可以见下图添加上小助手即可获取到了