Java ElasticSearch-Linux面试题
- 前言
- 1、守护线程的作用?
- 2、链路追踪Skywalking用过吗?
- 3、你对G1收集器了解吗?
- 4、你们项目用的什么垃圾收集器?
- 5、内存溢出和内存泄露的区别?
- 6、什么是Spring Cloud Bus?
- 7、SpringCloud Config 可以实现实时刷新吗?
- 8、什么是Spring Cloud?
- 9、Springcloud核⼼组件及其⼯作原理?
- Linux
- 10、怎么查看当前进程?怎么执行退出?怎么查看当前路径?
- 11、怎么清屏?怎么退出当前命令?怎么执行睡眠?查看指定帮助用什么命令?
- 12、ls 命令执行什么功能?可以带哪些参数,有什么区别?
- 13、建立软链接(快捷方式),以及硬链接的命令?
- 14、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
- 总结
前言
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
1、守护线程的作用?
- 1.java提供了两种类型的线程:用户线程和守护线程。
用户线程是优先级高线程,守护线程是低优先级线程,其作用是为用户线程提供服务; - 2.如果用户线程已经全部退出运行,只剩下守护线程,那么JVM就会退出;
- 3.不能把正在运行的线程设置为守护线程。
守护线程的作用:为其他线程的运行提供便利服务,守护线程最典型的应用就是GC。
2、链路追踪Skywalking用过吗?
- 用过Skywalking,分布式链路追踪的基本原理就是在分布式应用的接口方法上设置一些观察点(类似快递中转站记录点),然后在入口节点给每个请求分配一个全局唯一的标识 TraceId(类似快递单号),当请求流经这些观察点时就会记录一行对应的链路日志(包含链路唯一标识,接口名称,时间戳,主机信息等),最后通过 TraceId 将一次请求的所有链路日志进行组装,就可以还原出该次请求的链路轨迹。
skywalking具有直观的Web界面,方便用户查看和分析监测信息。
3、你对G1收集器了解吗?
- 在JDK9后,默认的垃圾收集器为G1,CMS垃圾收集器仍然可以被使用,但是已经不推荐使用了;
- G1垃圾收集器将堆内存划分为多个大小相等的独立内存区域,这种单独的内存区域称为Region,可以通过 MaxGCPauseTime(默认200ms)控制最大回收时间,提高系统响应时间,系统吞吐量。
4、你们项目用的什么垃圾收集器?
用的jdk1.8版本,收集器是CMS+parNew,–Xms 2g ,-Xmx 2g ,-Xss 512k的设置, -Xmn 和-Xmx一版设置成一样大,避免内存动态扩展震荡,导致多发生一些不必要gc问题,用CMS,会有内存碎片化问题,可以通过参数设置开启内存碎片化整理,多少次fullgc后整理一次碎片。
5、内存溢出和内存泄露的区别?
- 内存溢出:指程序申请内存时,没有足够的内存供申请者使用,导致数据无法正常存储到内存中。比如查询整个表数据不分页直接放到List集合中,如果条数过多会导致内存溢出。
- 内存泄漏:是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收,由于系统中的内存是有限的,长久以往会造成内存溢出。比如使用字节字符流后没有在 finally 中释放资源。
6、什么是Spring Cloud Bus?
用于传播集群状态变化的消息总线,使用轻量级消息代理链接分布式系统中的节点,可以用来动态刷新集群中的服务配置。
7、SpringCloud Config 可以实现实时刷新吗?
Springcloud config实时刷新采用SpringCloud Bus消息总线。
8、什么是Spring Cloud?
Spring cloud 是一系列框架的有序集合。它利用 Spring boot的开发便利性,简化了分布式系统基础设施的开发,比如服务中心、负载均衡、服务调用、断路器、网关服务等,都可以用 SpringBoot 的开发风格做到一键启动和部署。
9、Springcloud核⼼组件及其⼯作原理?
- 1、Eureka服务中心:服务治理组件,包括服务端的注册中心和客户端的服务发现机制(类似于zookeeper / nacos);
- 2、Ribbon负载均衡:具有多种负载均衡调用策略(类似于Nginx)
- 3、Feign服务调用:底层依赖于Java的动态代理机制,对原生Socket或者HttpClient进行封装,实现了基于Http协议的RPC调用(类似于Dubbo)
- 4、Hystrix熔断器:服务容错组件,实现了断路器模式。发起请求是通过Hystrix的线程池来⾛的,不同的服务⾛不同的线程池,实现了不同服务调⽤的隔离,避免了服务雪崩的问题(类似于Sentinel)
- 5、Zuul网关:对请求提供路由转发及过滤功能(类似于gateway)
Linux
10、怎么查看当前进程?怎么执行退出?怎么查看当前路径?
查看当前进程:ps ;执行退出:exit;查看当前路径:pwd
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK