大家好,欢迎来到IT知识分享网。
原文网址:Java后端真实面试题大全(有详细答案)–高频/真题_IT利刃出鞘的博客-CSDN博客
简介
说明
本文分享Java后端面试题,这套题真实、高频、全面、有详细答案、保你稳过面试,让你成为offer收割机。
本套题是我原创,历时两年,纯手打,是我在几十场面试中被面试官问到的问题,比其他复制粘贴的面试题强一百倍,本套题堪称全网最强(我不太喜欢“全网最强”这样的字眼,但本套题确实做到了全网最强)。写这个面试题的原因:我之前找工作时背了其他很多面试题(在线版和PDF版都有),结果面试官的问题几乎都不在里边,导致面试不通过!于是我整理了这套真题,让你稳过面试!
此套面试题的威力:看过这套题的朋友和同事参加了面试后说,他们面试被问到的问题大部分(85%以上)都在这套题里,面试通过率高达90%。
有人说这套题题目太多了,我说:着急的可以看频率为两颗星及以上的题目。
有人说这套题题目太少了,我说:这些题就足够了,已经有很多人验证过。本套题之外的都是面试官几乎不问的,你看它干啥呢?别人那种很多的题目我看过很多,80%以上都是没人问的题目,那些题都是偏题、怪题,或者是过于基础、过于困难。面试跟高考有些类似,你要是题海战术,大概率就是名落孙山,背无数的题却找不到工作。
本套题包含从简单到困难、从高频到低频的题目,适合所有Java求职者,包括:应届生、转行的、三年以内经验的、三到五年经验的、五到十年经验的等。
本套题涵盖了大中小公司的题目,包括:几万人的上市公司(京东、网易这样级别的公司)、几百上千人的中大型公司、一百人以内的中小型公司。
本套题包括:Java基础、多线程、JVM、数据库、Redis、Shiro、Spring、SpringMVC、SpringBoot、MyBatis、MQ、ELK、分布式、SpringCloud、设计模式、线上问题排查等。
看完此套面试题,你不仅能收割offer,吊打面试官,还能形成一套兼有广度和深度的Java技术体系,能帮你更快速的成长为Java高级开发、Java架构师!
其他面试题的特点
其他在线或者PDF的面试题无一例外,都占下边的几项或者全部都占:
- 到处复制粘贴,那些题面试官根本就不问!
- 题目超级多,根本看不完!
- 答案就那么一两行字,不深入,面试官一深入去问就答不上来。
- 不知道哪个题更高频,哪个题更低频,抓不住重点。
以上最终导致:面试过不了!找不到工作!背的面试题都是无用功,浪费时间!
本套面试题的特点
这是一套真实、靠谱的题目。它的特点是:
-
很强大,面试官的问题基本都在这套题里(看过这套题的朋友都说,面试时85%以上的题目都在这些题目里,成为了offer收割机)
-
真实、靠谱(这套题是我在几十场面试中被面试官问到的问题)
-
精选、高频(数量合适,很快就能看完)
-
有难度和频率的标记
-
着急跳槽的可以先只看频率为三颗星及以上的题目,若时间充足再看频率为两颗星、一颗星的题目
-
难度与频率
面试题采用五角星来评判题目的难度和被问到的频率,最高为五颗星。
如果是三年以上的经验,只看难度为三颗星及以上的题目即可。如果是一两年经验,看个人水平,水平好些的可以看一颗星到五颗星所有题目(我知道有这样的朋友:虽然经验少,但爱学习,一两年的经验拥有普通人四五年的技术能力)。
项 |
★ |
★★ |
★★★ |
★★★★ |
★★★★★ |
难度 |
初级 |
初中级 |
中级 |
中高级 |
高级 |
频率 |
很少问到 |
几乎必问 |
粉丝福利:有粉丝私信问我有没有简历模板、PDF书籍、PPT模板等资料,我整理了一下,包含:简历模板、PDF书籍、PPT模板等。这些是我自己也在用的资料,真正实用、靠谱。资料可以从这里免费获取:资料地址
我帮很多朋友、粉丝免费优化过简历,如果需要优化简历可以看这里:简历优化
网址迁移
为便于统一维护和上传源码压缩包等,本面试题将逐渐迁移至此网址:Java后端真实面试题大全 – 自学精灵
新网址是我建立的一个IT技术星球,网站主页是:learn.skyofit.com(自学精灵)。内容有:Java真实面试题、Java设计模式实战、Shiro项目实战、Idea和Navicat的“魔法”教程、SpringBoot进阶、架构与微服务设计、高并发实战、Java入门实战、网站防御技术、JavaWeb入门项目等。本网站的定位:系列文章、高质量、注重实战、贴近实际项目,适合如下人群:入门学Java的、想进阶为高级Java开发的、想进阶为Java架构师的、想跳槽的、想升职加薪的、想防御网站被黑客攻击的。
基础
String
String, StringBuffer, StringBuilder区别(难度:★ 频率:★★★)
Java之String系列–String, StringBuffer, StringBuilder区别_IT利刃出鞘的博客-CSDN博客
String对象数目(难度:★★★ 频率:★)
Java之String系列–创建对象的个数及其原理_IT利刃出鞘的博客-CSDN博客
intern方法的作用(难度:★★★ 频率:★)
Java之String系列–intern方法的作用及原理_IT利刃出鞘的博客-CSDN博客
如何修改String对象的数据?(难度:★★★ 频率:★★)
Java之String系列–String不可变的含义、原因、好处_IT利刃出鞘的博客-CSDN博客
static
static的5种用法(难度:★★ 频率:★)
Java–static–用法/使用位置/实例_IT利刃出鞘的博客-CSDN博客
为什么静态方法不能调用非静态方法和变量?(难度:★★★ 频率:★★★)
与类加载顺序有关,加载静态方法时,非静态的未初始化。见:这里
异常
异常类型(难度:★★ 频率:★★★★)
Java–异常/Exception–类型/原理_IT利刃出鞘的博客-CSDN博客
catch里return了,finally是否执行?(难度:★★ 频率:★)
Java–异常/Exception–try/catch/finally的return顺序_IT利刃出鞘的博客-CSDN博客
IO
字节流与字符流区别?(难度:★★ 频率:★★)
Java–IO–字节流与字符流的区别_IT利刃出鞘的博客-CSDN博客
BIO, NIO, AIO 区别?(难度:★★★ 频率:★)
Java–BIO、NIO、AIO–区别/使用/实例_IT利刃出鞘的博客-CSDN博客
JDK8
JDK8新特性(难度:★★ 频率:★★)
接口允许default和static;lambda;stream;时间新API(LocalDateTime等)CompletableFuture;等
JDK8接口的default和static(难度:★★ 频率:★)
Java–接口–JDK8新特性–详解/实例_IT利刃出鞘的博客-CSDN博客
JDK8 Stream API 流操作包括哪些部分?项目中怎么用的Stream?(难度:★★ 频率:★)
Java–Stream(流)–使用/实例/流操作_IT利刃出鞘的博客-CSDN博客
语法
项目中对泛型的使用(难度:★★ 频率:★★)
Java之泛型系列–泛型的应用_IT利刃出鞘的博客-CSDN博客
接口与抽象类的区别?(难度:★★ 频率:★)
Java–接口与抽象类的区别_IT利刃出鞘的博客-CSDN博客
反射
Java反射:forName和classLoader的区别(难度:★★★ 频率:★)
Java反射系列–通过反射实例化对象_IT利刃出鞘的博客-CSDN博客
反射机制中可以获取private成员的值吗?(难度:★★★ 频率:★)
- 可以。法1:通过setter和getter获得 法2:通过Field类提供的set()和get()方法
- 另见《Java开发实战经典 第2版》=> 15.4 Java反射机制的深入应用
其他
拆箱与装箱(难度:★ 频率:★)
Java–自动拆箱/装箱/实例化顺序/缓存–使用/原理/实例_IT利刃出鞘的博客-CSDN博客
集合
List
List与Set的区别(难度:★ 频率:★)
Java之List系列–ArrayList与LinkedList以及List与数组、Set的区别_IT利刃出鞘的博客-CSDN博客
ArrayList与LinkedList异同点?(难度:★ 频率:★★)
Java之List系列–ArrayList与LinkedList以及List与数组、Set的区别_IT利刃出鞘的博客-CSDN博客
List与数组的区别?(难度:★ 频率:★)
Java之List系列–ArrayList与LinkedList以及List与数组、Set的区别_IT利刃出鞘的博客-CSDN博客
ArrayList是否线程安全?如何线程安全地操作ArrayList?(难度:★★★ 频率:★★★★★)
Java之List系列–ArrayList保证线程安全的方法_IT利刃出鞘的博客-CSDN博客
ArrayList扩容机制(难度:★★★ 频率:★★★★)
ArrayList–扩容的原理_IT利刃出鞘的博客-CSDN博客
List.subList的坑?(难度:★★ 频率:★)
Java的List之坑系列–subList与原始List相互影响_IT利刃出鞘的博客-CSDN博客
List如何安全删除(难度:★★ 频率:★)
Java之List系列–安全删除的方法_IT利刃出鞘的博客-CSDN博客_list 安全删除
List如何去重?(难度:★ 频率:★★)
stream,或:Java之List系列–去重的方法_IT利刃出鞘的博客-CSDN博客
List如何实现排序(难度:★ 频率:★★)
stream,或:Java之List系列–排序的方法_IT利刃出鞘的博客-CSDN博客
为什么引入迭代器?(难度:★★ 频率:★)
Java类集–为什么引入迭代器_IT利刃出鞘的博客-CSDN博客
Map
HashMap、TreeMap、LinkedHashMap的区别?(难度:★★ 频率:★★★★★)
HashMap、TreeMap、LinkedHashMap的区别_IT利刃出鞘的博客-CSDN博客
JDK8的HashMap和ConcurrentHashMap的改变?(难度:★★ 频率:★★★★)
Java之HashMap系列–JDK7与JDK8的HashMap的区别_IT利刃出鞘的博客-CSDN博客
Java之HashMap系列–ConcurrentHashMap的原理_IT利刃出鞘的博客-CSDN博客
HashMap数据结构、哈希冲突解决方法(难度:★★★ 频率:★★★★)
Java之HashMap系列–HashMap的底层原理_IT利刃出鞘的博客-CSDN博客
hash冲突的4种解决方案_IT利刃出鞘的博客-CSDN博客
HashMap扩容的原理(难度:★★★ 频率:★★★★)
Java之HashMap系列–HashMap扩容的原理_IT利刃出鞘的博客-CSDN博客
HashMap为什么线程不安全?如何线程安全地操作?(难度:★★★ 频率:★★★★★)
Java之HashMap系列–保证线程安全的方法_IT利刃出鞘的博客-CSDN博客
ConcurrentHashMap原理?(难度:★★★ 频率:★★★★★)
Java之HashMap系列–ConcurrentHashMap的原理_IT利刃出鞘的博客-CSDN博客
String的hashCode怎么实现的?(难度:★★ 频率:★)
hash:s[0] * 31^(n-1) + s[1] * 31^(n-2) + … + s[n-1]
见:Java之HashMap系列–HashMap的底层原理_IT利刃出鞘的博客-CSDN博客
HashMap和HashSet的区别及其实现原理?(难度:★★ 频率:★)
- HashMap:将key.hashCode()作为hash值存放,将value直接作为value。
- HashSet:调用HashMap的put方法;将key.hashCode()作为hash值存放,将HashSet类的final变量PRESENT作为value。
HashMap如果使用对象最为key,要注意什么?(难度:★★ 频率:★)
- 重写hashCode和equals。
对象比较为什么重写hashCode和equals?(难度:★★ 频率:★)
- 重写equals方法时需要重写hashCode方法,主要是针对Map、Set等集合类型的使用;
- a: Map、Set等集合类型存放的对象必须是唯一的;
- b: 集合类判断两个对象是否相等,是先判断HashCode是否相等,如果HashCode返回TRUE,还要再判断equals返回值是否ture,只有两者都返回ture,才认为该两个对象是相等的。
JVM
运行时数据区
运行时数据区是怎样的?线程安全(即线程私有)的有哪些?(难度:★★ 频率:★★★★)
JVM原理系列–运行时数据区域_IT利刃出鞘的博客-CSDN博客
对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?(难度:★★ 频率:★★)
JVM原理系列–运行时数据区域_IT利刃出鞘的博客-CSDN博客
类加载
Java类加载流程?初始化流程?(难度:★★ 频率:★★★★★)
JVM原理系列–类加载过程(有实例)_IT利刃出鞘的博客-CSDN博客
JVM双亲委派模型(难度:★★★ 频率:★)
JVM原理系列–双亲委派模型_IT利刃出鞘的博客-CSDN博客
内存泄露
Java内存泄露什么时候会发生?(难度:★★ 频率:★★)
Java内存泄露系列–内存泄露的原因及解决方案(大全)_IT利刃出鞘的博客-CSDN博客
为什么内部类持有外部类可能内存泄露?如何解决?(难度:★★ 频率:★)
Java内存泄露系列–内部类持有外部类导致内存泄露–原因/解决方案_IT利刃出鞘的博客-CSDN博客
为什么ThreadLocal会导致内存泄露?如何解决?(难度:★★★ 频率:★★)
Java内存泄露系列–ThreadLocal导致内存泄露–原因/解决方案_IT利刃出鞘的博客-CSDN博客
垃圾回收
JDK8垃圾回收器的流程?(难度:★★★ 频率:★★★★)
JVM垃圾回收系列–内存模型/垃圾回收流程_IT利刃出鞘的博客-CSDN博客
引用类型及其含义(难度:★★ 频率:★★★)
JVM垃圾回收系列–Java引用类型(强引用、软引用、弱引用、虚引用)的区别_IT利刃出鞘的博客-CSDN博客
finalize方法做什么用的?(难度:★ 频率:★)
- 垃圾回收时会调用此方法
可以作为GC.Roots的对象有哪些?(难度:★★★ 频率:★)
JVM垃圾回收系列–可作为GC Roots的对象_IT利刃出鞘的博客-CSDN博客
调用System.gc()会立刻垃圾回收吗?(难度:★★ 频率:★)
JVM垃圾回收系列–Java垃圾回收的原理与触发时机_IT利刃出鞘的博客-CSDN博客
Minor GC和Full GC的触发时机。(难度:★★★ 频率:★★)
JVM垃圾回收系列–Java垃圾回收的原理与触发时机_IT利刃出鞘的博客-CSDN博客
频繁Full GC如何排查(难度:★★★★ 频率:★)
Java问题排查系列–线上问题排查的方法/步骤_IT利刃出鞘的博客-CSDN博客
JDK默认的垃圾回收器是什么?(难度:★★ 频率:★)
JVM垃圾回收系列–垃圾回收器的详解/对比_IT利刃出鞘的博客-CSDN博客
CMS和G1区别(难度:★★★ 频率:★★★)
JVM垃圾回收系列–垃圾回收器–CMS和G1的区别和执行流程_IT利刃出鞘的博客-CSDN博客
CMS与其他老年代垃圾回收器的区别?(难度:★★★ 频率:★)
JVM垃圾回收系列–垃圾回收器的详解/对比_IT利刃出鞘的博客-CSDN博客
JVM调优
JVM通常设置哪些参数来调优?(难度:★★ 频率:★★★★)
JVM调优系列–常用的设置_IT利刃出鞘的博客-CSDN博客
其他
怎么分配堆外内存(难度:★★ 频率:★)
JVM–Java堆外内存–使用/作用_IT利刃出鞘的博客-CSDN博客
多线程
综合
项目中哪些地方用到了多线程?(难度:★★★ 频率:★★★★★)
- 定时任务。 比如:定时处理数据进行统计等
- 异步处理。 比如:发邮件, 记录日志, 发短信等。比如注册成功后发激活邮件
- 批量处理,缩短响应时间。比如:SpringBoot–多线程处理_IT利刃出鞘的博客-CSDN博客
线程的安全性问题体现在哪些方面?(难度:★★ 频率:★)
Java多线程–内存模型(JMM)–详解_IT利刃出鞘的博客-CSDN博客
死锁产生的条件?(难度:★★ 频率:★)
Java多线程–基础知识_IT利刃出鞘的博客-CSDN博客
i++是否线程安全?(难度:★ 频率:★)
- 不是线程安全的。要线程安全可以用java.util.concurrent.atomic
JMM内存结构(难度:★★★ 频率:★★)
Java多线程–内存模型(JMM)–详解_IT利刃出鞘的博客-CSDN博客
synchronized
synchronized用于静态方法与普通方法有区别吗?(难度:★★ 频率:★★)
Java多线程系列–synchronized的使用_IT利刃出鞘的博客-CSDN博客
synchronized锁的升级是怎样的?(难度:★★★ 频率:★)
Java多线程系列–synchronized之锁的升级_IT利刃出鞘的博客-CSDN博客
类库
SimpleDateFormat线程安全吗?怎么保证线程安全?(难度:★★★ 频率:★★★)
SingleDateFormat–线程安全的操作方法–使用/实例_IT利刃出鞘的博客-CSDN博客
线程池
线程池缺点(难度:★★ 频率:★★)
Java线程池系列–为什么使用线程池?优缺点是什么?_IT利刃出鞘的博客-CSDN博客
线程池有哪些参数?(难度:★★ 频率:★★★★★)
Java线程池系列–核心参数/大小设置/使用示例_IT利刃出鞘的博客-CSDN博客
线程池有哪几种?它们分别对应什么队列?(难度:★★ 频率:★★★)
Java线程池系列–线程池的种类(Executors的用法)_IT利刃出鞘的博客-CSDN博客
Java多线程系列–阻塞队列(BlockingQueue)的用法(有实例)_IT利刃出鞘的博客-CSDN博客
CPU密集与IO密集的场景如何设置线程池参数?(难度:★★★ 频率:★★★)
Java线程池系列–核心参数/大小设置/使用示例_IT利刃出鞘的博客-CSDN博客
什么时候触发最大线程条件?(难度:★★ 频率:★★★★★)
Java线程池系列–线程池的原理(执行流程/状态转换)_IT利刃出鞘的博客-CSDN博客
线程池拒绝策略有哪些?默认是哪个?(难度:★★ 频率:★★★★)
Java线程池系列–饱和策略(拒绝策略)的使用(有实例)_IT利刃出鞘的博客-CSDN博客
线程池里的异常时如何处理的?(难度:★★ 频率:★)
Java线程池系列–全局异常处理的方法(有实例)_IT利刃出鞘的博客-CSDN博客
JUC
ReentrantLock显著缺点?(难度:★★★ 频率:★★)
Java多线程系列–ReentrantLock的用法和原理_IT利刃出鞘的博客-CSDN博客
CAS和AQS了解吗?原理是什么(难度:★★★ 频率:★★)
Java多线程系列–CAS的原理和优缺点_IT利刃出鞘的博客-CSDN博客
Java多线程系列–AQS的原理_IT利刃出鞘的博客-CSDN博客
synchronized与ReentrantLock区别?(难度:★★ 频率:★★)
Java多线程系列–synchronized与volatile、ReentrantLock的区别_IT利刃出鞘的博客-CSDN博客
有哪些原子类?用过哪个?(难度:★★★ 频率:★)
Java多线程系列–原子类(atomic)的用法(有实例)_IT利刃出鞘的博客-CSDN博客
项目里用了哪些锁?(难度:★★★ 频率:★★★)
- 单体项目里用到了ReentrantLock、synchronized;
- 单例模式里用到了synchronized
JDK8新增的异步编程了解吗?(难度:★★★ 频率:★)
Java–异步–CompletableFuture–实例_IT利刃出鞘的博客-CSDN博客
多线程顺序交替执行的方法(有三个线程A,B,C,依次打印出A,B,C)(难度:★★★ 频率:★)
- 方案1:
- Java多线程–使用阻塞队列实现顺序消费–方法/实例_IT利刃出鞘的博客-CSDN博客_java 多线程消费队列
- 方案2:模拟阻塞队列
- 使用Object的wait(), notify(),使用一个互斥锁。
MySQL
综合问题
MyISAM与InnoDB区别(难度:★ 频率:★★★★)
MySQL–存储引擎–MyISAM和InnoDB–对比/区别_IT利刃出鞘的博客-CSDN博客
sql注入怎么解决?(难度:★★★ 频率:★★)
数据库–防止SQL注入的方案_IT利刃出鞘的博客-CSDN博客
三大范式(难度:★★ 频率:★)
数据库(SQL)–三大范式–介绍/使用/实例_IT利刃出鞘的博客-CSDN博客
怎么样幂等(难度:★★★ 频率:★★)
数据库–幂等–方案_IT利刃出鞘的博客-CSDN博客
一条SQL查询语句的执行流程(难度:★★ 频率:★★)
MySQL–一条SQL查询语句的执行流程_IT利刃出鞘的博客-CSDN博客
为什么不要用外键?(难度:★★★ 频率:★)
数据库–外键–用法/缺点_IT利刃出鞘的博客-CSDN博客
批量往数据库导入1000万条数据方法?(难度:★★ 频率:★)
- 存储过程
数据库优化方式(难度:★★★ 频率:★)
- 建立索引、字段冗余(减少联表查询)、使用缓存、读写分离、分库分表
怎么调试存储过程(难度:★★ 频率:★)
MySQL工具–dbForge Studio for MySQL_IT利刃出鞘的博客-CSDN博客
MySQL的三种驱动类型 难度:★★ 频率:★)
MySQL–时区/连接器/驱动类型_IT利刃出鞘的博客-CSDN博客
事务
隔离级别是怎样的?脏读、幻读是什么意思?(难度:★★★ 频率:★★★★★)
MySQL隔离级别–脏读/不可重复读/幻读–详解(有示例)_IT利刃出鞘的博客-CSDN博客
隔离级别如何选用?(难度:★★ 频率:★★)
MySQL隔离级别–脏读/不可重复读/幻读–详解(有示例)_IT利刃出鞘的博客-CSDN博客
ACID(难度:★★ 频率:★)
数据库–事务的ACID–介绍/详解_IT利刃出鞘的博客-CSDN博客
隔离级别是如何实现的?(MVCC)(难度:★★★★ 频率:★★)
MySQL原理–隔离级别的实现方式–MVCC_IT利刃出鞘的博客-CSDN博客
快照读与当前读 是怎样的?(难度:★★★★ 频率:★★)
MySQL原理–隔离级别的实现方式–MVCC_IT利刃出鞘的博客-CSDN博客
索引
索引的种类(难度:★★ 频率:★★★)
MySQL–索引的类型_IT利刃出鞘的博客-CSDN博客
数据库使用索引的缺点?(难度:★★ 频率:★★★)
MySQL–索引的优点/缺点/创建索引的原则_IT利刃出鞘的博客-CSDN博客
创建索引的原则(难度:★★ 频率:★★★★)
MySQL–索引的优点/缺点/创建索引的原则_IT利刃出鞘的博客-CSDN博客
索引什么时候会失效(难度:★★ 频率:★★★★★)
MySQL–索引失效–原因/解决方案_IT利刃出鞘的博客-CSDN博客
创建了A, B, C联合索引,使用B,C能否索引(难度:★★★ 频率:★★★★★)
MySQL–联合索引–使用/原理/优化_IT利刃出鞘的博客-CSDN博客
LIKE什么时候走索引,什么时候不走索引?(难度:★★★ 频率:★★★)
MySQL–索引的优化–LIKE模糊查询_IT利刃出鞘的博客-CSDN博客
ORDER BY是否走索引?(难度:★★★ 频率:★★)
MySQL–索引的优化–ORDER BY_IT利刃出鞘的博客-CSDN博客
聚集索引是什么?什么是回表?(难度:★★★★ 频率:★★★★)
MySQL–聚集索引/辅助索引/回表查询/覆盖索引–原理/优化_IT利刃出鞘的博客-CSDN博客
大表分页的优化方法?(难度:★★★★ 频率:★)
MySQL–大数据量的分页优化方案_IT利刃出鞘的博客-CSDN博客
索引原理;为什么采用B+树?(难度:★★★★ 频率:★)
MySQL–索引的原理_IT利刃出鞘的博客-CSDN博客
锁
共享锁与独占锁的区别?(难度:★★ 频率:★)
MySQL–行级锁与表级锁_IT利刃出鞘的博客-CSDN博客
什么时候会死锁?(难度:★★★★ 频率:★)
MySQL–死锁的原因及解决方法_IT利刃出鞘的博客-CSDN博客
分库分表
什么时候考虑分库分表?分库分表要考虑什么问题?(难度:★★★ 频率:★)
数据库–分库分表–方案/切分方式/注意的问题_IT利刃出鞘的博客-CSDN博客
原来没分库分表,后期如何分库分表?(难度:★★★★ 频率:★★)
数据库–单表转分库分表_IT利刃出鞘的博客-CSDN博客
分库分表的中间件(难度:★★ 频率:★★)
- Sharding-JDBC、Mycat
水平分表,有哪些规则?(难度:★★★ 频率:★★★★★)
数据库–分库分表–垂直分表与水平分表_IT利刃出鞘的博客-CSDN博客
如何维护全局的id(难度:★★★ 频率:★★★★★)
分布式–生成数据库全局唯一ID–方法/方案_IT利刃出鞘的博客-CSDN博客
语句
语句类笔试题(难度:★★★ 频率:★)
MySQL–常见业务/笔试题_IT利刃出鞘的博客-CSDN博客
OR与IN的效率?(难度:★★★ 频率:★)
MySQL–SQL语句优化–大全_IT利刃出鞘的博客-CSDN博客
内联结,全(外)联结,左联结,右联结,的含义?(难度:★★ 频率:★)
MySQL–内联结/全联结/左联结/右联结的区别_IT利刃出鞘的博客-CSDN博客
Redis
基本问题
Redis数据类型及其使用场景(难度:★★★ 频率:★★★★★)
Redis–数据类型及其使用场景_IT利刃出鞘的博客-CSDN博客
Redis的数据类型对应的底层结构是怎样的?(难度:★★★★ 频率:★★★)
Redis原理–数据类型的底层实现_IT利刃出鞘的博客-CSDN博客
Redis为什么很快?(难度:★★ 频率:★★★★★)
Redis原理–为什么性能高,速度快?_IT利刃出鞘的博客-CSDN博客
Redis是单线程为什么速度依然快?(难度:★★ 频率:★★)
Redis原理–为什么性能高,速度快?_IT利刃出鞘的博客-CSDN博客
Redis持久化AOF,RDB区别(难度:★★ 频率:★★★★)
Redis持久化_IT利刃出鞘的博客-CSDN博客
持久化:长久下来AOF文件会很大怎么办?(难度:★★★ 频率:★★)
使用重写机制。见:Redis–重写机制(减小AOF文件大小)_IT利刃出鞘的博客-CSDN博客
Redis有哪些原子命令?(难度:★★★ 频率:★)
- Redis所有单个命令都是原子性的。
穿透、无底洞、雪崩、击穿 解决方案?(难度:★★★ 频率:★★★★★)
- Redis–缓存穿透–含义/原因/解决方案_IT利刃出鞘的博客-CSDN博客
- Redis–无底洞–含义/原因/解决方案_IT利刃出鞘的博客-CSDN博客
- Redis–缓存雪崩–含义/原因/解决方案_IT利刃出鞘的博客-CSDN博客
- Redis–缓存击穿–含义/原因/解决方案_IT利刃出鞘的博客-CSDN博客
Redis的发布订阅机制及其使用场景(难度:★★★★ 频率:★★)
Redis–发布订阅–原理/使用场景_IT利刃出鞘的博客-CSDN博客
内存回收机制是怎样的?(或者说:淘汰策略)(难度:★★★ 频率:★★★★)
Redis–内存回收机制(淘汰策略)_IT利刃出鞘的博客-CSDN博客
给一个key怎么知道是用的哪种数据类型?(难度:★ 频率:★)
- 用type命令。例如:type key1
为什么使用Redis,不用Memcache和MongoDB?(难度:★★ 频率:★★)
Redis,Memcache,MongoDB三者的区别_IT利刃出鞘的博客-CSDN博客
Redis与数据库如何同步?各个方式的缺点是什么?(难度:★★★ 频率:★★★)
Redis–保证缓存与数据库的一致性–解决方案_IT利刃出鞘的博客-CSDN博客
Redis很慢,如何排查及解决?(难度:★★★★ 频率:★★)
Redis–变慢原因及排查方法_IT利刃出鞘的博客-CSDN博客
多线程操作同一个Key如何保证一致性?(微服务部署多个实例时如何保证一致性?)(难度:★★★★ 频率:★)
Redis–多线程竞争同一key–解决方案_IT利刃出鞘的博客-CSDN博客
秒杀的时候怎么使用Redis?(难度:★★★★ 频率:★★★)
Redis–秒杀的解决方案_IT利刃出鞘的博客-CSDN博客
布隆过滤器原理?什么时候会误判?(难度:★★★★ 频率:★★★)
Redis–布隆过滤器–使用/原理/实例_IT利刃出鞘的博客-CSDN博客
用Redis如何实现延迟队列?(难度:★★★★ 频率:★)
Redis–延迟队列_IT利刃出鞘的博客-CSDN博客
分布式锁
Redis做分布式锁如何处理超时时间?比如:超时时间是5秒,但要执行20秒,相当于没锁住;超时时间是20秒,但只需执行5秒(浪费)(难度:★★★★ 频率:★★★)
- 设置中等长度的时间,线程执行完删除这个值;另起线程,定期去刷新这个值。Redisson的分布式锁就是这个方案,见:Redisson原理–分布式锁–续期/释放/互斥/可重入_IT利刃出鞘的博客-CSDN博客
Redis实现分布式锁,集群环境如何处理主节点宕机这种情况?(难度:★★★★★ 频率:★)
- 使用RedLock红锁算法:若过半的Redis节点能够加锁成功则表示获取锁成功,类似于zk实现分布式锁方式。见:Redisson原理–红锁/Redlock_IT利刃出鞘的博客-CSDN博客
集群
多节点有哪些部署方式?(难度:★★ 频率:★)
- 主从、哨兵、集群(Cluster)
集群不支持事务,如何解决?(难度:★★★★ 频率:★)
Redis集群–介绍/使用/注意事项_IT利刃出鞘的博客-CSDN博客
主从集群中主节点死了以后,是否还能使用?如何解决?(难度:★★★ 频率:★)
- 可以使用哨兵部署,自动故障转移。
读写分离时读写分别在哪个节点(难度:★★ 频率:★)
- 在主节点上写,在从节点上读。
集群(Cluster)
集群(Cluster)如何进行节点通信?(难度:★★★★ 频率:★★)
Redis集群–节点通信的过程(原理)_IT利刃出鞘的博客-CSDN博客
集群(Cluster)如何进行扩展(伸缩)?(难度:★★★ 频率:★★)
Redis集群–集群伸缩过程(原理)_IT利刃出鞘的博客-CSDN博客
集群(Cluster)如何进行故障转移?(难度:★★★★ 频率:★★)
Redis集群–故障转移过程(原理)_IT利刃出鞘的博客-CSDN博客
设计模式
项目里用到了哪些设计模式,怎么用的?(难度:★★★ 频率:★★★★★)
Java设计模式–在项目中的应用_IT利刃出鞘的博客-CSDN博客
设计模式的原则(难度:★★ 频率:★)
- 这个我老是记不住,我用这个口诀:单开里依接合。对应每个原则的第一个字。
- 见:Java设计模式–原则_IT利刃出鞘的博客-CSDN博客
设计模式的类别(难度:★★ 频率:★)
Java设计模式–分类及功能_IT利刃出鞘的博客-CSDN博客
单例模式的写法?(难度:★★ 频率:★★★★)
Java设计模式–单例模式–使用/详解/实例_IT利刃出鞘的博客-CSDN博客
手写双重检验单例(为什么用volatile,为什么两次if判断)(难度:★★★ 频率:★★★)
Java设计模式–单例模式–使用/详解/实例_IT利刃出鞘的博客-CSDN博客
静态代理与动态代理区别?(难度:★★★ 频率:★★★★★)
Java设计模式–代理模式–静态代理/动态代理–使用/详解/实例_IT利刃出鞘的博客-CSDN博客
框架
Spring
IOC
Spring循环依赖解决方法及原理(难度:★★★★ 频率:★★★★)
- Spring–循环依赖的解决方案–实例_IT利刃出鞘的博客-CSDN博客
- Spring循环依赖的原理系列(三)–原理概述_IT利刃出鞘的博客-CSDN博客
Spring的循环依赖用的是三级缓存,为什么不是两级?(难度:★★★★ 频率:★★)
- Spring–循环依赖的原理(四)–为什么用三级缓存,而不是二级_IT利刃出鞘的博客-CSDN博客
FactoryBean和BeanFactory区别(难度:★★★★ 频率:★★)
- Spring–BeanFactory–使用/原理/详解_IT利刃出鞘的博客-CSDN博客
- Spring–FactoryBean–使用/原理/详解_IT利刃出鞘的博客-CSDN博客
BeanFactory和ApplicationContext区别?(难度:★★★★ 频率:★)
Spring–ApplicationContext–使用/教程/原理_IT利刃出鞘的博客-CSDN博客
bean的生命周期是怎样的(难度:★★★ 频率:★)
Spring–Bean生命周期–流程/原理–SpringBoot_IT利刃出鞘的博客-CSDN博客
Spring几种scope区别(难度:★★★ 频率:★)
Spring–Bean的作用域(scope)–使用/详解_IT利刃出鞘的博客-CSDN博客
Spring容器的生命周期是怎样的?(难度:★★★ 频率:★)
Spring容器生命周期–Lifecycle_IT利刃出鞘的博客-CSDN博客
AOP
AOP有哪几种通知,如果方法执行报异常,哪个通知不会执行?(难度:★★★★ 频率:★)
- 前置,后置,环绕,返回,异常。若报异常,返回不会执行。见:这里
SpringAOP解决了什么问题?(难度:★★★ 频率:★★)
Spring之AOP系列–使用场景/原理_IT利刃出鞘的博客-CSDN博客
SpringAOP实际开发过什么功能?(难度:★★★ 频率:★★★)
Spring之AOP系列–使用场景/原理_IT利刃出鞘的博客-CSDN博客
AOP原理?(难度:★★★★ 频率:★★★★★)
Spring之AOP的原理(一)–概述_IT利刃出鞘的博客-CSDN博客
事务
Spring默认数据里隔离级别是什么?项目里用的哪个?(难度:★★★ 频率:★★)
默认采用数据库的隔离级别。项目里就是用的默认的。见:MySQL隔离级别–脏读/不可重复读/幻读–详解/实例_IT利刃出鞘的博客-CSDN博客
Spring事务失效场景?(难度:★★★★ 频率:★★★★)
Spring(SringBoot)–事务失效–原因/场景/解决方案_IT利刃出鞘的博客-CSDN博客
Spring事务传播机制?(难度:★★★★ 频率:★★)
Spring(SpringBoot)–事务传播机制–应用/实例/详解_IT利刃出鞘的博客-CSDN博客
其他
SpringBoot如何热更新配置?(更新配置后无需重启服务)(难度:★★★ 频率:★)
- 使用@RefreshScope+SpringCloud的配置中心
SpringBoot自动配置原理?(难度:★★★★★ 频率:★)
SpringBoot原理–自动配置_IT利刃出鞘的博客-CSDN博客
SpringMVC
SpringMVC流程(难度:★★★★ 频率:★★★)
SpringMVC原理–请求流程_IT利刃出鞘的博客-CSDN博客
servlet的过滤器、拦截器、AOP的执行顺序 (难度:★★★ 频率:★★)
SpringBoot–过滤器/拦截器/AOP–区别/使用/顺序_IT利刃出鞘的博客-CSDN博客
SpringBoot
SpringBoot的启动流程?(难度:★★★★ 频率:★★★★)
SpringBoot原理–启动流程_IT利刃出鞘的博客-CSDN博客
SpringBoot的动态代理默认用的哪个(cglib还是JDK)?(难度:★★★★ 频率:★★★★)
SpringBoot 1.5.x:默认使用JDK代理,SpringBoot 2.x:默认使用CGLIB代理。
见:Spring之AOP系列–使用场景/原理_IT利刃出鞘的博客-CSDN博客
怎么自己写SpringBootStarter(难度:★★★★ 频率:★)
SpringBoot–自定义SpringBootStarter_IT利刃出鞘的博客-CSDN博客
MyBatis
MyBatis的#与$有什么区别?(难度:★★ 频率:★★★★)
MyBatis–#与$的区别_IT利刃出鞘的博客-CSDN博客
MyBatis的原理?(Mapper是个接口,它的实现类在哪?)(难度:★★★★ 频率:★★)
Spring–Mybatis源码对FactoryBean的应用_IT利刃出鞘的博客-CSDN博客_factorybean 使用
为什么MyBatis与Spring整合二级缓存会失效 ?(难度:★★★★ 频率:★)
MyBatis原理–缓存机制_IT利刃出鞘的博客-CSDN博客
中间件
MQ
综合
RabbitMQ,RocketMQ和Kafka区别(难度:★★ 频率:★★★★★)
RabbitMQ,RocketMQ,Kafka–区别/对比/选型_IT利刃出鞘的博客-CSDN博客
RabbitMQ
RabbitMQ有哪些交换器?RabbitMQ的交换器与队列的关系?(难度:★★ 频率:★★★)
RabbitMQ–交换器类型/队列模式–使用/教程/详解_IT利刃出鞘的博客-CSDN博客
RabbitMQ的消息异常(丢失、重复、顺序、堆积)如何处理?(难度:★★★ 频率:★★★★★)
- RabbitMQ–消息丢失–原因/解决方案_IT利刃出鞘的博客-CSDN博客
- RabbitMQ–消息重复/重复消费–原因/解决方案_IT利刃出鞘的博客-CSDN博客
- RabbitMQ–保证消息消费的顺序性–方案_IT利刃出鞘的博客-CSDN博客
- RabbitMQ–消息堆积/消息积压–解决方案_IT利刃出鞘的博客-CSDN博客
RabbitMQ消息是否会过期?(难度:★★★ 频率:★★)
- 默认不会过期。可以设置过期时间。
- 详见:RabbitMQ–消息的过期时间(TTL)–使用/原理_IT利刃出鞘的博客-CSDN博客
RabbitMQ的消息什么时候会放到死信队列?(难度:★★★ 频率:★)
RabbitMQ–死信队列–使用/原理_IT利刃出鞘的博客-CSDN博客
RabbitMQ的延迟队列是怎样的?(难度:★★★ 频率:★★)
RabbitMQ–延迟队列–使用/原理_IT利刃出鞘的博客-CSDN博客
RabbitMQ的集群有哪几种部署方式?(难度:★★ 频率:★)
- 多机多节点,单机多节点
Kafka
为什么Kafka性能很高(难度:★★★ 频率:★★★)
Kafka原理–为什么吞吐量大、速度快?_IT利刃出鞘的博客-CSDN博客
Kafka的消息异常(丢失、重复)如何处理?(难度:★★★ 频率:★★★★)
- Kafka–消息丢失–原因/解决方案/零丢失的配置_IT利刃出鞘的博客-CSDN博客
- Kafka–消息重复–原因/解决方案_IT利刃出鞘的博客-CSDN博客
Kafka不支持延迟队列,如果用到延迟队列,该如何实现?(难度:★★★★★ 频率:★★★)
Kafka–延迟队列–使用/实现/原理_IT利刃出鞘的博客-CSDN博客
Shiro
Shiro怎么根据url对应权限,流程是什么?(难度:★★★ 频率:★★★)
Shiro–整合jwt–通过url路径控制权限–使用/教程/实例_IT利刃出鞘的博客-CSDN博客
session存放在哪里?(难度:★★ 频率:★)
一般放在Redis。见:Shiro–整合shiro-redis–使用/教程/实例_IT利刃出鞘的博客-CSDN博客
分布式
综合
分布式
CAP理论是什么?Zookeeper和Eureka分别放弃了什么?(难度:★★★ 频率:★★★)
- 分布式–CAP定理_IT利刃出鞘的博客-CSDN博客
- 注册中心–Eureka、Zookeeper、Nacos、Consul–选型/区别_IT利刃出鞘的博客-CSDN博客
分布式锁实现方式(难度:★★★ 频率:★★★★★)
分布式锁–实现方式/方案_IT利刃出鞘的博客-CSDN博客
2PC、3PC、TCC的区别及使用场景?(难度:★★★★ 频率:★★)
分布式事务–理论_IT利刃出鞘的博客-CSDN博客
分布式session共享解决方案(难度:★★★ 频率:★★)
分布式Session–方案_IT利刃出鞘的博客-CSDN博客
为什么微服务一定要有网关?(难度:★★★ 频率:★)
项目软知识–微服务为什么要有网关_IT利刃出鞘的博客-CSDN博客
配置中心
如何把微服务的公共配置给拿出来?(难度:★★ 频率:★)
- 用spring.profiles.include,将公共的配置包含进去。
- 使用Nacos,Nacos支持公共配置
Nacos
Nacos如何续期?(难度:★★★ 频率:★★)
- 这个地方我没看,回答的Eureka的: 见:SpringCloud原理–Eureka–续期/自我保护_IT利刃出鞘的博客-CSDN博客
Nacos支持AP还是CP?(难度:★★★ 频率:★★)
- 两者都支持,选一种即可。(默认是AP)
Zookeeper
Zookeeper注册中心挂了,服务还能否调用?(难度:★★★ 频率:★★)
- 可以,因为客户端还有缓存。见:Dubbo–详解_IT利刃出鞘的博客-CSDN博客
ZK分布式锁,leader节点宕机了,会发生什么?(难度:★★★★ 频率:★)
- 进行选举(过半选举)
RPC
RPC框架有哪些?SpringCloud是否是RPC框架?(难度:★★ 频率:★)
- Dubbo(阿里的)、gRPC(谷歌的),RMI(JAVA自带)、Thrift(Apache的)
- SpringCloud不是rpc框架,它是分布式一整套解决方案,它的feign组件是rpc框架。
SpringCloud与Dubbo的区别?(难度:★★ 频率:★)
Dubbo与SpringCloud区别_IT利刃出鞘的博客-CSDN博客
HTTP与RPC方式的区别?(难度:★★★ 频率:★)
分布式–RPC_IT利刃出鞘的博客-CSDN博客
SpringCloud
主要是:服务注册、负载均衡、限流、降级、熔断。首先要看其原理。
服务注册(Eureka)
Eureka都挂了,服务还能否调用?(难度:★★★ 频率:★★)
- 可以,因为客户端还有缓存。见:SpringCloud原理–Eureka挂了,但微服务还能调通_IT利刃出鞘的博客-CSDN博客
微服务关闭了,但请求还会进来,如何解决?(难度:★★★ 频率:★)
SpringCloud Eureka–关闭微服务后请求还会进来_IT利刃出鞘的博客-CSDN博客
如何续期?如何自我保护?(难度:★★★ 频率:★★)
SpringCloud原理–Eureka–续期/自我保护_IT利刃出鞘的博客-CSDN博客
熔断(Hystrix)(难度:★★★★★ 频率:★)
SpringCloud原理–hystrix的熔断_IT利刃出鞘的博客-CSDN博客
负载均衡(Ribbon)(难度:★★★★★ 频率:★)
SpringCloud原理–ribbon的负载均衡_IT利刃出鞘的博客-CSDN博客
SpringCloud限流用哪些组件?(难度:★★★ 频率:★)
- sentinal、hystrix
配置中心
配置中心的配置修改后,服务不重启可以获得最新配置吗?(难度:★★ 频率:★)
- 可以的。可以使用@RefreshScope结合Nacos。
降级
ELK
正排索引与倒排索引的区别?(难度:★★★ 频率:★)
ElasticSearch–软知识_IT利刃出鞘的博客-CSDN博客
ES如何与数据库(如MySQL)同步数据?(难度:★★★ 频率:★★★)
ElasticSearch–与MySQL同步_IT利刃出鞘的博客-CSDN博客
ES集群的健康状态,绿色、黄色、红色分别什么含义?(难度:★★★ 频率:★★★)
ElasticSearch–排查集群健康状态是Red、Yellow的问题_IT利刃出鞘的博客-CSDN博客
ES写入数据的流程(难度:★★★★★ 频率:★★★)
ElasticSearch–写入数据的流程(原理)_IT利刃出鞘的博客-CSDN博客
ES查询数据的流程(难度:★★★★★ 频率:★★)
ElasticSearch–查询数据的流程(原理)_IT利刃出鞘的博客-CSDN博客
综合
有没有遇到过什么比较复杂的问题,如何排查的?(难度:★★★★ 频率:★★★★★)
Java后端–接口响应慢的排查方法及解决方案_IT利刃出鞘的博客-CSDN博客
阅读过哪些源码?(难度:★★★★ 频率:★★★★)
- Spring循环依赖的原理。见:此文
- MyBatis的原理。见:此文
- Hystrix的原理。见:此文
- feign负载均衡的原理。见:此文
OOM如何排查?(难度:★★★ 频率:★★)
- 使用jprofiler,查看OOM时的堆输出。
Java进程消失,如何排查?(难度:★★★ 频率:★)
Java–进程突然消失–原因/排查方案_IT利刃出鞘的博客-CSDN博客
一个微服务起了多个实例,怎么让定时任务只在一个实例上执行?(难度:★★★ 频率:★)
- 用定时任务中间件。常用的有:XXL-JOB、PowerJob、quartz
如何处理SpringMVC中的异常? (难度:★★ 频率:★★★)
- 用全局异常处理:@ControllerAdvice + @ExceptionHandler。
从用户请求到数据返回的整个流程(难度:★★ 频率:★★★)
用户请求到出现页面流程_IT利刃出鞘的博客-CSDN博客
IaaS,PaaS和SaaS是什么?(难度:★★ 频率:★)
IaaS,Paas,SaaS,DaaS–区别_IT利刃出鞘的博客-CSDN博客
网站常见的安全漏洞有哪些?(难度:★★★ 频率:★)
网站安全漏洞–大全_IT利刃出鞘的博客-CSDN博客
oauth2是干什么用的,流程是怎样的?(难度:★★★★★ 频率:★★)
OAuth2–流程/原理_IT利刃出鞘的博客-CSDN博客
如何不停机更新服务?(难度:★★★★ 频率:★)
SpringBoot项目–如何不停服更新应用?_IT利刃出鞘的博客-CSDN博客
限流算法有哪些?(难度:★★★★★ 频率:★★★)
常见的限流算法的原理以及优缺点_IT利刃出鞘的博客-CSDN博客
杂项
HTTP
HTTPS的详细流程(难度:★★★★ 频率:★★)
HTTPS–流程/原理_IT利刃出鞘的博客-CSDN博客
HTTP消息结构(难度:★★ 频率:★)
HTTP–报文结构_IT利刃出鞘的博客-CSDN博客
HTTP状态码及其含义(难度:★★ 频率:★★)
简记:正完重客服。(1xx:正在处理请求;2xx:请求处理完毕(成功);3xx:重定向(需要附加操作);4xx:客户端错误(导致服务器无法处理请求), 5xx:服务器错误(服务器处理请求出错))。详见:此文
WebCocket,HTTP,Socket区别与联系?(难度:★★ 频率:★)
Http,Socket,Websocket–区别_IT利刃出鞘的博客-CSDN博客
HTTP1.0和HTTP2.0的区别?(难度:★★ 频率:★)
HTTP1.1与HTTP2.0的区别_IT利刃出鞘的博客-CSDN博客
Linux
Linux的5种IO模型(难度:★★★★ 频率:★)
Linux–五种IO模型–详解_IT利刃出鞘的博客-CSDN博客
数据结构与算法
常见排序算法的复杂度及稳定性(难度:★★★ 频率:★★)
排序算法–Java实例/原理_IT利刃出鞘的博客-CSDN博客
常见查找算法的复杂度及稳定性(难度:★★★ 频率:★★)
查找算法–Java实例/原理_IT利刃出鞘的博客-CSDN博客
网络
网络的5层协议的体系结构(难度:★ 频率:★★★)
计算机网络–体系结构(五层模型/七层模型)_IT利刃出鞘的博客-CSDN博客
TCP握手与挥手流程?为什么要三次?四次?(难度:★★★ 频率:★★)
TCP–三次握手和四次挥手_IT利刃出鞘的博客-CSDN博客
TCP如何保证可靠传输?(难度:★★★ 频率:★)
TCP协议如何保证可靠传输_IT利刃出鞘的博客-CSDN博客
服务器怎么主动向客户端主动推送?(难度:★★ 频率:★)
- 客户端去轮询(每秒查询一次);WebSocket;TCP长连接;UDP内网穿透
DNS劫持是怎样的?(难度:★★★ 频率:★)
- 劫持DNS服务器,修改此域名的解析结果为指定IP,导致对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。
Linux无法通过curl获得服务器主页数据如何排查?(难度:★★ 频率:★)
- 关防火墙、看host文件里边是否ip和域名绑定了
两个同网段Linux服务器在不安装客户端情况下如何传递文件?(难度:★ 频率:★)
- scp命令
Linux命令
查看文本文件头部n行。(难度:★ 频率:★)
- head -n 200 filename //200可替换为任一数字
查看文本文件末尾n行。(难度:★ 频率:★)
- tail -n 200 filename //200可替换为任一数字
查看文本文件行数。(难度:★ 频率:★)
- wc -l filename
Netty
Netty 是如何解决 TCP的拆包/粘包问题的?(难度:★★★ 频率:★)
Netty–原理–TCP–粘包与拆包_IT利刃出鞘的博客-CSDN博客
编程题(难度:★★★ 频率:★★)
Java笔试题编程题大全(有详细答案)_IT利刃出鞘的博客-CSDN博客
大数据
大数据量如何统计重复出现的次数?(难度:★★★★★ 频率:★)
大数据处理方案_IT利刃出鞘的博客-CSDN博客
怎么实时统计订单?(难度:★★★★★ 频率:★)
- 使用Storm框架。
要统计10分钟内订单的亏损,你会怎么设计?(难度:★★★★★ 频率:★)
- 使用Storm的窗口模式
要问面试官的问题
面试时需要了解下那个岗位的相关信息,防止踩坑。以下是我整理的技术面、领导面、HR面时要问面试官的问题:
问一面(技术面)面试官
一面(技术面)面试官一般是入职后的直接领导。
- 工作时间,是否双休。
- 上下班时间,中午休息多久(问研发比较准,hr回答的不准)
- 技术栈
- 是单体还是分布式。(不是分布式的话,不建议去了)
- 是否前后端分离。(不是前后端分离的话,不建议去了)
- 技术栈是否够新。如果技术栈里有下边这些玩意,不要去了,这都老掉牙了。
- 前端:struts、jsp (现在都用Vue、React这些了)
- 后端:ssh(现在都是ssm了)
- 问直接上级职业方向
- 问是偏技术还是偏业务。
- 若上级偏技术
- 你能学到比较多的技术;
- 组内代码风格会比较好,好维护。
- 会有一些技术预研的机会。
- 若上级偏业务
- 略
- 若上级偏技术
- 了解直接上级的技术能力
- 问:直接上级写过什么组件,自己造过什么轮子?
- 问:直接上级预研过什么技术并落地?
- 问是偏技术还是偏业务。
- 网络管制
- 有的公司有网络管制,不能上网。(这样的不推荐去)
问二面面试官
二面面试官一般是部门领导。
- 部门研发人员组成
- 后端前端分别多少人。(后端若低于5人,不太好)
- 后端是否都是用Java。(如果同时有PHP、.net、C#等,不太好)
- 主要业务是怎样的
问hr
- 社保公积金
- 五险一金缴纳基数及比例(小公司可能按最低基数缴纳)
- 试用期是否缴纳五险一金(差的公司试用期不缴纳)
- 几号发工资
- 大部分公司10号;少部分15号(15号的一般效益有些差,不太好)
- 试用期薪资发多少
- 大部分公司试用期前三个月发80%(这个没啥关系)
- 年终奖保底几个月
- 除了网上能查到的大公司的年终奖比较准,其他公司年终奖基本是少发或者不发
- 年假和全薪病假分别多少天
- 小公司一般没有全薪病假,可能病假期间薪资打折
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27293.html