2017年終鉅獻阿里、騰訊最新Java程序員面試題,準備好進BAT了嗎

Java基礎

進程和線程的區別;java

Java的併發、多線程、線程模型;面試

什麼是線程池,如何使用?算法

數據一致性如何保證;Synchronized關鍵字,類鎖,方法鎖,重入鎖;設計模式

Java中實現多態的機制是什麼;安全

如何將一個Java對象序列化到文件裏;性能優化

說說你對Java反射的理解;服務器

同步的方法;多進程開發以及多進程應用場景;網絡

在Java中wait和seelp方法的不一樣;數據結構

synchronized 和volatile 關鍵字的做用;多線程

服務器只提供數據接收接口,在多線程或多進程條件下,如何保證數據的有序到達;

抽象類與接口的區別;應用場景;抽象類是否能夠沒有方法和屬性;

靜態屬性和靜態方法是否能夠被繼承?是否能夠被重寫?以及緣由?

修改對象A的equals方法的簽名,那麼使用HashMap存放這個對象實例的時候,會調用哪一個equals方法;

說說你對泛型的瞭解;

Java的異常體系;

如何控制某個方法容許併發訪問線程的個數;

動態代理的區別,什麼場景使用;

Dex加載過程和優化方式;

Jvm和Gc機制;

經常使用的設計模式。

數據結構與算法

堆和棧在內存中的區別是什麼(數據結構方面以及實際實現方面);

最快的排序算法是哪一個?給阿里2萬多名員工按年齡排序應該選擇哪一個算法?堆和樹的區別;寫出快排代碼;鏈表逆序代碼;

求1000之內的水仙花數以及40億之內的水仙花數;

子串包含問題(KMP 算法)寫代碼實現;

萬億級別的兩個URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應用層面對尋址的優化)

蟻羣算法與蒙特卡洛算法;

寫出你所知道的排序算法及時空複雜度,穩定性;

百度POI中如何試下查找最近的商家功能(座標鏡像+R樹)。

遍歷二叉樹

本身集合實現一個隊列

本身實現線程安全類

快速排序和冒泡的排序,怎麼轉換一下。

其它

死鎖的四個必要條件;

常見編碼方式;utf-8編碼中的中文佔幾個字節;int型幾個字節;

實現一個Json解析器(能夠經過正則提升速度);

MVC MVP MVVM; 常見的設計模式;寫出觀察者模式的代碼;

TCP的3次握手和四次揮手;TCP與UDP的區別;

HTTP協議;HTTP1.0與2.0的區別;HTTP報文結構;

HTTP與HTTPS的區別以及如何實現安全性;

都使用過哪些框架、平臺;

都使用過哪些自定義控件;

介紹你作過的哪些項目;

非技術問題彙總

研究比較深刻的領域有哪些;

對業內信息的關注渠道有哪些;

本身最擅長的技術點,最感興趣的技術領域和技術點;

項目中用了哪些開源庫,如何避免由於引入開源庫而致使的安全性和穩定性問題;

時針走一圈,時針分針重合幾回;

如今下載速度很慢,試從網絡協議的角度分析緣由,並優化(網絡的5層均可以涉及)。

java交流羣669823128

經驗

阿里

阿里巴巴

阿里針對大部分校招的普通人來講,一面只會放出M1級別的,對應到P6,問你點基礎知識,二面多是M2級別的也就是P七、P8的樣子,運氣好的遇到跟你談談人生談談職業規劃什麼的,運氣很差的遇到那種下面帶幾個team還整天看技術blog的就問你點比較新鮮的知識或者是比較基礎可是冷門的那種知識,因此平時沒事看點跨領域的博客、看點經典名著防防身仍是很必要的,經歷了一成天枯燥無味的面試忽然碰到一個眼前一亮的絕對是一個加分項。

騰訊

tx

騰訊的話也是相似的道理,校招一面放出的是各個有headcount的leader,T3.1到T3.3不等,幾個一面面試官對應一個二面面試官,後者是前面那幾個的老大。像鵝廠這樣的公司的是:

業務領域跨的特別廣。電商、SNS、普通的C/S軟件、遊戲、各類App。

一面面試官直接對面試者負責。換句話說,經過你就意味着他要直接當你老大。

一面徹底是隨便分的,你投的感興趣事業是互娛,可是分到的多是SNG的某款社交產品的程序組老大面你,因此你的面試官不必定對得上的你background。

應該作哪些準備,才擁有進入BAT研發部門的資格?

電商項目實戰

分佈式專題

工程化專題

微服務架構專題

性能優化

源碼分析專題

java學習羣669823128

相關文章
相關標籤/搜索