行走的Offer收割机,首次公布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 注解

猜你喜欢

转载自blog.csdn.net/Trouvailless/article/details/130884966