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
11、怎么清屏?怎么退出當前命令?怎么執行睡眠?查看指定幫助用什么命令?
清屏:clear;退出當前命令:ctrl+c 徹底退出;執行睡眠:ctrl+z 掛起當前進程;
查看指定幫助:adduser --help
12、ls 命令執行什么功能?可以帶哪些參數,有什么區別?
ls 執行的功能:列出指定目錄中的目錄,以及文件;
a 所有文件; l 詳細信息,包括大小字節數,可讀可寫可執行的權限等。
13、建立軟鏈接(快捷方式),以及硬鏈接的命令?
軟鏈接:ln -s slink source;
硬鏈接:ln link source;
14、目錄創建用什么命令?創建文件用什么命令?復制文件用什么命令?
創建目錄:mkdir;創建文件:touch;文件權限修改:chmod -R 775 directory 遞歸文件
移動文件:mv;刪除目錄及文件:rm -r rmdir
總結
都已經看到這里啦,趕緊收藏起來,祝您工作順心,生活愉快!