阿里面試題
2. 已知sqrt(2)約等於1.414,要求不用數學庫,求sqrt(2)精確到小數點後10位
3. 給定一個二叉搜索樹(BST),找到樹中第 K 小的節點
5. 關於epoll和select的區別,如下哪些說法是正確的
6. 從innodb的索引結構分析,爲何索引的 key 長度不能太長
8. NFS 和 SMB 是最多見的兩種 NAS(Network Attached Storage)協議,當把一個文件系統同時經過 NFS 和 SMB 協議共享給多個主機訪問時,如下哪些說法是錯誤的
9. 輸入 ping IP 後敲回車,發包前會發生什麼?
10. 請解釋下爲何鹿晗發佈戀情的時候,微博系統會崩潰,如何解決?
11. 現有一批郵件須要發送給訂閱顧客,且有一個集羣(集羣的節點數不定,會動態擴容縮容)來負責具體的郵件發送任務,如何讓系統儘快地完成發送?
12. 有一批氣象觀測站,現須要獲取這些站點的觀測數據,並存儲到 Hive 中。可是氣象局只提供了 api 查詢,每次只能查詢單個觀測點。那麼若是可以方便快速地獲取到全部的觀測點的數據?
15. 請計算XILINX公司VU9P芯片的算力至關於多少TOPS,給出計算過程與公式
16.一顆現代處理器,每秒大概能夠執行多少條簡單的MOV指令,有哪些主要的影響因素
17.請分析 MaxCompute 產品與分佈式技術的關係、當前大數據計算平臺類產品的市場現狀和發展趨勢
18. 對大數據平臺中的元數據管理是怎麼理解的,元數據收集管理體系是怎麼樣的,會對大數據應用有什麼樣的影響
19.你理解常見如阿里,和友商大數據平臺的技術體系差別以及發展趨勢和技術瓶頸,在存儲和計算兩個方面進行概述
20. 在雲計算大數據處理場景中,天天運行着成千上萬的任務,每一個任務都要進行 IO 讀寫。存儲系統爲了更好的服務,常常會保證高優先級的任務優先執行。當多個做業或用戶訪問存儲系統時,如何保證優先級和公平性
22. 給定一個鏈表,刪除鏈表的倒數第N個節點,而且返回鏈表的頭結點
23. 若是讓你設計一個通用的、支持各類數據庫秒級備份和恢復的系統,你會如何設計
24. 若是讓你來設計一個支持數據庫、NOSQL 和大數據之間數據實時流動的數據流及處理的系統,你會考慮哪些問題?如何設計?
25. 給定一個整數數組和一個整數,返回兩個數組的索引,這兩個索引指向的數字的加和等於指定的整數。須要最優的算法,分析算法的空間和時間複雜度
26.假如給你一個新產品,你將從哪些方面來保障它的質量?
(文末有答案領取方式)java
騰訊面試題
1. JAVA中的幾種基本數據類型是什麼,各自佔用多少字節。
3.String,Stringbuffer,StringBuilder的區別。
4. ArrayList和LinkedList有什麼區別。
5. 講講類的實例化順序,好比父類靜態數據,構造函數,字段,子類靜態數據,構造函數,字段,當new的時候,他們的執行順序。
6. 用過哪些Map類,都有什麼區別,HashMap是線程安全的嗎,併發下使用的Map是什麼,他們內部原理分別是什麼,好比存儲方式,hashcode,擴容,默認容量等。
7.JAVA8的ConcurrentHashMap爲何放棄了分段鎖,有什麼問題嗎,若是你來設計,你如何設計。
8. 有沒有有順序的Map實現類,若是有,他們是怎麼保證有序的。
9. 抽象類和接口的區別,類能夠繼承多個類麼,接口能夠繼承多個接口麼,類能夠實現多個接口麼。
11. IO模型有哪些,講講你理解的nio ,他和bio,aio的區別是啥,談談reactor模型。
12. 反射的原理,反射建立類實例的三種方式是什麼。
13. 反射中,Class.forName和ClassLoader區別 。
14.描述動態代理的幾種實現方式,分別說出相應的優缺點。
19.如何在父類中爲子類自動完成全部的hashcode和equals實現?這麼作有何優劣。
20. 請結合OO設計理念,談談訪問修飾符public、private、protected、default在應用設計中的做用。
23. error和exception的區別,CheckedException,RuntimeException的區別。
25. 在本身的代碼中,若是建立一個java.lang.String類,這個類是否能夠被類加載器加載?爲何。
26. 說一說你對java.lang.Object對象中hashCode和equals方法的理解。在什麼場景下須要從新實現這兩個方法。
27.在jdk1.5中,引入了泛型,泛型的存在是用來解決什麼問題。
28. 這樣的a.hashcode() 有什麼用,與a.equals(b)有什麼關係。
29. 有沒有可能2個不相等的對象有相同的hashcode。
30. Java中的HashSet內部是如何工做的。
31.什麼是序列化,怎麼序列化,爲何序列化,反序列化會遇到什麼問題,如何解決。
34. JVM的內存結構,Eden和Survivor比例。
35. JVM內存爲何要分紅新生代,老年代,持久代。新生代中爲何要分爲Eden和Survivor。
36.JVM中一次完整的GC流程是怎樣的,對象如何晉升到老年代,說說你知道的幾種主要的JVM參數。
37.你知道哪幾種垃圾收集器,各自的優缺點,重點講下cms和G1,包括原理,流程,優缺點。
40.JVM內存模型的相關知識瞭解多少,好比重排序,內存屏障,happen-before,主內存,工做內存等。
41.簡單說說你瞭解的類加載器,能夠打破雙親委派麼,怎麼打破。
44.g1和cms區別,吞吐量優先和響應優先的垃圾收集器選擇。
46. 簡單講講tomcat結構,以及其類加載器流程,線程模型等。
52. Spring怎麼配置事務(具體說出一些關鍵的xml 元素)。
53 說說你對Spring的理解,非單例注入的原理?它的生命週期?循環注入的原理,aop的實現原理,說說aop中的幾個術語,它們是怎麼相互工做的。
54. Springmvc 中DispatcherServlet初始化過程。
55. netty的線程模型,netty如何基於reactor模型上實現的。
58.netty的fashwheeltimer的用法,實現原理,是否出現過調用不夠準時,怎麼解決。
61. springmvc用到的註解,做用是什麼,原理。
63. Linux系統下你關注過哪些內核參數,說說你知道的。
64. Linux下IO模型有幾種,各自的含義是什麼。
百度面試題
1.在函數內定義一個字符數組,用gets函數輸入字符串的時候,若是輸入越界,爲何程序會崩潰?
4. 快速排序的思想、時間複雜度、實現以及優化方法
15. 兩條相交的單向鏈表,如何求他們的第一個公共節點?
18. new/delete和malloc/free的底層實現?
19.overload、override、overwrite的介紹?
24. 二分圖應用於最佳匹配問題(遊客對房間的滿意度之和最大問題)
28.實現一個函數,對一個正整數n,算獲得1須要的最少操做次數。操做規則爲:若是n爲偶數,將其除以2;若是n爲奇數,能夠加1或減1;一直處理下去。
30. 一個大的含有50M個URL的記錄,一個小的含有500個URL的記錄,找出兩個記錄裏相同的URL
31.海量日誌數據,提取出某日訪問百度次數最多的那個IP
32. 有10個文件,每一個文件1G,每一個文件的每一行都存放的是用戶的query,每一個文件的query均可能重複。如何按照query的頻度排序?
34. 當在瀏覽器中輸入一個url後回車,後臺發生了什麼?好比輸入url後,你看到了百度的首頁,那麼這一切是如何發生的呢?
35. 判斷兩棵樹是否相等,請實現兩棵樹是否相等的比較,相等返回1,不然返回其餘值,並說明算法複雜度
38. 如何找出字典中的兄弟單詞。給定一個單詞a,若是經過交換單詞中字母的順序能夠獲得另外的單詞b,那麼定義b是a的兄弟單詞。如今給定一個字典,用戶輸入一個單詞,如何根據字典找出這個單詞有多少個兄弟單詞?
39. 找出數組中出現次數超過一半的數,如今有一個數組,已知一個數出現的次數超過了一半,請用O(n)的複雜度的算法找出這個數。
41. 設計DNS服務器中cache的數據結構。要求設計一個DNS的Cache結構,要求可以知足每秒5000以上的查詢,知足IP數據的快速插入,查詢的速度要快。(題目還給出了一系列的數據,好比:站點數總共爲5000萬,IP地址有1000萬,等等)
43. 找出第k大的數字所在的位置。寫一段程序,找出數組中第k大小的數,輸出數所在的位置。例如{2,4,3,4,7}中,第一大的數是7,位置在4。第二大、第三大的數都是4,位置在一、3隨便輸出哪個都可。
44. 給40億個不重複的unsigned int的整數,沒排過序的,而後再給幾個數,如何快速判斷這幾個數是否在那40億個數當中?
45. 在一個文件中有10G個整數,亂序排列,要求找出中位數。內存限制爲2G。
46. 時分秒針在一天之類重合多少次?(24小時)
48. 平面內有11個點,由它們連成48條不一樣的直線,由這些點可連成多少個三角形?
今日頭條面試題
1.我的去一個海島尋寶,最後一共找到了100枚金幣。他們約定了一個分配方案。
2. 給你一個有序整數數組,數組中的數能夠是正數、負數、零,請實現一個函數,這個函數返回一個整數:返回這個數組全部數的平方值中有多少種不一樣的取值。
3. 一個環有10個節點,編號0-9。從0點出發,走N步又能回到0點,共有多少種走法?
4. 一個亂序數組,求第K大的數。排序方式使用字典序。
5. 一棵二叉樹,求最大通路長度。(即最大左右子樹高度之和)
7. go協程的調度方式,使用協程真的能節省時間?
8. 水平觸發邊沿觸發的區別?在邊沿觸發下,一個socket有500的數據,已讀取200而後再也不處理,是否是剩下的300就永遠沒法讀取?
10 設計http協議,A端發送 AAAA,至少讓B端知道AAAA已發送完成。
11. 流量總入口爲api_gateway,api_gateway掛了會致使所有掛掛,用什麼機制增大可用性?
12. mysql爲何要用b+樹,不用平衡二叉樹作索引結構?
14. 使用int 作primary key和使用string 有什麼優劣?
16. 表結構,訂單紀錄以下,寫一個語句,求賣的最好的 top 10 product_id。
17. 微服務,A服務請求B服務B1接口,B1接口又請求A服務A2接口。會不會有問題?
18.不使用高級工具,只使用Linux自帶的工具,你會如何debug?
20.go函數中,返回值未命名,發生了panic,可是在函數內recover了。函數返回什麼值?
21. socket中,在tcp協議層面,數據分爲10個報文發放。1-7次很順利,第8次丟失。此次通訊必定失敗嗎?若是第8次數據會重發,那在接收端是否是:先讀取到1-7次的數據,而後讀取到8-10次的數據?仍是9-10次的數據會先到達?
22. free -h,buffers 和cached有什麼不一樣
23. 後臺進程有什麼特色,若是要你設計一個進程是後臺進程,你會考慮什麼
24.殭屍進程是什麼,若是產生一個殭屍進程,如何查找殭屍進程
26.一個進程有20個線程,在某個線程中調用fork,新的進程會有20個線程嗎?
28. 301/302有什麼區別?應用上有什麼異同。
30. close wait和time wait是什麼?如何排查?有什麼意義?
33. 假如一個業務依賴單點redis,此redis故障將致使業務不可用,如何改進
34. 當大量數據要求用redis保存,單機單點難以知足須要,設計(換尋找)一個負載均衡的方案
36. 當redis 採用hash作sharding,如今有8個節點,負載方案是 pos = hash(key) % 8,而後保存在pos節點上。這樣作有什麼好處壞處?當8個節點要擴充到10個節點,應該怎麼辦?有什麼更方便擴充的方案嗎?(一致性hash, presharding)
37. 如何保證redis和數據庫數據的一致性。好比用戶名既保存在數據庫,又保存在redis作緩存。有以下操做 update_db(username); update_redis(username)。可是執行update_db後故障,update_redis沒有執行。有什麼簡單辦法解決這個問題。
最後
歡迎你們關注個人公衆號【程序員追風】,文章都會在裏面更新,整理的資料也會放在裏面。