前言
无论如何在这两个月的跳槽黄金期 筹备面试是最重要的了,你有规划好自己的复习方向了吗?
我这里收集了一套大厂的面试题包含了答案,技术点概括了:基础、JVM、多线程并发、spring、mybatis、springboot、mysql、Redis、springcloud、Nginx、ZK、kafka、MQ、数据结构与算法、Linux、Elasticsearchi 以及还有简历方面的文案,对你应该会有所帮助!
话不多说,上正题
数据结构与算法面试
- 1.常用的数据结构
- 2.数据里有{1,2,3, 4,5,6,7.8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)
- 3.写出代码判断一 个整数是不是 2 的阶次方( 请代码实现,谢绝调用 API 方法)
- 4.假设今日是 2015 年 3 月 1 日,星期日,请算出 13 个月零 6 天后是星期几,距离现在多少天(请用代码实现,谢绝调用 API 方法)
- 5.有两个篮子,分别为 A 和 B,篮子 A 里装有鸡蛋,篮子 B 里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)
JVM 面试
- 1.知识点汇总
- 2.知识点详解:
- 3.类加载与卸载
- 4.简述一下 JM 的内存模型
- 5.堆和栈的区别
- 6.什么时候会触发 FullC
- 7.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言
- 8.Java 内存结构
- 9.对象分配规则
- 10.描述一下 J 加载 class 文件的原理机制?
- 11.Java 对象创建过程
- 12.类的生命周期
- 13.简述 Javs 的对象结构
- 14.如何判断对象可以被回收?
- 15.JVM 的永久代中会发生垃圾回收么?
- 16.垃圾收集算法
- 17.调优命令有哪些?
- 18.调优工具
- 19.Minor GC 与 Full GC 分别在什么时候发生?
- 20.你知道哪些 JM 性能调优
- 21.JYM 内存分哪几个区,每个区的作用是什么?
- 22.简述 J ava 垃圾回收机制?
- 23.什么是类加载器,类加载器有哪些?”
- 24.你有没有遇到过 OutOfMemory 问题?你是怎么来处理这个问题的?处理过程中有哪些收获?
- 26.跟 JTM 内存相关的几个核心参数图解
- 27.如何启动系统的时候设置 JVM 的启动参数
多线程、并发面试
- 1.Java 中实现多线程有几种方法
- 2.如何停止-个正在运行的线程
- 3.noti fy 0 和 noti fyAll 0 有什么区别?
- 4.sleep 0 和 waitO 有什么区别
- 5.volatile 是什么?可以保证有序性吗?
- 6.Thread 类中的 start0 和 run0 方法有什么区别?
- 7.为什么 wait, notify 和 notifyA11 这些方法不在 thread 类里面?
- 8.为什么 wai t 和 noti fy 方法要在同步块中调用?
- 9.Java 中 interrupted 和 isInterruptedd 方法的区别?
- 10.Java 中 synchronized 和 Reentr antLock 有什么不同?
- 11.有三个线程 T1, T2, T3,如何保证顺序执行?
- 12.Symchr oni Ie dMap 和 C oncurrentHashMap 有什么区别?
- 13.什么是线程安全
- 14.Thread 类中的 yi el a 方法有什么作用?
- 15.Java 线程池中 submitO 和 execute 0 方法有什么区别?
- 16.说-说自己对于 synchronized 关键字的了解
- 17.说说自己是怎么使用 symchronized 关键字,在项目中用到了吗 synchr oni zed 关键字最主要的三种使用方式:
- 18.什么是线程安全? Vector 是一个线程安全类吗?
- 19.volatile 关键字的作用?
- 20.常用的线程池有哪些?
- 21.简述一下你对线程 池的理解
- 22.Java 程序是如何执行的
- 23.说一说自己对于 synchronized 关键字的了解
- 24.说说自己是怎么使用 synchronized 关键字,在项目中用到了吗
- 25.讲一下 synchronired 关键字的底层原理
- 26.为什么要用线程池?
- 27.实现 Runnabl e 接口和 Callable 接口的区别
- 28.执行 execute 0 方法和 submi t0 方法的区别是什么呢?
- 29.如何创建线程池
基础面试
- 1.Java 语言有哪些特点
- 2.面向对象和面向过程的区别
- 3.八种基本数据类型的大小,以及他们的封装类
- 4.标识符