关于java:收藏了近千道Java后端高频面试题全部掌握你还怕拿不到心仪的Offer

2次阅读

共计 18479 个字符,预计需要花费 47 分钟才能阅读完成。

前言

在茫茫的互联网陆地中寻寻觅觅,我珍藏了近千道 Java 经典面试题,分享给你们。倡议大家珍藏起来,在茶余饭后拿进去读一读,以备防患未然之需。7 心愿大家都能找到本人现实的 offer 呀。

Java 根底

  1. equals 与 == 的区别
  2. final, finally, finalize 的区别
  3. 重载和重写的区别
  4. 两个对象的 hashCode()雷同,则 equals()是否也肯定为 true?
  5. 抽象类和接口有什么区别
  6. BIO、NIO、AIO 有什么区别?
  7. String,Stringbuffer,StringBuilder 的区别
  8. JAVA 中的几种根本数据类型是什么,各自占用多少字节呢
  9. Comparator 与 Comparable 有什么区别?
  10. String 类能被继承吗,为什么。
  11. 说说 Java 中多态的实现原理
  12. Java 泛型和类型擦除
  13. int 和 Integer 有什么区别,还有 Integer 缓存的实现
  14. 说说反射的用处及实现原理,Java 获取反射的三种办法
  15. 面向对象的特色
  16. & 和 && 的区别
  17. Java 中 IO 流分为几种?
  18. 讲讲类的实例化程序,比方父类静态数据,构造函数,子类静态数据,构造函数。
  19. Java 创建对象有几种形式
  20. 如何将 GB2312 编码的字符串转换为 ISO-8859- 1 编码的字符串呢?
  21. 守护线程是什么?用什么办法实现守护线程
  22. notify()和 notifyAll()有什么区别?
  23. Java 语言是如何解决异样的,关键字 throws、throw、try、catch、finally 怎么应用?
  24. 谈谈 Java 的异样层次结构
  25. 动态外部类与非动态外部类有什么区别区别
  26. String s 与 new String 与有什么区别
  27. 反射中,Class.forName 和 ClassLoader 的区别
  28. JDK 动静代理与 cglib 实现的区别
  29. error 和 exception 的区别,CheckedException,RuntimeException 的区别。
  30. 深拷贝和浅拷贝区别
  31. JDK 和 JRE 有什么区别?
  32. String 类的罕用办法都有那些呢?
  33. 谈谈自定义注解的场景及实现
  34. 说说你相熟的设计模式有哪些?
  35. 形象工厂和工厂办法模式的区别?
  36. 什么是值传递和援用传递?
  37. 能够在 static 环境中拜访非 static 变量吗?
  38. Java 反对多继承么, 为什么?
  39. 用最有效率的办法计算 2 乘以 8?
  40. 结构器是否可被重写?
  41. char 型变量中能不能存贮一个中文汉字,为什么?
  42. 如何实现对象克隆?
  43. object 中定义了哪些办法?
  44. hashCode 的作用是什么?
  45. for-each 与惯例 for 循环的效率比照
  46. 写出几种单例模式实现,懒汉模式和饿汉模式区别
  47. 请列出 5 个运行时异样。
  48. 2 个不相等的对象有可能具备雷同的 hashcode 吗?
  49. 拜访修饰符 public,private,protected, 以及 default 的区别?
  50. 谈谈 final 在 java 中的作用?
  51. java 中的 Math.round(-1.5) 等于多少呢?
  52. String 属于根底的数据类型吗?
  53. 如何将字符串反转呢?
  54. 形容动静代理的几种实现形式,它们别离有什么优缺点
  55. 在本人的代码中,如果创立一个 java.lang.String 类,这个类是否能够被类加载器加载?为什么。
  56. 谈谈你对 java.lang.Object 对象中 hashCode 和 equals 办法的了解。在什么场景下须要从新实现这两个办法。
  57. 在 jdk1.5 中,引入了泛型,泛型的存在是用来解决什么问题。
  58. 什么是序列化,怎么序列化,反序列呢?
  59. java8 的新个性。
  60. 匿名外部类是什么?如何拜访在其里面定义的变量呢?
  61. break 和 continue 有什么区别?
  62. String s = “Hello”;s = s + ” world!”; 这两行代码执行后,原始的 String 对象中的内容是否会扭转?
  63. 怎么将 GB2312 编码的字符串转换为 ISO-8859- 1 编码的字符串?
  64. try-catch-finally-return 执行程序
  65. Java 7 新的 try-with-resources 语句,平时有应用吗
  66. 简述一下面向对象的”六准则一法令”。
  67. switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?
  68. 数组有没有 length()办法?String 有没有 length()办法?
  69. 是否能够从一个动态(static)办法外部收回对非动态(non-static)办法的调用?
  70. String s = new String(“jay”); 创立了几个字符串对象?
  71. 匿名外部类是否能够继承其它类?是否能够实现接口?
  72. 咱们能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的范畴,将会呈现什么景象?
  73. float f=3.4; 正确吗?
  74. 你能写出一个正则表达式来判断一个字符串是否是一个数字吗?
  75. Reader 和 InputStream 区别?
  76. 列举出 JAVA 中 6 个比拟罕用的包
  77. JDK 7 有哪些新个性
  78. 同步和异步有什么区别?
  79. 理论开发中,Java 个别应用什么数据类型来代表价格?
  80. 64 位 JVM 中,int 的长度是少数?
  81. java8 的新个性
  82. 字节流与字符流的区别
  83. Java 事件机制包含哪三个局部?别离介绍下。
  84. 为什么期待和告诉是在 Object 类而不是 Thread 中申明的?
  85. 每个对象都可上锁,这是在 Object 类而不是 Thread 类中申明,为什么呢?
  86. 为什么 char 数组比 Java 中的 String 更适宜存储明码?
  87. 如何应用双重查看锁定在 Java 中创立线程平安的单例?
  88. 如果你的 Serializable 类蕴含一个不可序列化的成员,会产生什么?你是如何解决的?
  89. 什么是 serialVersionUID?如果你不定义这个, 会产生什么?
  90. Java 中,Maven 和 ant,gradle 有什么区别?
  91. 常见的序列化协定有哪些
  92. @transactional 注解在什么状况下会生效,为什么。
  93. Java 中,DOM 和 SAX 解析器有什么不同?
  94. 数组在内存中如何调配;
  95. 什么是 Busy spin?咱们为什么要应用它?
  96. Java 中怎么获取一份线程 dump 文件?
  97. 父类的静态方法是否被子类重写
  98. 什么是不可变对象
  99. 如何正确的退出多层嵌套循环?
  100. SimpleDateFormat 是线程平安的吗? 你个别怎么格式化
  101. 抽象类必须要有形象办法吗?
  102. 怎么实现动静代理?有哪些利用
  103. 什么是外部类?外部类的作用
  104. 泛型中 extends 和 super 的区别
  105. 外部类有几种,在我的项目中的有哪些利用
  106. utf- 8 编码中的中文占几个字节;int 型几个字节?
  107. 说说你对 Java 注解的了解
  108. Java 中 java.util.Date 与 java.sql.Date 有什么区别?
  109. 说一下隐式类型转换
  110. 抽象类能应用 final 润饰吗
  111. 给我一个合乎开闭准则的设计模式的例子
  112. Files 的罕用办法都有哪些
  113. Java 中,Serializable 与 Externalizable 的区别?
  114. Java 锁有哪些品种,它们都有哪些区别
  115. 形象的办法是否可同时是动态的), 是否可同时是本地办法),是否可同时被 synchronized 润饰?
  116. 一个”.java”源文件中是否能够蕴含多个类(不是外部类)?有什么限度?
  117. 说说代理的实现原理
  118. 理解哪设计模式,举例说说在 jdk 源码哪些用到了你说的设计模式
  119. 什么是 B / S 架构?什么是 C / S 架构
  120. Java 有那些开发平台呢?
  121. Java 外部类为什么能够拜访到外部类呢?
  122. Java 反对的数据类型有哪些?什么是主动拆装箱呢?
  123. 创立线程有几种不同的形式
  124. hashCode()和 equals()办法的重要性体现在什么中央?
  125. 如何通过反射获取和设置对象公有字段的值?
  126. 如何通过反射调用对象的办法?
  127. 简述一下面向对象的 ” 六准则一法令 ”
  128. Java 对象不应用时为什么要赋值为 null?
  129. 什么时候用断言(assert)?
  130. AJAX 申请为什么不平安?
  131. 一个 Java 字符串中到底能有多少个字符?
  132. StringBuilder 为什么线程不平安?
  133. 深克隆和浅克隆
  134. 聊一聊设计模式的根本准则
  135. Java 是否自定义一个类叫 java.lang.System?
  136. Java 中的两种异样类型是什么?他们有什么区别?
  137. Java 中 Exception 和 Error 有什么区别?
  138. throw 和 throws 有什么区别?
  139. 异样解决实现当前,Exception 对象会产生什么变动?
  140. 什么是 RMI?
  141. 解释下 Serialization 和 Deserialization。
  142. 环境变量 Path 和 ClassPath 的作用是什么?如何设置这两个环境变量?
  143. 字符型常量和字符串常量的区别
  144. 结构器 Constructor 是否可被 override
  145. 什么是办法的返回值?返回值在类的办法里的作用是什么?
  146. 一个类的构造方法的作用是什么?若一个类没有申明构造方法,改程序能正确执行吗?为什么?
  147. 静态方法和实例办法有何不同?
  148. 对象的相等与指向他们的援用相等,两者有什么不同?
  149. 用 Java 写一个线程平安的单例模式
  150. 我能在不进行强制转换的状况下将一个 double 值赋值给 long 类型的变量吗?
  151. java 枚举类型是否能够继承 (final)?
  152. Cloneable 接口实现原理?
  153. 继承和聚合的区别?
  154. 能用 Java 笼罩静态方法吗?如果我在子类中创立雷同的办法是编译时谬误?
  155. 什么是 Java 程序的主类?应用程序和小程序的主类有何不同?
  156. instanceof 工作中应用过吗?
  157. Java 自带线程池判断线程池是否曾经完结运行的办法叫什么
  158. 成员变量与局部变量的区别有那些?
  159. 创立一个对象用什么运算符? 对象实体与对象援用有何不同?
  160. 一行 Java 代码是如何执行的?

Java 汇合

  1. Arraylist 与 LinkedList 区别
  2. Collections.sort 和 Arrays.sort 的实现原理
  3. HashMap 原理,java8 做了什么扭转
  4. List 和 Set,Map 的区别
  5. poll()办法和 remove()办法的区别?
  6. HashMap,HashTable,ConcurrentHash 的共同点和区别
  7. 写一段代码在遍历 ArrayList 时移除一个元素
  8. Java 中怎么打印数组?
  9. TreeMap 底层?
  10. HashMap 的扩容过程
  11. HashSet 是如何保障不反复的
  12. HashMap 是线程平安的吗,为什么不是线程平安的?死循环问题?
  13. LinkedHashMap 的利用,底层,原理
  14. 哪些汇合类是线程平安的?哪些不平安?
  15. ArrayList 和 Vector 的区别是什么?
  16. Collection 与 Collections 的区别是什么?
  17. 如何决定应用 HashMap 还是 TreeMap?
  18. 如何实现数组和 List 之间的转换?
  19. 迭代器 Iterator 是什么?怎么用,有什么特点?
  20. Iterator 和 ListIterator 有什么区别?
  21. 怎么确保一个汇合不能被批改?
  22. 疾速失败 (fail-fast) 和平安失败 (fail-safe) 的区别是什么?
  23. 什么是 Java 优先级队列(Priority Queue)?
  24. JAVA8 的 ConcurrentHashMap 为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。
  25. 阻塞队列的实现,ArrayBlockingQueue 的底层实现?
  26. Java 中的 LinkedList 是单向链表还是双向链表?
  27. 说一说 ArrayList 的扩容机制吧
  28. HashMap 的长度为什么是 2 的幂次方,以及其余常量定义的含意~
  29. ConcurrenHashMap 原理?1.8 中为什么要用红黑树?
  30. ArrayList 的默认大小
  31. 为何 Collection 不从 Cloneable 和 Serializable 接口继承?
  32. Enumeration 和 Iterator 接口的区别?
  33. 咱们如何对一组对象进行排序?
  34. 当一个汇合被作为参数传递给一个函数时,如何才能够确保函数不能批改它?
  35. 说一下 HashSet 的实现原理?
  36. Array 和 ArrayList 有何区别?
  37. 在 Queue 中 poll()和 remove()有什么区别?
  38. ArrayList 如何删除反复的元素或者指定的元素;
  39. 讲讲红黑树的特点?
  40. Java 汇合类框架的最佳实际有哪些?
  41. Enumeration 接口和 Iterator 接口的区别有哪些?
  42. HashSet 和 TreeSet 有什么区别?
  43. Set 里的元素是不能反复的,那么用什么办法来辨别反复与否呢? 是用 == 还是 equals()?
  44. 说出 ArrayList,LinkedList 的存储性能和个性
  45. Java 中 HashMap 的 key 值要是为类对象则该类须要满足什么条件?
  46. ArrayList 汇合退出 1 万条数据,应该怎么提高效率
  47. 如何对 Object 的 list 排序
  48. ArrayList 和 HashMap 的默认大小是少数?
  49. 有没有有程序的 Map 实现类,如果有,他们是怎么保障有序的
  50. HashMap 是怎么解决哈希抵触的

Java 并发 && 多线程

  1. synchronized 的实现原理以及锁优化?
  2. ThreadLocal 原理,应用留神点,利用场景有哪些?
  3. synchronized 和 ReentrantLock 的区别?
  4. 说说 CountDownLatch 与 CyclicBarrier 区别
  5. Fork/Join 框架的了解
  6. 为什么咱们调用 start()办法时会执行 run()办法,为什么咱们不能间接调用 run()办法?
  7. Java 中的 volatile 要害是什么作用?怎么应用它?在 Java 中它跟 synchronized 办法有什么不同?volatile 的实现原理
  8. CAS?CAS 有什么缺点,如何解决?
  9. 如何检测死锁?怎么预防死锁?死锁四个必要条件
  10. 如果线程过多, 会怎么?
  11. 说说 Semaphore 原理?
  12. AQS 组件,实现原理
  13. 假如有 T1、T2、T3 三个线程,你怎么保障 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?
  14. LockSupport 作用是?
  15. Condition 接口及其实现原理
  16. 说说并发与并行的区别?
  17. 为什么要用线程池?Java 的线程池外部机制,参数作用,几种工作阻塞队列,线程池类型以及应用场景
  18. 如何保障多线程下 i++ 后果正确?
  19. 10 个线程和 2 个线程的同步代码,哪个更容易写?
  20. 什么是多线程环境下的伪共享(false sharing)?
  21. 线程池如何调优,最大数目如何确认?
  22. Java 内存模型?
  23. 怎么实现所有线程在期待某个事件的产生才会去执行?
  24. 说一下 Runnable 和 Callable 有什么区别?
  25. 用 Java 编程一个会导致死锁的程序,你将怎么解决?
  26. 线程的生命周期,线程的几种状态。
  27. ReentrantLock 实现原理
  28. java 并发包 concurrent 及罕用的类
  29. wait(),notify()和 suspend(),resume()之间的区别
  30. FutureTask 是什么?
  31. 一个线程如果呈现了运行时异样会怎么样
  32. 生产者消费者模型的作用是什么
  33. ReadWriteLock 是什么
  34. Java 中用到的线程调度算法是什么?
  35. 线程池中的阻塞队列如果满了怎么办?
  36. 线程池中 submit()和 execute()办法有什么区别?
  37. 介绍一下 AtomicInteger 类的原理?
  38. 多线程锁的降级原理是什么?
  39. 指令重排序,内存栅栏等?
  40. Java 内存模型 happens-before 准则
  41. 偏心锁 / 非偏心锁
  42. 可重入锁
  43. 独享锁、共享锁
  44. 偏差锁 / 轻量级锁 / 重量级锁
  45. 如何保障内存可见性
  46. 非核心线程提早死亡,如何实现?
  47. ConcurrentHashMap 读操作为什么不须要加锁?
  48. ThreadLocal 如何解决 Hash 抵触?
  49. ThreadLocal 的内存泄露是怎么回事?
  50. 为什么 ThreadLocalMap 的 key 是弱援用,设计理念是?
  51. 同步办法和同步代码块的区别是什么?
  52. 在 Java 中 Lock 接口比 synchronized 块的劣势是什么?如果你须要实现一个高效的缓存,它容许多个用户读,但只容许一个用户写,以此来放弃它的完整性,你会怎么去实现它?
  53. 用 Java 实现阻塞队列。
  54. 用 Java 写代码来解决生产者——消费者问题。
  55. 什么是竞争条件?你怎么发现和解决竞争?
  56. 为什么咱们调用 start()办法时会执行 run()办法,为什么咱们不能间接调用 run()办法?
  57. Java 中你怎么唤醒一个阻塞的线程?
  58. 什么是不可变对象,它对写并发利用有什么帮忙?
  59. 你在多线程环境中遇到的独特的问题是什么?你是怎么解决它的?
  60. Java 中能创立 volatile 数组吗
  61. volatile 能使得一个非原子操作变成原子操作吗
  62. 你是如何调用 wait()办法的?应用 if 块还是循环?为什么?
  63. 咱们能创立一个蕴含可变对象的不可变对象吗?
  64. 在多线程环境下,SimpleDateFormat 是线程平安的吗
  65. 为什么 Java 中 wait 办法须要在 synchronized 的办法中调用?
  66. BlockingQueue,CountDownLatch 及 Semeaphore 的应用场景
  67. Java 中 interrupted 和 isInterruptedd 办法的区别?
  68. 怎么检测一个线程是否持有对象监视器
  69. 什么状况会导致线程阻塞
  70. 如何在两个线程间共享数据
  71. Thread.sleep(1000)的作用是什么?
  72. 应用多线程可能带来什么问题
  73. 说说线程的生命周期和状态?
  74. 什么是上下文切换
  75. Java Monitor 的工作机理
  76. 按线程池外部机制,当提交新工作时,有哪些异样要思考。
  77. 线程池都有哪几种工作队列?
  78. 说说几种常见的线程池及应用场景?
  79. 应用无界队列的线程池会导致内存飙升吗?
  80. 为什么阿里公布的 Java 开发手册中强制线程池不容许应用 Executors 去创立?
  81. Future 有缺点嘛?

JVM 篇

  1. 什么状况下会产生栈内存溢出。什么时候产生堆溢出?你是怎么排错的?
  2. JVM 怎么判断对象是可回收对象?有哪些办法。
  3. JVM 的内存构造,新生代与老年代的比例,Eden 和 Survivor 比例。
  4. 你晓得哪几种垃圾收集器,各自的优缺点,重点讲下 cms 和 G1,包含原理,流程,优缺点。
  5. 简略说说你理解的类加载器,能够突破双亲委派么,怎么突破。
  6. JVM 内存为什么要分成新生代,老年代,长久代。新生代中为什么要分为 Eden 和 Survivor。
  7. JVM 呈现 fullGC 很频繁,怎么去线上排查问题?
  8. JVM 中一次残缺的 GC 流程是怎么的,对象如何降职到老年代,说说你晓得的几种次要的 JVM 参数。
  9. 垃圾回收算法的实现原理。
  10. JVM 内存模型的相干常识理解多少,比方重排序,内存屏障,happen-before,主内存,工作内存等。
  11. 说一下 Java 对象的创立过程
  12. 你们线上利用的 JVM 参数配置了哪些。
  13. G1 和 cms 区别。
  14. 怎么打出线程栈信息。
  15. 说一下类加载的执行过程
  16. JVM 垃圾回收机制,何时触发 MinorGC 等操作呢?
  17. ZGC 垃圾收集器,理解过吗
  18. 对象的拜访定位有哪两种形式?
  19. 说一下 jvm 调优的工具?
  20. 对象什么时候会进入老年代?
  21. 内存透露和内存溢出区别?
  22. 什么是 tomcat 类加载机制?
  23. 理解逃逸剖析技术吗
  24. 调用 System.gc()会产生什么?
  25. 谈谈 Minor GC 条件,full GC 条件
  26. Stop The World 理解过吗?
  27. 谈谈你意识多少种 OOM?如何防止 OOM?
  28. 理解过 JVM 调优没,基本思路是什么? 如何确定它们的大小呢?
  29. 淘宝热门商品信息在 JVM 哪个内存区域
  30. 字节码的编译过程
  31. Java 须要开发人员回收内存垃圾吗?
  32. Java 中垃圾回收有什么目标?什么时候进行垃圾回收?
  33. System.gc()和 Runtime.gc()会做什么事件?
  34. 主内存与工作内存
  35. 内存间交互操作
  36. volatile 禁止内存重排序
  37. 内存模型三大个性
  38. 谈谈后行产生准则
  39. JVM 堆内存溢出后,其余线程是否可持续工作?
  40. 说一下 JVM 罕用参数有哪些?
  41. VM 为什么应用元空间替换了永恒代?
  42. Java 堆的构造是什么样子的?什么是堆中的永恒代(Perm Gen space)?
  43. JVM 的永恒代中会产生垃圾回收么?
  44. 什么是字节码?采纳字节码的最大益处是什么?什么 Java 是虚拟机?
  45. MinorGC 的过程
  46. CPU 占用过高如何剖析
  47. Serial 与 Parallel GC 之间的不同之处?
  48. WeakHashMap 是怎么工作的?
  49. 解释 Java 堆空间及 GC?
  50. 你能保障 GC 执行吗?
  51. JVM 中哪个参数是用来控制线程的栈堆栈小的?

数据库

  1. MySQL 索引应用有哪些事项呢?
  2. 说说分库与分表的设计
  3. 日常工作中你是怎么优化 SQL 的?
  4. MySQL 遇到过死锁问题吗,你是如何解决的?
  5. InnoDB 与 MyISAM 的区别
  6. 数据库索引的原理,为什么要用 B+ 树,为什么不必二叉树?
  7. 汇集索引与非汇集索引的区别
  8. limit 100000 加载很慢的话,你是怎么解决的呢?
  9. 如何抉择适合的分布式主键计划呢?
  10. 事务的隔离级别有哪些?MySQL 的默认隔离级别是什么?
  11. 什么是幻读,脏读,不可反复读呢?
  12. 在高并发状况下,如何做到平安的批改同一行数据?
  13. 数据库的乐观锁和乐观锁。
  14. SQL 优化的个别步骤是什么,怎么看执行打算(explain),如何了解其中各个字段的含意。
  15. select for update 有什么含意,会锁表还是锁行还是其余。
  16. MySQL 事务得四大个性以及实现原理
  17. 如果某个表有近千万数据,CRUD 比较慢,如何优化。
  18. 如何写 sql 可能无效的应用到复合索引。
  19. mysql 中 in 和 exists 的区别。
  20. 数据库自增主键可能遇到什么问题。
  21. MVCC 相熟吗,它的底层原理?
  22. 数据库中间件理解过吗,sharding jdbc,mycat?
  23. MYSQL 的主从提早,你怎么解决?
  24. 说一下大表的优化计划
  25. 什么是数据库连接池? 为什么须要数据库连接池呢?
  26. 一条 SQL 语句在 MySQL 中如何执行的?
  27. InnoDB 引擎中的索引策略,理解过吗?
  28. 数据库存储日期格局时,如何思考时区转换问题?
  29. 一条 sql 执行过长的工夫,你如何优化,从哪些方面动手?
  30. MYSQL 数据库服务器性能剖析的办法命令有哪些?
  31. Blob 和 text 有什么区别?
  32. mysql 里记录货币用什么字段类型比拟好?
  33. Mysql 中有哪几种锁,列举一下?
  34. Hash 索引和 B + 树区别是什么?你在设计索引是怎么抉择的?
  35. mysql 的内连贯、左连贯、右连贯有什么区别?
  36. MySQL 的基础架构
  37. 什么是内连贯、外连贯、穿插连贯、笛卡尔积呢?
  38. 说一下数据库的三大范式
  39. mysql 无关权限的表有哪几个呢?
  40. Mysql 的 binlog 有几种录入格局?别离有什么区别?
  41. InnoDB 引擎的 4 大个性,理解过吗
  42. 索引有哪些优缺点?
  43. 索引有哪几种类型?
  44. 创立索引优有什么准则呢?
  45. 创立索引的三种形式
  46. 百万级别或以上的数据,你是如何删除的?
  47. 什么是最左前缀准则?什么是最左匹配准则?
  48. B 树和 B + 树的区别,数据库为什么应用 B + 树而不是 B 树?
  49. 笼罩索引、回表等这些,理解过吗?
  50. B+ 树在满足聚簇索引和笼罩索引的时候不须要回表查问数据?
  51. 什么是聚簇索引?何时应用聚簇索引与非聚簇索引
  52. 非聚簇索引肯定会回表查问吗?
  53. 联结索引是什么?为什么须要留神联结索引中的程序?
  54. 什么是数据库事务?
  55. 隔离级别与锁的关系
  56. 依照锁的粒度分,数据库锁有哪些呢?锁机制与 InnoDB 锁算法
  57. 从锁的类别角度讲,MySQL 都有哪些锁呢?
  58. MySQL 中 InnoDB 引擎的行锁是怎么实现的?
  59. 什么是死锁?怎么解决?
  60. 为什么要应用视图?什么是视图?
  61. 视图有哪些特点?哪些应用场景?
  62. 视图的长处,毛病,讲一下?
  63. count(1)、count(*) 与 count(列名) 的区别?
  64. 什么是游标?
  65. 什么是存储过程?有哪些优缺点?
  66. 什么是触发器?触发器的应用场景有哪些?
  67. MySQL 中都有哪些触发器?
  68. 超键、候选键、主键、外键别离是什么?
  69. SQL 束缚有哪几种呢?
  70. 谈谈六种关联查问,应用场景。
  71. varchar(50)中 50 的涵义
  72. mysql 中 int(20)和 char(20)以及 varchar(20)的区别
  73. drop、delete 与 truncate 的区别
  74. UNION 与 UNION ALL 的区别?
  75. SQL 的生命周期?
  76. 超大分页怎么解决?
  77. 慢查问日志
  78. 关怀过业务零碎外面的 sql 耗时吗?统计过慢查问吗?对慢查问都怎么优化过?
  79. 主键应用自增 ID 还是 UUID,为什么?
  80. mysql 自增主键用完了怎么办?
  81. 字段为什么要求定义为 not null?
  82. 如果要存储用户的明码散列,应该应用什么字段进行存储?
  83. 优化查问过程中的数据拜访
  84. 如何优化长难的查问语句?有实战过吗?
  85. 优化特定类型的查问语句
  86. MySQL 数据库 cpu 飙升的话,要怎么解决呢?
  87. 读写拆散有哪些解决方案?
  88. MySQL 的复制原理以及流程
  89. 备份打算,mysqldump 以及 xtranbackup 的实现原理?
  90. Innodb 的事务实现原理?
  91. 谈谈 MySQL 的 Explain
  92. Innodb 的事务与日志的实现形式
  93. MySQL binlog 的几种日志录入格局以及区别
  94. 500 台 db,在最快工夫之内重启。
  95. 你是如何监控你们的数据库的?你们的慢日志都是怎么查问的?
  96. 你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?
  97. 你们数据库是否反对 emoji 表情存储,如果不反对,如何操作?
  98. MySQL 中 InnoDB 引擎的行锁是通过加在什么上实现 (或称实现) 的?为什么是这样子的?
  99. 一个 6 亿的表 a,一个 3 亿的表 b,通过外间 tid 关联,你如何最快的查问出满足条件的第 50000 到第 50200 中的这 200 条数据记录。
  100. 数据库垂直和程度拆分

缓存 /Redis

  1. Redis 用过哪些数据类型,每种数据类型的应用场景
  2. Redis 缓存穿透、缓存雪崩和缓存击穿起因,以及解决方案
  3. 如何应用 Redis 来实现分布式锁,redis 分布式锁有什么缺点?
  4. Redis 长久化机制,有几种形式,优缺点是什么,怎么实现的,RDB 和 AOF 的区别
  5. Redis 集群,高可用,原理。
  6. Redis 的数据淘汰策略
  7. 为什么要用 redis?为什么要用缓存,在哪些场景应用缓存
  8. redis 事务,理解吗,理解 Redis 事务的 CAS 操作吗
  9. 如何解决 Redis 的并发竞争 Key 问题。
  10. Redis 为什么是单线程的,为什么单线程还这么快?
  11. 如何保障缓存与数据库双写时的数据一致性?
  12. redis 和 memcached 有什么区别
  13. JVM 本地缓存,理解过吗
  14. redis 的 list 构造相干的操作。
  15. redis2 和 redis3 的区别,redis3 外部通信机制。
  16. Redis 的选举算法和流程是怎么的?
  17. Reids 的主从复制机制原理。
  18. Redis 的线程模型是什么?
  19. Redis 的应用要留神什么,讲讲长久化形式,内存设置,集群的利用和优劣势,淘汰策略等。
  20. Redis 缓存分片
  21. redis 的集群怎么同步的数据的?
  22. 请思考一个计划,设计一个能够管制缓存总体大小的主动适应的本地缓存。
  23. redis 的哨兵模式,一个 key 值如何在 redis 集群中找到存储在哪里。
  24. Redis,一个字符串类型的值能存储最大容量是多少?
  25. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保障 redis 中的数据都是热点数据?
  26. Redis 和 Redisson 有什么关系?
  27. Redis 中的管道有什么用?
  28. Redis 事务相干的命令有哪几个?
  29. Redis key 的过期工夫和永恒无效别离怎么设置?
  30. Redis 回收应用的是什么算法?
  31. 一个 Redis 实例最多能寄存多少的 keys?List、Set、Sorted Set 他们最多能寄存多少元素?
  32. Redis—跳跃表,复杂度是多少?
  33. Redis 有哪些优缺点?为什么要用 Redis?
  34. 为什么要用 Redis 而不必 map/guava 做缓存?
  35. 如何用 Redis 统计独立用户访问量?
  36. 如何抉择适合的长久化形式
  37. Redis 长久化数据和缓存怎么做扩容?
  38. Redis key 的过期工夫和永恒无效别离怎么设置?
  39. 咱们晓得通过 expire 来设置 key 的过期工夫,那么对过期的数据怎么解决呢?
  40. Redis 的过期键的删除策略
  41. Redis 的内存用完了会产生什么?
  42. Redis 如何做内存优化?
  43. Redis 事务的三个阶段
  44. Redis 事务相干命令
  45. Redis 事务保障原子性吗,反对回滚吗?
  46. Redis 事务反对隔离性吗?
  47. Redis 集群的主从复制模型是怎么的?
  48. 生产环境中的 redis 是怎么部署的?
  49. 说说 Redis 哈希槽的概念
  50. Redis 集群会有写操作失落吗?为什么?
  51. Redis 集群最大节点个数是多少?
  52. Redis 集群如何抉择数据库?
  53. Redis 是单线程的,如何进步多核 CPU 的利用率?
  54. 为什么要做 Redis 分区?有什么毛病?
  55. 你晓得有哪些 Redis 分区实现计划?
  56. 缓存的实现原理,设计缓存要留神什么
  57. 如何解决 Redis 的并发竞争 Key 问题
  58. 分布式 Redis 是后期做还是前期规模上来了再做好?为什么?
  59. 什么是 RedLock?
  60. Redis 反对的 Java 客户端都有哪些?官网举荐用哪个?
  61. 为什么 Redis 的操作是原子性的,怎么保障原子性
  62. Redis 常见性能问题和解决方案?
  63. 一个字符串类型的值能存储最大容量是多少?
  64. Redis 如何做大量数据插入?
  65. 如果 Redis 外面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀结尾的,如果将它们全副找进去?
  66. 应用 Redis 做过异步队列吗,是如何实现的?
  67. Redis 如何实现延时队列?
  68. Redis 回收过程如何工作的?
  69. 热点数据和冷数据是什么
  70. 应用过 Redis 哪些命令?

因为文章篇幅问题,答案就不全副解析,这些面试题我都曾经整顿成文档,有须要答案的能够关注我的公众号【惊涛骇浪如码】收费获取

计算机网络

  1. 请具体介绍一下 TCP 的三次握手机制,为什么要三次握手?
  2. 讲一下 HTTP 与 HTTPS 的区别。
  3. Session 和 cookie 的区别。
  4. TCP 的四次挥手,为什么要有 TIME_WAIT 状态,为什么须要四次握手
  5. http1.0 和 http1.1 有什么区别。
  6. HTTP 的常见状态码有哪些,代表什么含意?比方 200, 302, 404?
  7. 当你用浏览器关上一个链接到返回后果,产生了什么。
  8. TCP/IP 如何保障可靠性,说说 TCP 头的构造。
  9. GET 与 POST 形式的区别
  10. 如何防止浏览器缓存。
  11. TCP/IP 模型?
  12. 讲一讲 TCP 和 UDP 各有什么特点,两者有什么区别
  13. 具体讲一下 TCP 的滑动窗口
  14. 说一下拥塞管制
  15. 如何了解 HTTP 协定的无状态性。
  16. HTTP 有哪些 method?
  17. HTTP 长连贯和短连贯
  18. HTTPS 原理,加签,验签,什么是数字签名?什么是数字证书?对称加密和非对称加密等。
  19. 谈下你对 IP 地址分类的了解?
  20. ARP 及 RARP 协定的工作原理?
  21. 怎么解决拆包和粘包?
  22. DNS 的解析过程?
  23. 什么是 DoS、DDoS、DRDoS 攻打?如何进攻?
  24. WebSocket 与 socket 的区别
  25. 讲一讲 SYN 超时,洪泛攻打,以及解决策略
  26. ICMP 协定的性能
  27. 什么是 session,有哪些实现 session 的机制?
  28. Http 申请的过程与原理
  29. 你晓得网络协议有那些?
  30. HTTPS 为什么是平安的?说一下他的底层实现原理?
  31. ping 的原理
  32. 如果服务器呈现了大量 CLOSE_WAIT 状态如何解决。
  33. TCP 黏包是怎么产生的?
  34. OSI 七层体系结构路
  35. 由器与交换机的区别
  36. 什么是 XSS 攻打,如何防止
  37. 什么是 CSRF 攻打,如何防止
  38. Https 双向和单向验证的区别
  39. 如果客户端禁止 Cookie 能实现 Session
  40. HTTP 申请中 session 实现原理

音讯队列

  1. 音讯队列有哪些应用场景。
  2. 消息中间件如何解决音讯失落问题?
  3. 谈谈音讯的重发,补充策略。
  4. 如何保障音讯的程序性。
  5. 怎么利用 mq 实现最终一致性?
  6. kafka 和其余音讯队列的区别,kafka 主从同步怎么实现?
  7. MQ 的连贯是线程平安的吗,你们公司的 MQ 服务架构怎么的。
  8. kafka 吞吐量高的起因。
  9. rabbitmq 如何实现集群高可用?
  10. 应用 kafka 有没有遇到什么问题,怎么解决的?
  11. MQ 有可能产生反复生产,如何防止,如何做到幂等?
  12. MQ 的音讯提早了怎么解决,音讯能够设置过期工夫么,过期了你们个别怎么解决?
  13. rabbitmq 有几种播送类型?
  14. 应用 kafka 集群须要留神什么?
  15. 为什么应用音讯队列?有什么用?
  16. 音讯队列有什么长处和毛病?
  17. Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适宜哪些场景?
  18. MQ 是否保障音讯必达,即音讯的可靠性
  19. 大量音讯在 MQ 里长时间积压,该如何解决?
  20. MQ 音讯过期生效怎么办?
  21. kafka 能够脱离 zookeeper 独自应用吗?为什么?
  22. kafka 的分区策略有哪些?
  23. kafka 有几种数据保留策略?
  24. RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
  25. Kafka 音讯是采纳 Pull 模式,还是 Push 模式?
  26. RabbitMQ 有哪些重要组件
  27. 如何确保音讯接管方生产了音讯?
  28. 音讯基于什么传输?
  29. 音讯怎么路由?
  30. 音讯如何散发?

mybatis

  1. mybatis 中 #{}和 ${}的区别是什么?
  2. 什么是 SQL 注入,如何防止。
  3. 说一下 mybatis 的一级缓存和二级缓存
  4. mybatis 是否反对提早加载?提早加载的原理是什么?
  5. mybatis 动静 sql 中应用 <where style=”margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box; word-wrap: break-word !important;”> 标签与间接写 where 关键字有什么区别?</where>
  6. mybatis 动静 sql 标签中循环标签中有哪些属性,各自的作用。
  7. mybatis 和 hibernate 的区别有哪些?
  8. RowBounds 是一次性查问全副后果吗?为什么?
  9. MyBatis 定义的接口,怎么找到实现的?
  10. Mybatis 的底层实现原理。
  11. Mybatis 是如何进行分页的?分页插件的原理是什么?
  12. Mybatis 执行批量插入,能返回数据库主键列表吗?
  13. Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么?
  14. Mybatis 动静 sql 有什么用?执行原理?有哪些动静 sql?
  15. mybatis 有几种分页形式?
  16. MyBatis 框架的长处和毛病
  17. 应用 MyBatis 框架,当实体类中的属性名和表中的字段名不一样,怎么办?
  18. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的办法,参数不同时,办法能重载吗?
  19. Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?
  20. 简述 Mybatis 的插件运行原理,以及如何编写一个插件。

操作系统

  1. Linux 零碎下你关注过哪些内核参数,说说你晓得的。
  2. epoll 和 poll 有什么区别。
  3. 线上 CPU 爆高,请问你如何找到问题所在。
  4. Linux 下 IO 模型有几种,各自的含意是什么。
  5. top 命令之后有哪些内容,有什么作用。
  6. 过程通信有几种形式?
  7. 说说过程的调度算法
  8. 常见的几种内存管理机制
  9. 什么是虚拟内存(Virtual Memory)?
  10. 内存置换算法
  11. 虚拟地址、逻辑地址、线性地址、物理地址的区别。
  12. 操作系统的页式存储
  13. 过程和线程的区别
  14. socket 客户端和服务端通信过程
  15. 影响调度程序的指标是什么?
  16. 过程间状态有哪些?
  17. 一个线程在内存中如何存储?
  18. 僵尸过程是什么,如果产生一个僵尸过程,如何查找僵尸过程
  19. 一个过程有 20 个线程,在某个线程中调用 fork,新的过程会有 20 个线程吗?
  20. 什么是 RR 调度算法?
  21. 什么是 DMA(间接内存拜访)?

Spring 相干

  1. BeanFactory 和 ApplicationContext 有什么区别?
  2. Spring IOC 的了解,其初始化过程
  3. Spring Bean 的生命周期
  4. Spring MVC 的工作原理?
  5. Spring 循环注入的原理?
  6. Spring 中用到了那些设计模式?
  7. Spring AOP 的了解,各个术语,他们是怎么互相工作的?
  8. Spring 框架中的单例 bean 是线程平安的吗?
  9. Spring @ Resource 和 Autowired 有什么区别?
  10. Spring 的不同事务流传行为有哪些,有什么作用?
  11. Spring Bean 的加载过程是怎么的?
  12. 请举例说明 @Qualifier 注解
  13. Spring 是如何治理事务的,事务管理机制?
  14. 应用 Spring 框架的益处是什么?
  15. Spring 由哪些模块组成?
  16. ApplicationContext 通常的实现是什么?
  17. 什么是 Spring 的依赖注入?
  18. 你怎么定义类的作用域?
  19. Spring 框架中的单例 bean 是线程平安的吗?
  20. 你能够在 Spring 中注入一个 null 和一个空字符串吗?
  21. 你能说下 Spring Boot 与 Spring 的区别吗
  22. SpringBoot 的主动配置是怎么做的?
  23. @RequestMapping 的作用是什么?
  24. spring boot 有哪些形式能够实现热部署?
  25. 说说 Ioc 容器的加载过程
  26. 为什么 Spring 中的 bean 默认为单例?
  27. 说说 Spring 中的 @Configuration
  28. FileSystemResource 和 ClassPathResource 有何区别?
  29. 什么是 Swagger?你用 Spring Boot 实现了它吗?
  30. spring 的 controller 是单例还是多例,怎么保障并发的平安。
  31. 说一下 Spring 的外围模块
  32. 如何向 Spring Bean 中注入一个 Java.util.Properties
  33. 如何给 Spring 容器提供配置元数据?
  34. 如何在 Spring 中如何注入一个 java 汇合,实现过吗?
  35. 什么是基于 Java 的 Spring 注解配置? 举几个例子?
  36. 怎么开启注解拆卸?
  37. Spring 反对哪些事务管理类型
  38. 在 Spring AOP 中,关注点和横切关注的区别是什么?
  39. spring 中有多少种 IOC 容器?
  40. 形容一下 DispatcherServlet 的工作流程
  41. 介绍一下 WebApplicationContext 吧
  42. Spring Boot 的配置文件有哪几种格局?它们有什么区别?
  43. Spring Boot 须要独立的容器运行吗?
  44. Spring Boot 主动配置原理是什么?
  45. RequestMapping 和 GetMapping 的不同之处在哪里?
  46. 如何应用 Spring Boot 实现异样解决?
  47. Spring Boot 中如何解决跨域问题 ?
  48. Spring Boot 如何实现热部署 ?
  49. Spring Boot 打成的 jar 和一般的 jar 有什么区别呢?
  50. bootstrap.properties 和 application.properties 有何区别 ?
  51. springboot 启动机制

因为文章篇幅问题,答案就不全副解析,这些面试题我都曾经整顿成文档,有须要答案的能够关注我的公众号【惊涛骇浪如码】收费获取

Netty/tomcat

  1. BIO、NIO 和 AIO 区别
  2. 说一下 Netty 的各大组件
  3. Netty 线程模型和 Reactor 模式
  4. 什么是 Netty 的零拷贝?
  5. NIO 的底层实现。
  6. netty 的心跳解决在弱网下怎么办
  7. Netty 高性能体现在哪些方面?
  8. Netty 和 Tomcat 有什么区别?
  9. Netty 发送音讯有几种形式?
  10. 默认状况 Netty 起多少线程?何时启动?
  11. Netty 反对哪些心跳类型设置?
  12. Java 中怎么创立 ByteBuffer
  13. Java 中的内存映射缓存区是什么?
  14. 简略讲讲 tomcat 构造,以及其类加载器流程,线程模型等
  15. tomcat 如何调优,波及哪些参数
  16. IO 多路复用机制
  17. Netty 的利用场景有哪些?
  18. 有几种 I /O 网络模型?
  19. 说说 Netty 的执行流程?
  20. select、poll、epoll 的机制及其区别?

罕用 Linux 命令

  1. 批改目录,文件权限的命令
  2. 如何获取一个本地服务器上可用的端口。
  3. 说说常见的 linux 命令,linux 查看内存的命令是什么?
  4. 查看零碎磁盘空间残余状况的命令
  5. 如何获取 java 过程的 pid
  6. 如何获取某个过程的网络端口号;
  7. 如何实时打印日志
  8. 如何统计某个字符串行数;
  9. 用一行命令查看文件的最初五行。
  10. 用一行命令输入正在运行的 java 过程。
  11. 绝对路径,当前目录、下层目录,切换目录别离用什么命令?
  12. 怎么清屏?怎么退出以后命令?
  13. 目录创立,创立文件,复制文件别离用什么命令?
  14. 查看文件内容有哪些命令能够应用?tail?cat?less?more?
  15. 怎么使一个命令在后盾运行?
  16. 终止过程用什么命令? 带什么参数? kill-9 pid 有什么危险?
  17. 搜寻文件用什么命令? 格局是怎么样的?
  18. 应用什么命令查看网络是否连通?
  19. 应用什么命令查看 ip 地址及接口信息?
  20. awk 详解

ZooKeeper

  1. Zookeeper 的用处,选举的原理是什么。
  2. Zookeeper watch 机制原理。
  3. zookeeper 怎么保障主从节点的状态同步?
  4. 集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还能够应用吗?
  5. zookeeper 都有哪些性能?
  6. 什么是 paxos 算法,什么是 zab 协定。
  7. zookeeper 是如何保障事务的程序一致性的?
  8. zookeeper 负载平衡和 nginx 负载平衡区别
  9. Zookeeper 的典型利用场景
  10. 说说四种类型的数据节点 Znode
  11. Zookeeper 的服务器角色(Leader,Follower,Observer)
  12. Zookeeper 有哪几种几种部署模式?

Elasticsearch

  1. 详细描述一下 Elasticsearch 索引文档的过程。
  2. 详细描述一下 Elasticsearch 搜寻的过程。
  3. Elasticsearch 的倒排索引是什么。
  4. Elasticsearch 是如何实现 master 选举的。
  5. lucence 内部结构是什么。
  6. Lucene 全文搜寻的原理
  7. 在并发状况下,Elasticsearch 如何保障读写统一呢?
  8. 具体论述一下 Elasticsearch 搜寻的过程。
  9. Elasticsearch 索引数据多了怎么办呢,如何调优,部署
  10. Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

dubbo 框架

  1. Dubbo 的服务申请失败怎么解决
  2. dubbo 的负载平衡有几种算法?(随机,轮询,起码沉闷申请数,一致性 hash)
  3. Dubbo 和 Spring Cloud 有什么区别?
  4. dubbo 都反对什么协定,举荐用哪种?
  5. 画一画服务注册与发现的流程图
  6. Dubbo 默认应用什么注册核心,还有别的抉择吗?
  7. 在 Provider 上能够配置的 Consumer 端的属性有哪些?
  8. Dubbo 启动时如果依赖的服务不可用会怎么?
  9. Dubbo 举荐应用什么序列化框架,你晓得的还有哪些?
  10. Dubbo 默认应用的是什么通信框架,还有别的抉择吗?
  11. 服务上线怎么兼容旧版本?
  12. Dubbo 服务之间的调用是阻塞的吗?
  13. Dubbo telnet 命令能做什么?
  14. Dubbo 如何一条链接并发多个调用。
  15. Dubbo 的应用场景有哪些?
  16. Dubbo 外围性能有哪些?
  17. Dubbo 外围组件有哪些?
  18. Dubbo 服务器注册于发现的流程?
  19. Dubbo 反对哪些协定,它们的优缺点有哪些?
  20. Dubbo 的注册核心集群挂掉,发布者和订阅者之间还能通信么?
  21. Dubbo 源码应用了哪些设计模式
  22. Dubbo 集群提供了哪些负载平衡策略?
  23. Dubbo 的集群容错计划有哪些?
  24. Dubbo 反对哪些序列化形式?
  25. Dubbo 超时重试,Dubbo 超时工夫设置

spring cloud

  1. Eureka 和 Zookeeper 区别
  2. 什么是服务熔断?什么是服务降级?
  3. 什么是 Ribbon?
  4. 什么是 Netflix Feign?它的长处是什么?
  5. Ribbon 和 Feign 的区别?
  6. 什么是 Spring Cloud Bus?
  7. Spring Cloud Gateway?
  8. 什么是 SpringCloudConfig?
  9. 什么是 Hystrix?它如何实现容错?
  10. 什么是微服务?微服务优缺点
  11. Sentinel,微服务哨兵,理解过吗

nginx

  1. Nginx 的模块与工作原理是什么?
  2. Nginx 是什么?有什么作用?
  3. 说说 Nginx 的一些个性。
  4. 请说一下 Nginx 如何解决 HTTP 申请。
  5. 你晓得,Nginx 服务器上的 Master 和 Worker 过程别离是什么吗?
  6. nginx 常用命令,启动,重启,查看配置文件等
  7. Nginx 和 Apache 比拟,各有什么优缺点?
  8. Nginx 多过程模型是如何实现高并发的?
  9. 说说 Nginx 的反向代理和负载平衡
  10. 请列举 Nginx 服务器的最佳用处。

算法

  1. 谈一谈一致性哈希算法。
  2. 快排怎么实现
  3. 手写二分查找
  4. 如何判断一个单链表是否有环
  5. 均衡二叉树的工夫复杂度;
  6. 反转单链表
  7. 合并多个单有序链表
  8. LRU 淘汰算法,用 java 本人实现一个 LRU。
  9. 跳表和均衡树区别
  10. 你理解大 O 符号 (big-O notation) 么?你能给出不同数据结构的例子么?
  11. 如何手撸一个队列?
  12. 10 亿个数字里外面找最小的 10 个。
  13. 均衡二叉树的工夫复杂度;
  14. 有 1 亿个数字,其中有 2 个是反复的,疾速找到它,工夫和空间要最优。
  15. 八大根本排序的工夫,空间复杂度
  16. 堆排序的原理
  17. 树的几种遍历形式
  18. 递归算法
  19. 一个乱序数组,求第 K 大的数。排序形式应用字典序。
  20. 一棵二叉树,求最大通路长度。
  21. 万亿级别的两个 URL 文件 A 和 B,如何求出 A 和 B 的差集 C,(Bit 映射 ->hash 分组 -> 多文件读写效率 -> 磁盘寻址以及应用层面对寻址的优化)
  22. 最快的排序算法是哪个?给阿里 2 万多名员工按年龄排序应该抉择哪个算法?堆和树的区别;写出快排代码;链表逆序代码
  23. LeetCode 的经典算法题目,都要刷一遍以上哈~

分布式

  1. 说说分布式事务?分布式事务的解决方案
  2. 什么是分布式系统?
  3. 讲讲 CAP 理念。
  4. 怎么了解强一致性、枯燥一致性和最终一致性?
  5. 如何实现分布式锁?
  6. 如何实现分布式 Session?
  7. 负载平衡的了解?
  8. 分布式集群下如何做到惟一序列号?
  9. 分布式事务
  10. 什么是一致性 hash。

零碎设计 / 方案设计

  1. 谈谈如何设计秒杀零碎。
  2. 一千万的用户实时排名如何实现;
  3. 五万人并发抢票怎么实现
  4. 手机扫二维码登录是怎么实现的?
  5. Google 是如何在一秒内把搜寻后果返回给用户的。
  6. 12306 网站的订票零碎如何实现,如何保障不会票不被超卖。
  7. 如果有几十亿的白名单,每天白天须要高并发查问,早晨须要更新一次,如何设计这个性能。
  8. 接口的幂等性如何设计
  9. 如何设计存储海量数据的存储系统
  10. 分布式 session 如何治理,你有哪些计划
  11. 讲一下如何给高并发零碎做限流?
  12. 应用 SpringBoot 如何开发邮件发送零碎?
  13. 你如何设计一个能抗住大流量的零碎,说说设计方案
  14. 如何设计一个高并发的零碎?
  15. 数据量大的状况下分页查问很慢,有什么优化计划?
  16. 设计一个秒杀零碎,30 分钟没付款就主动敞开交易。
  17. 如何应用 redis 和 zookeeper 实现分布式锁?有什么区别优缺点,会有什么问题,别离实用什么
  18. 如何设计一个平安的 API 接口。
  19. 线上零碎忽然变得异样迟缓,你如何查找问题。
  20. 设计一个社交网站中的“私信”性能,要求高并发、可扩大等等。画一下架构图。
  21. 后盾零碎怎么避免申请反复提交
  22. 讲讲你了解的服务治理。
  23. 执行某操作,前 50 次胜利,第 51 次失败 a 全副回滚 b 前 50 次提交第 51 次抛异样,ab 场景别离如何设置
  24. 一个大的含有 50M 个 URL 的记录,一个小的含有 500 个 URL 的记录,找出两个记录里雷同的 URL
  25. 海量日志数据,提取出某日拜访百度次数最多的那个 IP
  26. 1000 个线程同时运行,怎么避免不卡
  27. 设计一个分布式自增 id 生成服务

总结

对于程序员来说,学历要求曾经相当宽松了,所以对于程序员来说,起跑线都是一样的,没有什么拿不下的 offer,只有不够硬气的能力。

不论怎么样,早做筹备对本人的面试必定是有帮忙的,因为文章篇幅问题,答案就不全副解析,这些面试题我都曾经整顿成文档,有须要答案的能够关注我的公众号【惊涛骇浪如码】收费获取,或者能够在明年金三银四里助你一臂之力。心愿大家都能找到本人现实的 offer。

正文完
 0