最新2020整理收集的一線網際網路公司面試真題(都整理成檔案),有很多幹貨,包含netty,spring,執行緒,spring
cloud等詳細講解,也有詳細的學習規劃圖,面試題整理等,我感覺在面試這塊講的非常清楚:獲取面試資料只需:點選這裡領取!!!
暗號:CSDN
(文末有答案領取方式)
Java基礎
1.JAVA中的幾種基本資料型別是什麼,各自佔用多少位元組
2. String類能被繼承嗎,為什麼
3. .String,Stringbuffer,StringBuilder的區別
4. ArrayList和LinkedList有什麼區別。
5. 講講類的範例化順序,比如父類別靜態資料,建構函式,欄位,子類靜態資料,建構函式,欄位,當new的時候,他們的執行順序。
6. 用過哪些Map類,都有什麼區別,HashMap是執行緒安全的嗎,並行下使用的Map是什麼,他們內部原理分別是什麼,比如儲存方式,hashcode,擴容,預設容量等。
7. JAVA8的ConcurrentHashMap為什麼放棄了分段鎖,有什麼問題嗎,如果你來設計,你如何設計。
8. 有沒有有順序的Map實現類,如果有,他們是怎麼保證有序的。
9. 抽象類和介面的區別,類可以繼承多個類麼,介面可以繼承多個介面麼,類可以實現多個介面麼。
10. 繼承和聚合的區別在哪。
11. IO模型有哪些,講講你理解的nio ,他和bio,aio的區別是啥,談談reactor模型。
12. 反射的原理,反射建立類範例的三種方式是什麼。
13. 反射中,Class.forName和ClassLoader區別 。
14. 描述動態代理的幾種實現方式,分別說出相應的優缺點。
15. 動態代理與cglib實現的區別。
16. 為什麼CGlib方式可以對介面實現代理。
17. final的用途。
18.寫出三種單例模式實現 。
19.如何在父類別中為子類自動完成所有的hashcode和equals實現?這麼做有何優劣。
18. 請結合OO設計理念,談談存取修飾符public、private、protected、default在應用設計中的作用。
19. 深拷貝和淺拷貝區別。
22.陣列和連結串列資料結構描述,各自的時間複雜度。
20. error和exception的區別,CheckedException,RuntimeException的區別。
21. 請列出5個執行時異常。
22.在自己的程式碼中,如果建立一個java.lang.String類,這個類是否可以被類載入器載入?為什麼。
23. 說一說你對java.lang.Object物件中hashCode和equals方法的理解。在什麼場景下需要重新實現這兩個方法。
24.在jdk1.5中,引入了泛型,泛型的存在是用來解決什麼問題。
25. 這樣的a.hashcode() 有什麼用,與a.equals(b)有什麼關係。
26.有沒有可能2個不相等的物件有相同的hashcode。
27. Java中的HashSet內部是如何工作的。
28.什麼是序列化,怎麼序列化,為什麼序列化,反序列化會遇到什麼問題,如何解決。
29.java8的新特性。
33.什麼情況下會發生棧記憶體溢位。
34. JVM的記憶體結構,Eden和Survivor比例。
35. JVM記憶體為什麼要分成新生代,老年代,持久代。新生代中為什麼要分為Eden和Survivor。
36.JVM中一次完整的GC流程是怎樣的,物件如何晉升到老年代,說說你知道的幾種主要的JVM引數。
37.你知道哪幾種垃圾收集器,各自的優缺點,重點講下cms和G1,包括原理,流程,優缺點。
38. 垃圾回收演演算法的實現原理。
39. 當出現了記憶體溢位,你怎麼排錯。
40…JVM記憶體模型的相關知識瞭解多少,比如重排序,記憶體屏障,happen-before,主記憶體,工作記憶體等
41. 簡單說說你瞭解的類載入器,可以打破雙親委派麼,怎麼打破。
42. 講講JAVA的反射機制。
43.你們線上應用的JVM引數有哪些。
44.g1和cms區別,吞吐量優先和響應優先的垃圾收集器選擇。
45. 怎麼打出執行緒棧資訊。
1.在函數內定義一個字元陣列,用gets函數輸入字串的時候,如果輸入越界,為什麼程式會崩潰2.C++中參照與指標的區別
3.C/C++程式的記憶體分割區
4.快速排序的思想、時間複雜度、實現以及優化方法
5.IO模型——IO多路複用機制?
6. 常用的Linux命令
7. 7. C中變數的儲存型別有哪些?
8. 8. 動態規劃的本質
9. 9. 實踐中如何優化MySQL?
10. 10. 什麼情況下設定了索引但無法使用?
11. 11. SQL語句的優化
12. 12. 資料庫索引的底層實現原理和優化
13. 13. HTTP和HTTPS的主要區別?
14. 14. 如何設計一個高並行的系統?
15. 15. 兩條相交的單向連結串列,如何求他們的第一個公共節點?
16. 16. 求單向區域性迴圈連結串列的環入口?
17. 17. IP地址如何在資料庫中儲存?
18. 18. new/delete和malloc/free的底層實現?
19. 19.overload、override、overwrite的介紹?
20. 20.小端/大端機器?
21. 21. 守護行程
22. 22. 多執行緒的優缺點
23. 23. 長連線與短連線
24. 24. 二分圖應用於最佳匹配問題(遊客對房間的滿意度之和最大問題)
25. 25. class與struct的區別?
26. 26. 虛擬函式和純虛擬函式
27. 27. menset()函數
28. 28.實現一個函數,對一個正整數n,算得到1需要的最少操作次數。操作規則為:如果n為偶數,將其除以2;如果n為奇數,可以加1或減1;一直處理下去。
29. 29. 找到滿足條件的陣列
30. 30. 一個大的含有50M個URL的記錄,一個小的含有500個URL的記錄,找出兩個記錄裡相同的URL
31. 31.海量紀錄檔資料,提取出某日存取百度次數最多的那個IP32. 有10個檔案,每個檔案1G,每個檔案的每一行都存放的是使用者的query,每個檔案的query都可能重複。如何按照query的頻度排序?
32. 33. 螞蟻爬杆問題
33. 34. 當在瀏覽器中輸入一個url後回車,後臺發生了什麼?比如輸入url後,你看到了百度的首頁,那麼這一切是如何發生的呢?
34. 35. 判斷兩棵樹是否相等,請實現兩棵樹是否相等的比較,相等返回1,否則返回其他值,並說明演演算法複雜度
35. 36.三個警察和三個囚徒的過河問題
36. 37. 從300萬字串中找到最熱門的10條
37. 38. 如何找出字典中的兄弟單詞。給定一個單詞a,如果通過交換單詞中字母的順序可以得到另外的單詞b,那麼定義b是a的兄弟單詞。現在給定一個字典,使用者輸入一個單詞,如何根據字典找出這個單詞有多少個兄弟單詞?
38. 39. 找出陣列中出現次數超過一半的數,現在有一個陣列,已知一個數出現的次數超過了一半,請用O(n)的複雜度的演演算法找出這個數。
39. 40. 找出被修改過的數位
40. 41. 設計DNS伺服器中cache的資料結構。要求設計一個DNS的Cache結構,要求能夠滿足每秒5000以上的查詢,滿足IP資料的快速插入,查詢的速度要快。(題目還給出了一系列的資料,比如:站點數總共為5000萬,IP地址有1000萬,等等)
41. 42. 找出給定字串對應的序號
42. 43. 找出第k大的數位所在的位置。寫一段程式,找出陣列中第k大小的數,輸出數所在的位置。例如{2,4,3,4,7}中,第一大的數是7,位置在4。第二大、第三大的數都是4,位置在1、3隨便輸出哪一個均可。
43. 44. 給40億個不重複的unsigned int的整數,沒排過序的,然後再給幾個數,如何快速判斷這幾個數是否在那40億個數當中?
44. 45. 在一個檔案中有10G個整數,亂序排列,要求找出中位數。記憶體限制為2G。
45. 46. 時分秒針在一天之類重合多少次?(24小時)
46. 47. 將多個集合合併成沒有交集的集合。48. 平面內有11個點,由它們連成
47. 48條不同的直線,由這些點可連成多少個三角形?
1.個人去一個海島尋寶,最後一共找到了100枚金幣。他們約定了一個分配方案。
2. 給你一個有序整數陣列,陣列中的數可以是正數、負數、零,請實現一個函數,這個函數返回一個整數:返回這個陣列所有數的平方值中有多少種不同的取值。
3. 3. 一個環有10個節點,編號0-9。從0點出發,走N步又能回到0點,共有多少種走法?
4. 4. 一個亂序陣列,求第K大的數。排序方式使用字典序。
5. 5. 一棵二元樹,求最大通路長度。(即最大左右子樹高度之和)
6. 6. 程序和執行緒的區別,使用執行緒真的能節省時間?
7. 7. go協程的排程方式,使用協程真的能節省時間?
8. 8. 水平觸發邊沿觸發的區別?在邊沿觸發下,一個socket有500的資料,已讀取200然後不再處理,是不是剩下的300就永遠無法讀取?
9. 9.有函數如下,輸入1,返回什麼?
10. 10 設計http協定,A端傳送 AAAA,至少讓B端知道AAAA已傳送完成。
11. 11. 流量總入口為api_gateway,api_gateway掛了會導致全部掛掛,用什麼機制增大可用性?
12. 12. mysql為什麼要用b+樹,不用平衡二元樹做索引結構?
13… 建立資料庫索引應該怎麼考慮?
13. 使用int 做primary key和使用string 有什麼優劣?
14. 15. 資料庫分表的方法?
15. 16. 表結構,訂單紀錄如下,寫一個語句,求賣的最好的 top 10 product_id。
16. 17. 微服務,A服務請求B服務B1介面,B1介面又請求A服務A2介面。會不會有問題?
17. 18.不使用高階工具,只使用Linux自帶的工具,你會如何debug?
18. 19. 如何預估一個mysql語句的效能?
19. 20.go函數中,返回值未命名,發生了panic,但是在函數內recover了。函數返回什麼值?
20. 21. socket中,在tcp協定層面,資料分為10個報文發放。1-7次很順利,第8次丟失。這次通訊一定失敗嗎?如果第8次資料會重發,那在接收端是不是:先讀取到1-7次的資料,然後讀取到8-10次的資料?還是9-10次的資料會先到達?
21. 22. free -h,buffers 和cached有什麼不同
22. 23. 後臺程序有什麼特點,如果要你設計一個程序是後臺程序,你會考慮什麼
23. 24.殭屍程序是什麼,如果產生一個殭屍程序,如何查詢殭屍程序
24. 25.孤兒程序是什麼
25. 26.一個程序有20個執行緒,在某個執行緒中呼叫fork,新的程序會有20個執行緒嗎?
26. 27. tcp/ip 流量控制和擁塞控制
27. 28. 301/302有什麼區別?應用上有什麼異同。
28. 29. 50X相關錯誤碼的內涵是什麼?
29. 30. close wait和time wait是什麼?如何排查?有什麼意義?
30. 31. http req和resp的中資料有哪些
31. 32. 什麼是連線的半開啟,半關閉狀態
32. 33. 假如一個業務依賴單點redis,此redis故障將導致業務不可用,如何改進
33. 34. redis sharding有哪些做法
34. 34. 當大量資料要求用redis儲存,單機單點難以滿足需要,設計(換尋找)一個負載均衡的方案
35. 36. 當redis 採用hash做sharding,現在有8個節點,負載方案是 pos = hash(key) % 8,然後儲存在pos節點上。這樣做有什麼好處壞處?當8個節點要擴充到10個節點,應該怎麼辦?有什麼更方便擴充的方案嗎?(一致性hash, presharding)
36. 37. 如何保證redis和資料庫資料的一致性。比如使用者名稱既儲存在資料庫,又儲存在redis做快取。有如下操作 update_db(username); update_redis(username)。但是執行update_db後故障,update_redis沒有執行。有什麼簡單辦法解決這個問題。
最新2020整理收集的一線網際網路公司面試真題(都整理成檔案),有很多幹貨,包含netty,spring,執行緒,spring
cloud等詳細講解,也有詳細的學習規劃圖,面試題整理等,我感覺在面試這塊講的非常清楚:獲取面試資料只需:點選這裡領取!!!
暗號:CSDN