二、Linux
1、Linux下/etc/下有那些配置文件,有什麼作用?resolve.conf是用來做什麼的。
2、如果修改Linux下網卡配置在哪修改?有沒有用過iptable?
3、Linux有5個運行級別,你知道麼?( Ps這裏是面試官下的坑,實際有7個運行級別 )
4、內核態與用戶態的區別?從用戶態切換到內核態有哪幾種方式?
5、(1)Linux下如何檢測內存泄露?如何檢測程序crash?
(2)Linux檢測內存泄露?
(3)如何查看內存使用情況
(4)Linux 查看有幾個多大的內存條組成
6、Linux下swap區作用?
7、一個有n行的文件,隨機選m行?如何選?
8、Linux查看文件的磁盤空間,監控進程cpu,內存使用率
9、Linux的找到目錄中cpp文件?如何找文件中一變量?
10、瞭解哪些開源項目?redis,mysql有多少了解?
11、Linux編程中的鎖有哪些?
12、Linux環境變量的配置
13、Linux定時任務
14、設計一個QQ羣,如何存儲羣裏的發送消息?
15、兩個很大的文件,去匹配相同的數據行
16、Linux的重定向
17、linux查詢java進程
18、linux查看內存佔用情況
19、Linux下 給定一個文件,裏面存放的是IP地址,統計各個IP地址出現的次數
20、Linux(查看指定進程)
21、Linux下如何進行進程調度
22【重點】、你常用Linux命令(awk sed grep telnet netstate tcpdump top ps perf) 如果不會 就少說點,問的很深,比如讓你 文本按列排序 還有正則grep 很雜的。
用AWK 對一個文本第一列分組,第二列組內排序 (需要你對AWK編程很熟才行。正常人一般也不會用這麼用AWK,正常做法一般先sort 然後grep - -)
三、多線程和併發
1、進程請求資源死鎖,如何在編程上防止死鎖?
2、手寫singleton。如何避免多線程同步問題?
3、進程通信的方式有哪幾種?那種的效率會更好?爲什麼?
4、考慮如何設計一個高併發量高吞吐量的服務器?如果是分佈式的怎麼設計?
5、自旋鎖與互斥鎖區別
6、進程IPC方式
7、線程與進程區別與聯繫?爲什麼進程切換代價比線程高
8、有沒有聽過協程
9、說說死鎖吧,怎麼檢測死鎖?
10、手寫觀察者模式(語言任意選)
11、(1)手寫生產者消費者模式
(2)生產者模式和消費者模式怎麼實現
12、Thread狀態有哪些
13、sleep和wait區別
14、Synchronized和lock區別
15、垃圾回收器G1,我只說了CMS
16、一般線程和守護線程的區別
17、java如何實現線程安全,synchronized和lock的區別,可重入鎖
18、用過多線程嗎?介紹一下線程池
19、java鎖機制
20、java線程安全都體現在哪些方面,如果維護線程安全
21、java線程阻塞調用wait函數和sleep區別和聯繫,還有函數yield,notify等的作用。
22、重入鎖、對象鎖、類鎖的關係
23、java中多線程機制,實現多線程的兩種方式(繼承Thread類和實現Runnable接口)的區別和聯繫。
24、java中的同步機制,synchronized關鍵字,鎖(重入鎖)機制,其他解決同步的方volatile關鍵字ThreadLocal類的實現原理要懂。
25、哪些方法實現線程安全。
synchronized,reentrantlock,volatile,然後重點說了下volatile在某些情況下可以實現線程安全,然後就把面試官注意力往volatile上引,因爲volatile這個專門看了一下,果然,面試官馬上問了volatile。
26 (1)volatile有什麼用
(2)volatile實現原理之類
27、volatile是實現了什麼功能呢?
然後就把自己看得亂扯了一通,比如volatile修飾彙編時會在修飾字段前加LOCK字段啊,內存屏障啥啥啥的扯了一通,就是想讓面試官覺得對某些方面瞭解還是蠻深的。
28、多線程與多線程的實現方式