2017阿里,百度,京東java面試+筆試大合集,2018的你會嗎?
2017阿里,百度,京東java面試+筆試大合集

1、阿里
面試(一二面合集)
1、介紹一下你自己。
2、介紹一下你認為做的最好的一個專案。
3、請用五分鐘的時間把你做的專案的流程圖畫一下。
4、專案中你遇到的難點是什麼?怎麼解決的?
5、專案中你認為哪個技術是你最拿手的?
6、介紹一下HTTP協議
7、如何把一個大的日誌檔案雜湊到不同的雜湊表中,這些雜湊表的儲存格式是什麼?
8、linux網路程式設計,畫一個c/s通訊的流程
9、多執行緒瞭解多少,做過的專案中有沒有用到過?
10、描述一下動態規劃的思想
11、快排。
12、記憶體分配方式有哪幾種?程式碼段放在哪個記憶體區?static int a[1024][1024][1024]放在哪個區?會不會有異常?
13、如何表示圖?
14、如何驗證圖的連通性?
15、對網際網路的業務和技術是否關注?
筆試
第一道:
對於給定的整數集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都屬於S。集合的元素個數小於等於2000個,元素的取值範圍在[ ],假定可用記憶體空間為100MB,硬碟使用空間無限大,試分析時間和空間複雜度,找出最快的解決方法。
阿里巴巴第二道(研發類)
原題大致描述有一大批資料,百萬級別的。資料項內容是:使用者ID、科目ABC各自的成績。其中使用者ID為0~1000萬之間,且是連續的,可以唯一標識一條記錄。科目ABC成績均在0~100之間。有兩塊磁碟,空間大小均為512M,記憶體空間64M。
1) 為實現快速查詢某使用者ID對應的各科成績,問磁碟檔案及記憶體該如何組織;
2) 改變題目條件,ID為0~10億之間,且不連續。問磁碟檔案及記憶體該如何組織;
3) 在問題2的基礎上,增加一個需求。在查詢各科成績的同時,獲取該使用者的排名,問磁碟檔案及記憶體該如何組織。
如果想學習Java工程化、高效能及分散式、高效能、深入淺出。效能調優、Spring,MyBatis,Netty原始碼分析的朋友可以加我的Java進階群,680130298,群裡有阿里大牛直播講解技術,以及Java大型網際網路技術的視訊免費分享給大家。
2、京東
1、Dubbo超時重試;Dubbo超時時間設定
2、如何保障請求執行順序
3、分散式事物與分散式鎖(扣款不要出現負數)
4、分散式session設定
5、執行某操作,前50次成功,第51次失敗a全部回滾b前50次提交第51次拋異常,ab場景分別如何設定Spring(傳播性)
6、Zookeeper有哪些用
7、JVM記憶體模型
8、資料庫垂直和水平拆分
9、MyBatis如何分頁;如何設定快取;SQL/">MySQL分頁
11、分散式session一致性
12、分散式介面的冪等性設計「不能重複扣款」
筆試




3、百度
自我介紹
1、Java中的多型
2、Object類下的方法
3、Finalize的作用和使用場景
4、Hashcode和equals
5、為什麼要同時重寫hashcode和equals
6、不同時重寫會出現哪些問題
7、Hashmap的原理
8、Hashmap如何變執行緒安全,每種方式的優缺點
9、垃圾回收機制
10、Jvm的引數你知道的說一下
11、設計模式瞭解的說一下啊
12、手撕一個單例模式
13、快速排序的思想講一下
14、給個數組,模擬快排的過程
15、手寫快排
16、設計題,一個圖書館管理系統,資料庫怎麼設計,需求自己定
筆試
簡答題1
一個單詞單詞字母交換,可得另一個單詞,如army->mary,成為兄弟單詞。提供一個單詞,在字典中找到它的兄弟。描述資料結構和查詢過程。
簡答題2
執行緒和程序區別和聯絡。什麼是“執行緒安全”
簡答題3
C和C++怎樣分配和釋放記憶體,區別是什麼
演算法題1
一個url指向的頁面裡面有另一個url,最終有一個url指向之前出現過的url或空,這兩種情形都定義為null。這樣構成一個單鏈表。給兩條這樣單鏈表,判斷裡面是否存在同樣的url。url以億級計,資源不足以hash。
演算法題2
陣列al[0,mid-1] 和 al[mid,num-1],都分別有序。將其merge成有序陣列al[0,num-1],要求空間複雜度O(1)
系統設計題
百度搜索框的suggestion,比如輸入北京,搜尋框下面會以北京為字首,展示“北京愛情故事”、“北京公交”、“北京醫院”等等搜尋詞。
如何設計使得空間和時間複雜度儘量低。
總結
以上是面試的經驗以及學習的方面,分享給大家,希望大家可以瞭解什麼是大型網際網路名企面試題。覺得收穫的話可以點個關注收藏轉發一波喔,謝謝大佬們支援!!
