Java基礎(chǔ)
進(jìn)程和線程的區(qū)別;
Java的并發(fā)、多線程、線程模型;
什么是線程池,如何使用?
數(shù)據(jù)一致性如何保證;Synchronized關(guān)鍵字,類鎖,方法鎖,重入鎖;
Java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么;
如何將一個(gè)Java對(duì)象序列化到文件里;
說說你對(duì)Java反射的理解;
同步的方法;多進(jìn)程開發(fā)以及多進(jìn)程應(yīng)用場景;
在Java中wait和seelp方法的不同;
synchronized 和volatile 關(guān)鍵字的作用;
服務(wù)器只提供數(shù)據(jù)接收接口,在多線程或多進(jìn)程條件下,如何保證數(shù)據(jù)的有序到達(dá);
抽象類與接口的區(qū)別;應(yīng)用場景;抽象類是否可以沒有方法和屬性;
靜態(tài)屬性和靜態(tài)方法是否可以被繼承?是否可以被重寫?以及原因?
修改對(duì)象A的equals方法的簽名,那么使用HashMap存放這個(gè)對(duì)象實(shí)例的時(shí)候,會(huì)調(diào)用哪個(gè)equals方法;
說說你對(duì)泛型的了解;
Java的異常體系;
如何控制某個(gè)方法允許并發(fā)訪問線程的個(gè)數(shù);
動(dòng)態(tài)代理的區(qū)別,什么場景使用;
Dex加載過程和優(yōu)化方式;
Jvm和Gc機(jī)制;
常用的設(shè)計(jì)模式。
數(shù)據(jù)結(jié)構(gòu)與算法
堆和棧在內(nèi)存中的區(qū)別是什么(數(shù)據(jù)結(jié)構(gòu)方面以及實(shí)際實(shí)現(xiàn)方面);
最快的排序算法是哪個(gè)?給阿里2萬多名員工按年齡排序應(yīng)該選擇哪個(gè)算法?堆和樹的區(qū)別;寫出快排代碼;鏈表逆序代碼;
求1000以內(nèi)的水仙花數(shù)以及40億以內(nèi)的水仙花數(shù);
子串包含問題(KMP 算法)寫代碼實(shí)現(xiàn);
萬億級(jí)別的兩個(gè)URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應(yīng)用層面對(duì)尋址的優(yōu)化)
蟻群算法與蒙特卡洛算法;
寫出你所知道的排序算法及時(shí)空復(fù)雜度,穩(wěn)定性;
百度POI中如何試下查找最近的商家功能(坐標(biāo)鏡像+R樹)。
遍歷二叉樹
自己集合實(shí)現(xiàn)一個(gè)隊(duì)列
自己實(shí)現(xiàn)線程安全類
快速排序和冒泡的排序,怎么轉(zhuǎn)換一下。
其它
死鎖的四個(gè)必要條件;
常見編碼方式;utf-8編碼中的中文占幾個(gè)字節(jié);int型幾個(gè)字節(jié);
實(shí)現(xiàn)一個(gè)Json解析器(可以通過正則提高速度);
MVC MVP MVVM; 常見的設(shè)計(jì)模式;寫出觀察者模式的代碼;
TCP的3次握手和四次揮手;TCP與UDP的區(qū)別;
HTTP協(xié)議;HTTP1.0與2.0的區(qū)別;HTTP報(bào)文結(jié)構(gòu);
HTTP與HTTPS的區(qū)別以及如何實(shí)現(xiàn)安全性;
都使用過哪些框架、平臺(tái);
都使用過哪些自定義控件;
介紹你做過的哪些項(xiàng)目;
非技術(shù)問題匯總
研究比較深入的領(lǐng)域有哪些;
對(duì)業(yè)內(nèi)信息的關(guān)注渠道有哪些;
自己最擅長的技術(shù)點(diǎn),最感興趣的技術(shù)領(lǐng)域和技術(shù)點(diǎn);
項(xiàng)目中用了哪些開源庫,如何避免因?yàn)橐腴_源庫而導(dǎo)致的安全性和穩(wěn)定性問題;
時(shí)針走一圈,時(shí)針分針重合幾次;
現(xiàn)在下載速度很慢,試從網(wǎng)絡(luò)協(xié)議的角度分析原因,并優(yōu)化(網(wǎng)絡(luò)的5層都可以涉及)。
經(jīng)驗(yàn)
阿里

阿里針對(duì)大部分校招的普通人來說,一面只會(huì)放出M1級(jí)別的,對(duì)應(yīng)到P6,問你點(diǎn)基礎(chǔ)知識(shí),二面可能是M2級(jí)別的也就是P7、P8的樣子,運(yùn)氣好的遇到跟你談?wù)勅松務(wù)劼殬I(yè)規(guī)劃什么的,運(yùn)氣不好的遇到那種下面帶幾個(gè)team還成天看技術(shù)blog的就問你點(diǎn)比較新鮮的知識(shí)或者是比較基礎(chǔ)但是冷門的那種知識(shí),所以平時(shí)沒事看點(diǎn)跨領(lǐng)域的博客、看點(diǎn)經(jīng)典名著防防身還是很必要的,經(jīng)歷了一整天枯燥無味的面試突然碰到一個(gè)眼前一亮的絕對(duì)是一個(gè)加分項(xiàng)。
騰訊

騰訊的話也是類似的道理,校招一面放出的是各個(gè)有headcount的leader,T3.1到T3.3不等,幾個(gè)一面面試官對(duì)應(yīng)一個(gè)二面面試官,后者是前面那幾個(gè)的老大。像鵝廠這樣的公司的是:
業(yè)務(wù)領(lǐng)域跨的特別廣。電商、SNS、普通的C/S軟件、游戲、各種App。
一面面試官直接對(duì)面試者負(fù)責(zé)。換句話說,通過你就意味著他要直接當(dāng)你老大。
一面完全是隨便分的,你投的感興趣事業(yè)是互娛,但是分到的可能是SNG的某款社交產(chǎn)品的程序組老大面你,所以你的面試官不一定對(duì)得上的你background。
應(yīng)該做哪些準(zhǔn)備,才擁有進(jìn)入BAT研發(fā)部門的資格?







Java高級(jí)架構(gòu)二群688583154
進(jìn)群:可以領(lǐng)取免費(fèi)的架構(gòu)師學(xué)習(xí)資料。
進(jìn)群:了解最新的學(xué)習(xí)知識(shí)點(diǎn)
進(jìn)群:了解最新的阿里,京東招聘資訊
進(jìn)群:獲取更多的面試資料
力口君羊:上圖圖頂水印