Kubernetes简介
Kubernetes(简称K8S,K和S之间有8个字母)是用于自动部署,扩展和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自Google 15 年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。
Kubernetes具有如下特性:
- 服务发现与负载均衡:无需修改你的应用程序即可使用陌生的服务发现机制。
- 存储编排:自动挂载所选存储系统,包括本地存储。
- Secret和配置管理:部署更新Secrets和应用程序的配置时不必重新构建容器镜像,且不必将软件堆栈配置中的秘密信息暴露出来。
- 批量执行:除了服务之外,Kubernetes还可以管理你的批处理和CI工作负载,在期望时替换掉失效的容器。
- 水平扩缩:使用一个简单的命令、一个UI或基于CPU使用情况自动对应用程序进行扩缩。
- 自动化上线和回滚:Kubernetes会分步骤地将针对应用或其配置的更改上线,同时监视应用程序运行状况以确保你不会同时终止所有实例。
- 自动装箱:根据资源需求和其他约束自动放置容器,同时避免影响可用性。
- 自我修复:重新启动失败的容器,在节点死亡时替换并重新调度容器,杀死不响应用户定义的健康检查的容器。
Java基础
1.Java语言的三大特性
2.Java语言主要特性
3. JDK和JRE有什么区别
4.Java基本数据类型及其封装类
5.如果main方法被声明为private会怎样?
6.说明- -下public static void main(String argsQ])这段声明里每个关键字的作用
7.==与equals的区别
8.Object有哪些公用方法
9.为什么Java里没有全局变量?
10.while循环和do循环有什么不同?
11.char型变量中能不能存储一个中文汉字?为什么?
12.public, private, protected的区别, 继承方法与访问权限
13.float f=3.4;是否正确?
14.shorts1 = 1;s1 = s1 + 1;有错吗? shorts1 = 1;s1 += 1;有错吗
15.8u和&:&的区别?
16.IntegerCache
17.Locale类是什么?
18Java中final. finally. finalize的区别与用法
19.hashCode0和equals0的区别
20.深拷贝和浅拷贝的区别是什么?
21Java中操作字符串都有哪些类?它们之间有什么区别?
22.String str= "a"与String str=new String(“a”)-样吗?
23.抽象类能使用final 修饰吗?
24.static关键字5连问
25.重载(Overload) 和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?
26.Java的四种引用
27.Java中Comparator与Comparable有什么不同?
28. Java序列化,反序列化?
29.什么情况需要Java序列化?
30.序列化的实现?
31.如果某些数据不想序列化,如何处理?
IO&NIO
1.什么是I0流?
2java中有几种类型的流?
3.字节流和字符流哪个好?怎么选择?
4.读取数据量大的文件时,速度会很慢,如何选择流?
5.1O模型有几种?
6.阻塞1O (blocking 10)
7.非阻塞I/O (nonblocking 10)
8.I/O多路复用模型(I0 multiplexing)
9.信号驱动I/O模型
10.异步/O(asynchronous 10)
11.NIO与10的区别?
12.NIO和IO适用场景
13.NIO核心组件
14.什么是channel
15.Java NIO中最常用的通道实现?
16.Buffer是什么?
多线程面试题
1.什么是进程?
2.什么是线程?
3.线程的实现方式?
4.Thread类中的start0和run0方法有什么区别?
5.线程NEW状态
6.线程RUNNABLE状态
7.线程的RUNNING状态
8.线程的BLOCKED状态
9.线程的TERMINATED状态
10.线程状态转化图
11.i——与System.out.printIn0的异常
12.如何知道代码段被哪个线程调用?
13.线程活动状态?
14.sleep0方法
15.如何优雅的设置睡民时间?
16.停止线程
17.interrupted和isInterrupted
18.yield
19.线程的优先级
20.优先级继承特性
21.谁跑的更快?
22.线程种类
23.守护线程的特点
24.Java中典型的守护线程
25.如何设置守护线程
25Java虚拟机退出时Daemon线程中的finally块一定会执行?
26.设置线程上下文类加载器
27.join
28.什么是synchronized?
29.synchronized包括哪两个jvm重要的指令?
30.synchronized关键字用法?
31.synchronized锁的是什么?
32.Java对象头
还有很多,这里就不一一例举了
JVM
1JDK. JRE、 JVM关系?
2.启动程序如何查看加载了哪些类,以及加载顺序? ’
3. class字节码文件10个主要组成部分?
4.画一下jvm内存结构图?
5.程序计数器
6Java虚拟机栈
7.本地方法栈
8Java堆
9.方法区
10.运行时常量池?
11.什么时候抛出StackOverflowError?
12.Java7和Java8在内存模型上有什么区别?
13.程序员最关注的两个内存区域?
14.直接内存是什么?
15.除了哪个区域外,虚拟机内存其他运行时区域都会发生OutOfMeoryError?
16.什么情况下会出现堆内存溢出?
17如何实现一个堆内存溢出?
18.空间什么情况下会抛出OutOfMemoryError?
19.如何实现StrackOverflowError?
20.如何设置直接内存容量?
21.Java堆内存组成?
22. Edem : from : to默认比例是?
23.垃圾标记阶段?
24.引用计数法?
25.根搜索算法?
26.JVM中三种常见的垃圾收集算法?
27.标记-清除算法?
28.复制算法?
29.标记-整理算法?
30.分代收集算法?
31.垃圾收集器?
32.Stop The World?
Mysql
1.什么是数据库?
2.如何查看某个操作的语法?
3.MySql的存储弓擎有哪些?
4.常用的2种存储引擎?
6.可以针对表设置引擎吗?如何设置?
6.选择合适的存储引擎?
7.选择合适的数据类型
8.char & varchar
9.Mysq|字符集
10.如何选择字符集?
11.什么是索引?
12.索引设计原则?
13.MySq|有哪些索引?
14.Hash索引和B+树索引的底层实现原理:
15.非聚簇索引-定会回表查询吗?
16.如何查询最后一 行记录?
17.MySQL自增id不连续问题?
18.sq注入问题?
19.什么是3NF (范式) ?
20. NULL和空串判断?
21.什么是事务?
22.事务4个特性?
23.事务隔离级别分别是?
24.InnoDB默认事务隔离级别?如何查看当前隔离级别
25.什么是锁?
26.死锁?
27.如何处理死锁?
28.如何创建用户?授权?
29.如何查看表结构?
30.Mysq删除表的几种方式?区别?
31.like走索引吗?
Spring
1.Spring框架?
2.Spring的整体架构?
3.Spring可以做什么?
4.Spring的优点?缺点?
5.你能说几个Spring5的新特性吗?
6.IOC?
7.什么是依赖注入?
8.IOC注入哪几种方式?
9.10C优点?缺点?
10.bean的生命周期?
11.Spring有几种配置方式?
12.Spring中的bean有几种scope?
13.什么是AOP(面向切面编程)?
14.切面有几种类型的通知?分别是?
15.什么是连接点(Join point)?
16.什么是切点(Pointcut)?
17.什么是切面(Aspect)?
18.织入(Weaving)?
19.引入(Introduction) ?
20.在目标对象的生命周期里有多个点可以进行织入?
21.AOP动态代理策略?
22.什么是MVC框架?
23.什么是SpringMVC?
24.SpringMVC的核心?
25.SpringMVC的几个组件?
26.SpringMVC工作流程?
27.SpringMVC的优点?
28.单例bean是线程安全的吗?
29.Spring从哪两个角度实现自动装配?
30.自动装配有几种方式?分别是?
31.说几个声明Bean的注解?
Mybatis
1.什么是Mybatis?
2.Hibernate优点?
3.Hibernate缺点?
4.Mybatis优点?
5.Mybatis缺点?
6.什么时候用Mybatis?
7.Mybatis的核心组件有哪些?分别是?
8.#0和$0的区别是什么?
9.Mybatis中9个动态标签是?
8.#0和$0的区别是什
10.xml映射文件中,有哪些标签?
11.Mybatis支持注解吗?优点?缺点?
12.Mybatis动态sq|?
13.Mybatis是如何进行分页的分页播件的原理是什么?
14.,如何获取自增主键?
15.为什么Mapper接口没有实现类,却能被正常调用?
16.用注解好还是xml好?
17.如果不想手动指定别名,如何用驼峰的形式自动映射?
18.当实体属性名和表中字段不一致,怎么办?
19.嵌套查询用什么标签?
20.like模糊查询怎么写?
21.Mybatis支持枚举吗?
22.SqlSessionFactoryBuilder生命周期?
23.-级缓存的结构?如何开启一级缓存? 如何不使用一-级缓存?
24.二级缓存如何配置?
25.简述Mybatis的插件运行原理,以及如何编写-个插件?
26.二级缓存的回收策略有哪些?
27.Mybatis的Xml文件中id可以重复吗?
28.和Mybatis措配java框架中比较好用的缓存框架?有哪些特点?
Redis
1.Redis是什么?
2.Redis特性?
3.Redis合适的应用场景?
4.除了Redis你还知道哪些NoSQL数据库?
5.Redis和Memcache区别?
6.Redis的有几种数据类型?
7.Redis有哪些高级功能?
8.安装过Redis吗,简单说下步骤?
9.redis几个比较主要的可执行文件?分别是?
10.启动Redis的几种方式?
11.Redis配置需要自己写?如何配置?
12.Redis客户端命令执行的方式?
13.如何停止redis服务?
14.如何查看当前键是否存在?
15.如何删除数据?
16.redis为什么快?单线程?
17.字符串最大不能超过多少?
18.redis默认分多少个数据库?
19.redis持久化的几种方式?
20.RDB持久化?
21.RDB的持久化是如何触发的?
22.RDB的优点?
23.RDB的缺点?
24.如何禁用持久化?
25.AOF持久化?
26.如何查询AOF是否开启?
27如何开启AOF?
28.AOF工作流程?
29.为什么AOF要先把命令追加到缓存区(aof _buf)中?
30.AOF持久化如何触发的?
31.AOF优点?
32.AOF缺点?
SpringBoot
1.什么是SpringBoot?
2.SpringBoot的特征?
3.如何快速构建一个SpringBoot项目?
4.SpringBoot启动类注解?它是由哪些注解组成?
5.什么是yaml?
6.SpringBoot支持配置文件的格式?
7.SpringBoot启动方式?
8.SpringBoot需要独立的容器运行?
9.SpringBoot配置途径?
10.application.properties和application.yml文件可放位置?优先级?
11.SpringBoot自动配置原理?
12.SpringBoot热部署方式?
13.bootstrap.yml和application.yml?
14.SpringBoot如何修改端口号?
15.开启SpringBoot特性的几种方式?
16.SpringBoot如何兼容Spring项目?
17.SpringBoot配置监控?
18.获得Bean装配报告信息访问哪个端点?
19.关闭应用程序访问哪个端点?
20.查看发布应用信息访问哪个端点?
21.针对请求访问的几个组合注解?
22.SpringBoot中的starter?
23.SpringBoot集成Mybatis?
24.什么是SpringProfiles?
25.不同的环境的配置文件?
26.如何激活某个环境的配置?
27编写测试用例的注解?
28.SpringBoot异常处理相关注解?
29.SpringBoot 1.x和2.x区别…
30.SpringBoot读取配置相关注解有?
SpringCloud
1.什么是SpringCloud?
2.什么是微服务?
3.SpringCloud有哪些特征?
4.SpringCloud核心组件?
5.SpringCloud基于什么协议?
6.SpringCloud和Dubbo区别?
7.Eureka是什么?
8.服务治理的基础角色?
9.什么是服务续约?
10.什么是服务下线?
11.什么是失效剔除?
12.什么是自我保护机制?
13.Ribbon是什么?
14.Ribbon负载均衡的注解是?
15.Ribbon负载均衡策略有哪些?
16.什么是服务熔断?
17.什么是服务降级?
18.什么是Hystrix?
19.断路器Hystrix的有哪些功能?
20.Hystrix将远程调用封装到?
21.启动熔断降级服务的注解?
22.什么是Feign?
23.Feign优点?
24.什么是Config?
23…Feign优点?
25.Config组件中的两个角色?
26.什么是Zuul?
27.使用Zuul的优点?
28.Zuul的核心是?
29.Zuul有几种过滤器类型?分别是?
30.什么是Sleuth?
31.Sleuth帮助我们做了哪些工作?
Kafka
1.什么是kafka?
2.kafka的3个关键功能?
3.kafka通常用于两大类应用?
4.kafka特性?
5.kafka的5个核心Api?
6.什么是Broker (代理) ?
7.什么是Producer (生产者) ?
8.什么是Consumer (消费者) ?
9.什么是Topic (主题) ?
10.什么是Partition (分区) ?
11.分区和代理节点的关系?
12.什么是副本(Replication)?
13.什么是记录(Record)?
14.kafka适合哪些场景?
15.kafka磁盘选用上?
16.使用RAID的优势?
17.磁盘容量规划需要考虑到几个因素?
18.Broker使用单个?多个文件目录路径参数?
19.-般来说选择哪个参数配置路径?好处?
20.自动创建主题的相关参数是?
21解决kafka消息丢失问题?
22.如何自定分区策略?
23.kafka压缩消息可能发生的地方?
24.kafka消息重复问题?
25.你知道的kafka监控工具?
总结:心得体会
既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最基本的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最基本的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):