互聯網公司面試問題總結之linux和多線程、併發

二、Linux

1Linux/etc/下有那些配置文件,有什麼作用?resolve.conf是用來做什麼的。

2如果修改Linux下網卡配置在哪修改?有沒有用過iptable

3Linux5個運行級別,你知道麼?( Ps這裏是面試官下的坑,實際有7個運行級別 )

4內核態與用戶態的區別?從用戶態切換到內核態有哪幾種方式?

5、(1Linux下如何檢測內存泄露?如何檢測程序crash

   2Linux檢測內存泄露?

   3如何查看內存使用情況

   4Linux 查看有幾個多大的內存條組成

6Linuxswap區作用?

7一個有n行的文件,隨機選m行?如何選?

8Linux查看文件的磁盤空間,監控進程cpu,內存使用率

9Linux的找到目錄中cpp文件?如何找文件中一變量?

10瞭解哪些開源項目?redis,mysql有多少了解?

11Linux編程中的鎖有哪些?

12Linux環境變量的配置

13Linux定時任務

14設計一個QQ羣,如何存儲羣裏的發送消息?

15兩個很大的文件,去匹配相同的數據行

16Linux的重定向

17linux查詢java進程

18linux查看內存佔用情況

19Linux下 給定一個文件,裏面存放的是IP地址,統計各個IP地址出現的次數

20Linux(查看指定進程)

21Linux下如何進行進程調度

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)生產者模式和消費者模式怎麼實現

12Thread狀態有哪些

13sleepwait區別

14Synchronizedlock區別

15垃圾回收器G1,我只說了CMS

16一般線程和守護線程的區別

17java如何實現線程安全,synchronizedlock的區別,可重入鎖

18用過多線程嗎?介紹一下線程池

19java鎖機制

20java線程安全都體現在哪些方面,如果維護線程安全

21java線程阻塞調用wait函數和sleep區別和聯繫,還有函數yieldnotify等的作用。

22、重入鎖、對象鎖、類鎖的關係

23java中多線程機制,實現多線程的兩種方式(繼承Thread類和實現Runnable接口)的區別和聯繫。

24java中的同步機制,synchronized關鍵字,鎖(重入鎖)機制,其他解決同步的方volatile關鍵字ThreadLocal類的實現原理要懂。

 25、哪些方法實現線程安全。
        synchronizedreentrantlockvolatile,然後重點說了下volatile在某些情況下可以實現線程安全,然後就把面試官注意力往volatile上引,因爲volatile這個專門看了一下,果然,面試官馬上問了volatile

26  1volatile有什麼用

    2volatile實現原理之類
 27volatile是實現了什麼功能呢?
        然後就把自己看得亂扯了一通,比如volatile修飾彙編時會在修飾字段前加LOCK字段啊,內存屏障啥啥啥的扯了一通,就是想讓面試官覺得對某些方面瞭解還是蠻深的。

28、多線程與多線程的實現方式

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章