程序員對Linux系統應該都有所耳聞,但是,許多程序員剛從大學畢業(yè)或已經工作了幾年, 仍然沒有學Linux。 我個人認為Linux系統應該是程序員必需的專業(yè)技能。 如果您在面試中或在工作中,了解Linux的人會有優(yōu)勢。 今天,我將分享一些有關Linux面試的常見問題。
Linux面試題:
1、請問Linux系統中比較常見命令是?
修改文件vi創(chuàng)建文件touch filename cat > filename查找日志cat xx.log | grep 'xxx' | more刪除文件rm -rf查看端口進程netstat -nlp | grep :3306 kill pid解壓命令tar.gz tar -xzvf file.tar.gz
2、你是如何查找一個Java線程的資源耗用呢?
jps -lvm或者可以ps -ef | grep java查看當前機器上運行的Java程序員應用進行了jstack java應用進行ID | grep 線程ID的16進制top -Hp pid可以查看進程Java所有線程的資源耗用3、說一下Load過高的可能性有哪些?
對于cpu load的飆升,有可能就是和full gc的次數增大有關,還有就是可能和死循環(huán)有關。
4、如果你發(fā)現硬盤空間不夠,你是怎么快速找出占用空間最大的文件?
我們可以使用find -ytpe f -size +100M | xargs du -h | sort -nr5、硬鏈接和軟鏈接有何區(qū)別?
硬鏈接:加入我們刪除一個硬鏈接文件并不影響其他有相同文件inode號的文件,不能對目錄進行創(chuàng)建,只能對文件創(chuàng)建的。軟鏈接:刪除軟連接并不影響被指定向的文件,但是我們刪除被指向文件,則相關軟鏈接就為死鏈接了,可以對目錄和文件夾使用。
6、你是如何排查Java線上服務問題?
查看日志工具more或者less還有查看最新內容tail -f filenamejvm常用的jps -v | grep keyword死鎖常用的jps -v和jstack -l pid線程block和線程數暴漲使用jstack -l pid | wc -l





